From ef0ab15d601ff14e8cbd9d1410bc53f633d63dbf Mon Sep 17 00:00:00 2001 From: Aaron Guise Date: Sun, 9 Jun 2024 23:02:59 +1200 Subject: [PATCH] ci: Added Workflow --- ,github/workflows/ci.yml | 68 ++++++++++++++++++++++++++++++++++++++++ .semrelrc | 22 +++++++++++++ 2 files changed, 90 insertions(+) create mode 100644 ,github/workflows/ci.yml create mode 100644 .semrelrc diff --git a/,github/workflows/ci.yml b/,github/workflows/ci.yml new file mode 100644 index 0000000..a3200ab --- /dev/null +++ b/,github/workflows/ci.yml @@ -0,0 +1,68 @@ +name: CI +on: + push: + branches: + - "**" + tags: + - "!**" + +jobs: + release: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-go@v5 + with: + go-version: '1.22' + - name: Install gitea provider for Go Semantic Release + run: | + mkdir -p .semrel/$(go env GOOS)_$(go env GOARCH)/provider-gitea/${GITEA_PROVIDER_VER}/ && \ + wget https://github.com/cybercinch/go-semantic-release-provider-gitea/releases/download/v${GITEA_PROVIDER_VER}/go-semantic-release-provider-gitea_v${GITEA_PROVIDER_VER}_linux_amd64 \ + -O .semrel/$(go env GOOS)_$(go env GOARCH)/provider-gitea/${GITEA_PROVIDER_VER}/gitea && \ + chmod a+x .semrel/$(go env GOOS)_$(go env GOARCH)/provider-gitea/${GITEA_PROVIDER_VER}/gitea + env: + GITEA_PROVIDER_VER: 1.0.11 + - + name: Set up QEMU + uses: docker/setup-qemu-action@v2 + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + - + name: Login to Container Registry + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Create docker image + uses: go-semantic-release/action@v1 + with: + hooks: exec + custom-arguments: --provider=gitea + env: + GITEA_TOKEN: ${{ secrets.G_TOKEN }} + GITEA_HOST: ${{ vars.G_SERVER_URL}} + + - name: ntfy-success-notifications + uses: niniyas/ntfy-action@master + if: success() + with: + url: '${{ vars.NTFY_URL }}' + topic: 'ci-status' + priority: 4 + tags: +1,partying_face,action,successfully,completed + details: Workflow has been successfully completed! + icon: 'https://styles.redditmedia.com/t5_32uhe/styles/communityIcon_xnt6chtnr2j21.png' + image: true + + - name: ntfy-failed-notifications + uses: niniyas/ntfy-action@master + if: failure() + with: + url: '${{ vars.NTFY_URL }}' + topic: 'ci-status' + priority: 5 + tags: +1,partying_face,action,failed + details: Workflow has failed! + actions: 'default' \ No newline at end of file diff --git a/.semrelrc b/.semrelrc new file mode 100644 index 0000000..6c8a993 --- /dev/null +++ b/.semrelrc @@ -0,0 +1,22 @@ +{ + "plugins": { + "provider": { + "name": "gitea" + }, + "changelog-generator": { + "name": "default", + "options": { + "emojis": "true" + } + }, + "hooks": { + "names": [ + "exec" + ], + "options": { + "exec_on_success": "docker buildx build --progress=plain -t cybercinch/pypi-proxy:v{{.NewRelease.Version}} -t cybercinch/pypi-proxy:latest --push .", + "exec_on_no_release": "echo {{.Reason}}: {{.Message}}" + } + } + } +}