update pipeline

This commit is contained in:
Penelope Gwen 2024-04-24 21:00:50 -06:00
parent 5886efb0eb
commit b4a62f2f37

View file

@ -5,17 +5,67 @@ before_script:
# Defines stages which are to be executed
stages:
- build
- upload
- release
.setup_script: &setup_scripts
- apt-get -y install rustup libdbus-glib-1-dev
- rustup default stable
- cargo install cargo-deb
# Stage "build"
run-build:
stage: build
.compile: &compile
stage: compile
rules:
- if: $VERSION
script:
- apt-get -y install rustup libdbus-glib-1-dev
- rustup default stable
- cargo install cargo-deb
- mkdir ./build;cargo deb --output ./build
# The files which are to be made available in GitLab
- *setup_scripts
- mkdir -p ./build;cargo deb --output ./build
artifacts:
paths:
- build/*
untracked: true
build:x86_64:
<<: *compile
stage: build
tags:
- x86_64
build:aarch64:
<<: *compile
stage: build
tags:
- aarch64
upload:
stage: upload
dependencies:
- build:x86_64
- build:aarch64
rules:
- if: $VERSION
script:
- find ./build -name "*.deb"
- debs=( $( find ./build -name "*.deb" ) )
- assets=""
- for d in ${debs[@]};do
- file=$( basename ${d} )
- url="${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/batalert/${VERSION}/${file}"
- assets="${assets} --assets-link {\"name\":\"${file}\",\"url\":\"${url}\",\"link_type\":\"other\"} "
- "curl --header \"JOB-TOKEN: $CI_JOB_TOKEN\" --upload-file \"${d}\" \"${url}\""
- done
- echo "ASSETS_ARG=${assets}" >> assets.env
artifacts:
reports:
dotenv: assets.env
release:
stage: release
image: registry.gitlab.com/gitlab-org/release-cli:latest
rules:
- if: $VERSION
script:
- echo "making release!"
- echo ${ASSETS_ARG}
- release-cli create --name "Release ${VERSION}" --tag-name "${VERSION}" ${ASSETS_ARG}