diff options
author | Anna “CyberTailor” <cyber@sysrq.in> | 2022-02-23 04:07:59 +0500 |
---|---|---|
committer | Anna “CyberTailor” <cyber@sysrq.in> | 2022-02-27 10:01:50 +0500 |
commit | e18a4ac147a417991e91a6c30c355c23ba78b5ae (patch) | |
tree | 6f674e9ea2d243d0ed533ef49ed3dec505ff0447 /.gitlab-ci.yml | |
parent | 01ae5b56e8399d29aa18605dc9add913d84dc553 (diff) | |
download | snowflake-e18a4ac147a417991e91a6c30c355c23ba78b5ae.tar.gz snowflake-e18a4ac147a417991e91a6c30c355c23ba78b5ae.zip |
Generate tarballs in release CI
The `generate_tarball` job vendors all Go modules to make packaging for
distributions easier.
Diffstat (limited to '.gitlab-ci.yml')
-rw-r--r-- | .gitlab-ci.yml | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5ec32fd..2ef29ef 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -166,3 +166,40 @@ debian-testing: <<: *test-template script: - *go-test + +generate_tarball: + stage: deploy + image: golang:1.17-stretch + rules: + - if: $CI_COMMIT_TAG + script: + - go mod vendor + - tar czf ${CI_PROJECT_NAME}-${CI_COMMIT_TAG#v}.tar.gz --transform "s,^,${CI_PROJECT_NAME}-${CI_COMMIT_TAG#v}/," * + after_script: + - echo TAR_JOB_ID=$CI_JOB_ID >> generate_tarball.env + artifacts: + paths: + - ${CI_PROJECT_NAME}-${CI_COMMIT_TAG#v}.tar.gz + reports: + dotenv: generate_tarball.env + +release-job: + stage: deploy + image: registry.gitlab.com/gitlab-org/release-cli:latest + rules: + - if: $CI_COMMIT_TAG + needs: + - job: generate_tarball + artifacts: true + script: + - echo "running release_job" + release: + name: 'Release $CI_COMMIT_TAG' + description: 'Created using the release-cli' + tag_name: '$CI_COMMIT_TAG' + ref: '$CI_COMMIT_TAG' + assets: + links: + - name: '${CI_PROJECT_NAME}-${CI_COMMIT_TAG#v}.tar.gz' + url: '${CI_PROJECT_URL}/-/jobs/${TAR_JOB_ID}/artifacts/file/${CI_PROJECT_NAME}-${CI_COMMIT_TAG#v}.tar.gz' + |