Compare commits
2 commits
70460873ac
...
c7f6f45086
Author | SHA1 | Date | |
---|---|---|---|
c7f6f45086 | |||
7d7cd25ecc |
2 changed files with 58 additions and 1 deletions
5
.gitignore
vendored
5
.gitignore
vendored
|
@ -19,7 +19,10 @@
|
||||||
!*.md
|
!*.md
|
||||||
!LICENSE
|
!LICENSE
|
||||||
|
|
||||||
# !Makefile
|
!Makefile
|
||||||
|
|
||||||
|
# Woodpecker CI
|
||||||
|
!.woodpecker/*
|
||||||
|
|
||||||
# ...even if they are in subdirectories
|
# ...even if they are in subdirectories
|
||||||
!*/
|
!*/
|
||||||
|
|
54
.woodpecker/build-and-deploy.yml
Normal file
54
.woodpecker/build-and-deploy.yml
Normal file
|
@ -0,0 +1,54 @@
|
||||||
|
when:
|
||||||
|
event: tag
|
||||||
|
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- GOOS: linux
|
||||||
|
GOARCH: amd64
|
||||||
|
- GOOS: linux
|
||||||
|
GOARCH: arm64
|
||||||
|
|
||||||
|
steps:
|
||||||
|
build:
|
||||||
|
secrets:
|
||||||
|
- FORGEJO_APIKEY # needs write:repository
|
||||||
|
image: golang:1.22-alpine
|
||||||
|
environment:
|
||||||
|
- APP_NAME=mailcow-admin-aliases
|
||||||
|
- FORGE=https://code.lila.network
|
||||||
|
commands:
|
||||||
|
- apk add --update --no-cache xz curl jq
|
||||||
|
- go mod download
|
||||||
|
- go build -o output/$APP_NAME-${CI_COMMIT_TAG##v}-${GOOS}-${GOARCH}${GOARM} main.go
|
||||||
|
- cd output
|
||||||
|
- xz --keep --compress $APP_NAME-${CI_COMMIT_TAG##v}-${GOOS}-${GOARCH}${GOARM}
|
||||||
|
- sha256sum $APP_NAME-${CI_COMMIT_TAG##v}-${GOOS}-${GOARCH}${GOARM} >> $APP_NAME-${CI_COMMIT_TAG##v}-${GOOS}-${GOARCH}${GOARM}.sha256
|
||||||
|
- sha256sum $APP_NAME-${CI_COMMIT_TAG##v}-${GOOS}-${GOARCH}${GOARM}.xz >> $APP_NAME-${CI_COMMIT_TAG##v}-${GOOS}-${GOARCH}${GOARM}.xz.sha256
|
||||||
|
- |-
|
||||||
|
export RELEASE_ID=`curl --location "$FORGE/api/v1/repos/$CI_REPO/releases?limit=10" \
|
||||||
|
--header 'Accept: application/json' -s -S \
|
||||||
|
--fail-with-body | jq -r ".[] | select (.tag_name==\"$CI_COMMIT_TAG\").id"`
|
||||||
|
- |-
|
||||||
|
curl --location "$FORGE/api/v1/repos/$CI_REPO/releases/$RELEASE_ID/assets" \
|
||||||
|
--header "Authorization: token $FORGEJO_APIKEY" \
|
||||||
|
--header 'Content-Type: multipart/form-data' -s -S \
|
||||||
|
--form "attachment=@$APP_NAME-${CI_COMMIT_TAG##v}-${GOOS}-${GOARCH}${GOARM};type=application/octet-stream" \
|
||||||
|
--fail-with-body
|
||||||
|
- |-
|
||||||
|
curl --location "$FORGE/api/v1/repos/$CI_REPO/releases/$RELEASE_ID/assets" \
|
||||||
|
--header "Authorization: token $FORGEJO_APIKEY" \
|
||||||
|
--header 'Content-Type: multipart/form-data' -s -S \
|
||||||
|
--form "attachment=@$APP_NAME-${CI_COMMIT_TAG##v}-${GOOS}-${GOARCH}${GOARM}.xz;type=application/octet-stream" \
|
||||||
|
--fail-with-body
|
||||||
|
- |-
|
||||||
|
curl --location "$FORGE/api/v1/repos/$CI_REPO/releases/$RELEASE_ID/assets" \
|
||||||
|
--header "Authorization: token $FORGEJO_APIKEY" \
|
||||||
|
--header 'Content-Type: multipart/form-data' -s -S \
|
||||||
|
--form "attachment=@$APP_NAME-${CI_COMMIT_TAG##v}-${GOOS}-${GOARCH}${GOARM}.sha256;type=application/octet-stream" \
|
||||||
|
--fail-with-body
|
||||||
|
- |-
|
||||||
|
curl --location "$FORGE/api/v1/repos/$CI_REPO/releases/$RELEASE_ID/assets" \
|
||||||
|
--header "Authorization: token $FORGEJO_APIKEY" \
|
||||||
|
--header 'Content-Type: multipart/form-data' -s -S \
|
||||||
|
--form "attachment=@$APP_NAME-${CI_COMMIT_TAG##v}-${GOOS}-${GOARCH}${GOARM}.xz.sha256;type=application/octet-stream" \
|
||||||
|
--fail-with-body
|
Loading…
Reference in a new issue