48 lines
1.2 KiB
YAML
48 lines
1.2 KiB
YAML
---
|
|
stages:
|
|
- test
|
|
- release
|
|
|
|
.go_template_defaults:
|
|
stage: test
|
|
.semver_template_defaults:
|
|
stage: release
|
|
include:
|
|
- { project: fsrvcorp/templates, file: templates/language/go.yml, ref: 1.0.15 }
|
|
- { project: fsrvcorp/templates, file: templates/release/semver.yml, ref: 1.0.15 }
|
|
|
|
packages:
|
|
stage: release
|
|
image: goreleaser/goreleaser@sha256:579eee23514fa647adcc669b5875f866f1c1faf5a0464aec4614a9121684c06c
|
|
script:
|
|
- git reset --hard $CI_COMMIT_SHA
|
|
- git clean -ffdx
|
|
- |
|
|
if [ -n "$CI_COMMIT_TAG" ]; then
|
|
goreleaser release --skip publish --clean
|
|
else
|
|
goreleaser release --skip publish --clean --snapshot
|
|
fi
|
|
artifacts:
|
|
paths:
|
|
- dist/*.deb
|
|
expire_in: 1 week
|
|
|
|
deb mirror:
|
|
stage: release
|
|
image: alpine@sha256:5b10f432ef3da1b8d4c7eb6c487f2f5a8f096bc91145e68878dd4a5019afde11
|
|
only:
|
|
- tags
|
|
dependencies:
|
|
- packages
|
|
needs:
|
|
- packages
|
|
before_script:
|
|
- apk add --no-cache ca-certificates curl
|
|
script:
|
|
- |
|
|
for file in dist/*.deb; do
|
|
URL="$(curl --upload-file ${file} https://t.fsrv.xyz)"
|
|
curl -X POST --fail -F token=$CI_JOB_TOKEN -F "variables[PACKAGE_URL]=${URL}" -F ref=main https://ref.ci/api/v4/projects/185/trigger/pipeline
|
|
done
|