diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 07b1f61..5f2ee24 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -5,10 +5,13 @@ image: alpine:edge variables: GOFLAGS: "-buildvcs=false" + PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/mkinitfs-vendor-${CI_COMMIT_TAG}/${CI_COMMIT_TAG}" stages: - lint - build + - vendor + - release # defaults for "only" # We need to run the CI jobs in a "merge request specific context", if CI is @@ -34,3 +37,27 @@ build: - make artifacts: expire_in: 1 week + +vendor: + stage: vendor + image: alpine:latest + only: + - tags + before_script: + - apk -q add curl go make + script: + - | + make VERSION="${CI_COMMIT_TAG}" vendor + curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file "mkinitfs-vendor-${CI_COMMIT_TAG}.tar.gz" "${PACKAGE_REGISTRY_URL}/" + curl --header "JOB-TOKEN: ${CI_JOB_TOKEN}" --upload-file "mkinitfs-vendor-${CI_COMMIT_TAG}.tar.gz.sha512" "${PACKAGE_REGISTRY_URL}/" + +release: + stage: release + image: registry.gitlab.com/gitlab-org/release-cli:latest + only: + - tags + script: + - | + release-cli create --name "Release $CI_COMMIT_TAG" --tag-name $CI_COMMIT_TAG \ + --assets-link "{\"name\":\"mkinitfs-vendor-${CI_COMMIT_TAG}.tar.gz\",\"url\":\"${PACKAGE_REGISTRY_URL}/mkinitfs-vendor-${CI_COMMIT_TAG}.tar.gz\"}" \ + --assets-link "{\"name\":\"mkinitfs-vendor-${CI_COMMIT_TAG}.tar.gz.sha512\",\"url\":\"${PACKAGE_REGISTRY_URL}/mkinitfs-vendor-${CI_COMMIT_TAG}.tar.gz.sha512\"}"