aboutsummaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
diff options
context:
space:
mode:
authorAnna “CyberTailor” <cyber@sysrq.in>2022-02-23 04:07:59 +0500
committerAnna “CyberTailor” <cyber@sysrq.in>2022-02-27 10:01:50 +0500
commite18a4ac147a417991e91a6c30c355c23ba78b5ae (patch)
tree6f674e9ea2d243d0ed533ef49ed3dec505ff0447 /.gitlab-ci.yml
parent01ae5b56e8399d29aa18605dc9add913d84dc553 (diff)
downloadsnowflake-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.yml37
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'
+