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.12 }
|
|
- { project: fsrvcorp/templates, file: templates/release/semver.yml, ref: 1.0.12 }
|
|
|
|
packages:
|
|
stage: release
|
|
image: goreleaser/goreleaser@sha256:c5c07c3c3d8f50d027845b34791d41ff30901bfee52b2d2dcee5533a32840282
|
|
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:a8560b36e8b8210634f77d9f7f9efd7ffa463e380b75e2e74aff4511df3ef88c
|
|
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
|