From 77fb81934282525cab6116c62bdc8b931dc8c0f5 Mon Sep 17 00:00:00 2001 From: Aaron Guise Date: Tue, 2 Apr 2024 14:00:21 +1300 Subject: [PATCH] fix(ci): Added semrelease and Woodpecker config :wrench: --- .release.yml | 21 ++++------ .woodpecker.yml | 106 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 115 insertions(+), 12 deletions(-) create mode 100644 .woodpecker.yml diff --git a/.release.yml b/.release.yml index b0a3fcd..61f3852 100644 --- a/.release.yml +++ b/.release.yml @@ -1,14 +1,17 @@ -release: "github" +release: "gitea" github: repo: "go-semantic-release" - user: "nightapes" + user: "cybercinch" + url: "https://hub.cybercinch.nz" commitFormat: angular branch: master: release - beta: beta + develop: beta assets: - name: ./build/go-semantic-release.linux_x86_64 compress: true + - name: ./build/go-semantic-release.linux_arm64 + compress: true - name: ./build/go-semantic-release.windows_i386.exe compress: true - name: ./build/go-semantic-release.windows_x86_64.exe @@ -18,15 +21,9 @@ assets: changelog: docker: latest: true - repository: "nightapes/go-semantic-release" + repository: "cybercinch/go-semantic-release" showAuthors: true hooks: - preRelease: - - docker build -t nightapes/go-semantic-release:latest . - - docker tag nightapes/go-semantic-release:latest docker.pkg.github.com/nightapes/go-semantic-release/go-semantic-release:$RELEASE_VERSION - - docker tag nightapes/go-semantic-release:latest nightapes/go-semantic-release:$RELEASE_VERSION - postRelease: - - docker push nightapes/go-semantic-release:latest - - docker push nightapes/go-semantic-release:$RELEASE_VERSION - - docker push docker.pkg.github.com/nightapes/go-semantic-release/go-semantic-release:$RELEASE_VERSION + preRelease: [] + postRelease: [] diff --git a/.woodpecker.yml b/.woodpecker.yml new file mode 100644 index 0000000..ef8cdb3 --- /dev/null +++ b/.woodpecker.yml @@ -0,0 +1,106 @@ +variables: + - &platforms 'linux/arm/v7,linux/arm64/v8,linux/amd64' + - &docker_creds + username: + from_secret: hub_username_cybercinch + password: + from_secret: docker_password_cybercinch + - &pypi_creds + username: + from_secret: hub_username_cybercinch + password: + from_secret: docker_password_cybercinch + +steps: + build-release: + image: docker.io/cybercinch/go-semrelease:golang1.20 + pull: true + commands: + - > + GOOS=linux + GOARCH=amd64 + CGO_ENABLED=0 + go build -o build/go-semantic-release.linux_x86_64 -ldflags "-w -s --X main.version=`go-semantic-release next`" + ./cmd/go-semantic-release/ + - > + GOOS=linux + GOARCH=arm64 + CGO_ENABLED=0 + go build -o build/go-semantic-release.linux_arm64 -ldflags "-w -s --X main.version=`go-semantic-release next`" + ./cmd/go-semantic-release/ + - > + GOOS=windows + GOARCH=386 + CGO_ENABLED=0 + go build -o build/go-semantic-release.windows_i386.exe -ldflags "-w -s -X main.version=`go-semantic-release next`" + ./cmd/go-semantic-release/ + - > + GOOS=windows + GOARCH=amd64 + CGO_ENABLED=0 + go build -o build/go-semantic-release.windows_x86_64.exe -ldflags "-w -s -X main.version=`go-semantic-release next`" + ./cmd/go-semantic-release/ + - > + GOOS=darwin + GOARCH=amd64 + CGO_ENABLED=0 + go build -o build/go-semantic-release.darwin_x86_64 -ldflags "-w -s -X main.version=`go-semantic-release next`" + ./cmd/go-semantic-release/ + - go-semantic-release release # Actually make the release on Gitea. Uploading assets + environment: + GITEA_TOKEN: + from_secret: gitea_token + when: + branch: ${CI_REPO_DEFAULT_BRANCH} + event: + - push + - manual + + publish-docker-tagged: + image: docker.io/cybercinch/woodpecker-plugin-depot + pull: true + settings: + <<: *docker_creds + token: + from_secret: depot_token + repohost: hub.cybercinch.nz + repo: cybercinch/${CI_REPO_NAME} + project: + from_secret: depot_project + dockerfile: Dockerfile + push: true + platforms: *platforms + tags: ["latest", "$CI_COMMIT_TAG"] + when: + branch: ${CI_REPO_DEFAULT_BRANCH} + event: + - tag + update-swarm-service-portainer: + image: docker.io/plugins/webhook + settings: + urls: + from_secret: deploy_url + method: POST + when: + branch: ${CI_REPO_DEFAULT_BRANCH} + + publish-docker-develop: + image: docker.io/cybercinch/woodpecker-plugin-depot + pull: true + settings: + <<: *docker_creds + token: + from_secret: depot_token + repohost: hub.cybercinch.nz + repo: cybercinch/${CI_REPO_NAME} + project: + from_secret: depot_project + dockerfile: Dockerfile + push: true + platforms: *platforms + tags: ["develop"] + when: + branch: develop + event: + - push + - manual