nyxi-installer/.gitlab-ci.yml
2025-04-24 07:19:09 -06:00

49 lines
1.3 KiB
YAML

stages:
- test
- build
- upload
- release
variables:
PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/nyxi-installer/${CI_COMMIT_TAG}"
test:
stage: test
image: rust:latest
before_script:
- apt update -m
- apt install -y libfdisk-dev libclang-19-dev
script:
- cargo test --verbose
build:
stage: build
image: rust:latest
before_script:
- apt update -m
- apt install -y libfdisk-dev libclang-19-dev
script:
- cargo build --release
- mkdir bin
- mv /builds/ahoneybun/nyxi-installer/target/release/nyxi-installer /bin/nyxi-installer
- chmod +x /bin/nyxi-installer
cache:
paths:
- target/release/
artifacts:
paths:
- bin
upload:
stage: upload
image: curlimages/curl:latest
rules:
- if: $CI_COMMIT_TAG
script:
- 'curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file bin/nyxi-installer ${PACKAGE_REGISTRY_URL}/nyxi-installer'
release:
stage: release
image: registry.gitlab.com/gitlab-org/release-cli:latest
script:
- 'release-cli create --name "nyxi-installer" --tag-name "v${MAJOR}.${MINOR}.${REVISION}" --assets-link "{\"name\":\"nyxi-installer\", \"url\":\"${PACKAGE_REGISTRY_URL}/nyxi-installer\"}"'