Skip to content
Snippets Groups Projects

Ingest

All threads resolved!
Merged Ghost User requested to merge ingest into main
All threads resolved!
Compare and Show latest version
3 files
+ 95
8
Compare changes
  • Side-by-side
  • Inline
Files
3
+ 69
8
stages:
- test
- build
- upload
- release
fmt:
stage: test
variables:
BINARY_NAME: "freva-ingest"
VERSION: "${CI_COMMIT_TAG}"
LINUX_AMD64_ZIP: "${BINARY_NAME}-linux-amd64.zip"
PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/freva/${CI_PROJECT_NAME}/${PACKAGE_VERSION}"
default:
image: rust:latest
tags:
- docker, specific
fmt:
stage: test
before_script:
- rustup component add rustfmt
script:
- cargo fmt --check
clippy:
stage: test
image: rust:latest
tags:
- docker, specific
before_script:
- rustup component add clippy
script:
- cargo clippy -- -D warnings
test:
stage: test
image: rust:latest
tags:
- docker, specific
script:
- cargo test
build-linux:
stage: build
script:
- cargo build --release
rules:
- if: $CI_COMMIT_TAG
artifacts:
paths:
- target/release/${BINARY_NAME}
zip:
stage: build
image: alpine:latest
rules:
- if: $CI_COMMIT_TAG
needs:
- build-linux
before_script:
- apk add zip
script:
# prevents these directories from showing up in the resulting zip
- cd target/release
- zip ${LINUX_AMD64_ZIP} ${BINARY_NAME}
- mv ${LINUX_AMD64_ZIP} ../..
artifacts:
paths:
- ${LINUX_AMD64_ZIP}
upload:
stage: upload
image: curlimages/curl:latest
rules:
- if: $CI_COMMIT_TAG
script:
- |
curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" \
--upload-file ${LINUX_AMD64_ZIP} "${PACKAGE_REGISTRY_URL}/${LINUX_AMD64_ZIP}"
release:
stage: release
image: registry.gitlab.com/gitlab-org/release-cli:latest
rules:
- if: $CI_COMMIT_TAG
script:
- |
release-cli create --name "Release $CI_COMMIT_TAG" --tag-name $CI_COMMIT_TAG \
--assets-link "{\
\"name\":\"${LINUX_AMD64_ZIP}\",\
\"url\":\"${PACKAGE_REGISTRY_URL}/${LINUX_AMD64_ZIP}\",\
\"filepath\":\"/binaries/${LINUX_AMD64_ZIP}\"\
}"
Loading