In the process, removed the unused "lint" stage and a massive comment that is no longer useful. The rules should be self-explanatory Part-of: https://gitlab.postmarketos.org/postmarketOS/postmarketos-mkinitfs/-/merge_requests/63
54 lines
1.6 KiB
YAML
54 lines
1.6 KiB
YAML
---
|
|
|
|
# global settings
|
|
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:
|
|
- build
|
|
- vendor
|
|
- release
|
|
|
|
workflow:
|
|
rules:
|
|
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
|
- if: $CI_COMMIT_BRANCH == 'master'
|
|
- if: '$CI_COMMIT_TAG != null'
|
|
|
|
build:
|
|
stage: build
|
|
before_script:
|
|
- apk -q add go staticcheck make scdoc
|
|
script:
|
|
- make test
|
|
- make
|
|
artifacts:
|
|
expire_in: 1 week
|
|
|
|
vendor:
|
|
stage: vendor
|
|
image: alpine:latest
|
|
rules:
|
|
- if: '$CI_COMMIT_TAG != null'
|
|
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
|
|
rules:
|
|
- if: '$CI_COMMIT_TAG != null'
|
|
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\"}"
|