From 1dce5880f3d0ef57da249bca83b8784816571d31 Mon Sep 17 00:00:00 2001 From: MrMeeb Date: Thu, 30 May 2024 20:55:47 +0000 Subject: [PATCH] Move to Feature Branch Workflow [skip ci] (#23) Change branch method for [Feature Branch](https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow) workflow. Gitflow workflow is overkill for my needs. Reviewed-on: https://git.mrmeeb.stream/MrMeeb/certbot-cron-docker/pulls/23 Co-authored-by: MrMeeb Co-committed-by: MrMeeb --- .gitea/workflows/build-develop.yaml | 88 ----------------------------- README.md | 7 +-- 2 files changed, 3 insertions(+), 92 deletions(-) delete mode 100644 .gitea/workflows/build-develop.yaml diff --git a/.gitea/workflows/build-develop.yaml b/.gitea/workflows/build-develop.yaml deleted file mode 100644 index 20aea31..0000000 --- a/.gitea/workflows/build-develop.yaml +++ /dev/null @@ -1,88 +0,0 @@ -name: Build Image -on: - push: - branches: - - 'develop' - -env: - TEST_TAG: mrmeeb/certbot-cron:test - FULL_TAG: git.mrmeeb.stream/mrmeeb/certbot-cron:develop - -jobs: - "Validate Image": - runs-on: [ubuntu-docker-latest, linux/amd64] - steps: - - name: Build locally - uses: docker/build-push-action@v5 - with: - load: true - tags: ${{ env.TEST_TAG }} - provenance: false - - name: Test certificate issuing - id: test - run: | - # First create a volume - docker volume create ${{ gitea.sha }} && \ - # Then issue a certificate - docker run --rm -v ${{ gitea.sha }}:/config -e STAGING=true -e EMAIL=${{ secrets.EMAIL }} -e DOMAINS=${{ gitea.sha }}.mrmeeb.stream -e PLUGIN=cloudflare -e CLOUDFLARE_TOKEN=${{ secrets.CLOUDFLARE_TOKEN }} -e ONE_SHOT=true -e GENERATE_DHPARAM=false ${{ env.TEST_TAG }} && \ - # Then revoke it again - docker run --rm --entrypoint "/usr/bin/certbot" -v ${{ gitea.sha }}:/config ${{ env.TEST_TAG }} revoke --non-interactive --agree-tos --email ${{ secrets.EMAIL }} --staging --config-dir /config/letsencrypt --work-dir /config/.tmp --logs-dir /config/logs --cert-path /config/letsencrypt/live/${{ gitea.sha }}.mrmeeb.stream/fullchain.pem - - name: Tidy up - if: always() - run: | - echo "Removing docker volume ${{ gitea.sha }}" && \ - docker volume rm ${{ gitea.sha }} - - name: Test Failure - uses: rjstone/discord-webhook-notify@v1 - if: failure() - with: - severity: error - details: Test Failed! - webhookUrl: ${{ secrets.DISCORD_WEBHOOK }} - username: Gitea - avatarUrl: ${{ vars.RUNNER_ICON_URL }} - - "Publish Image": - runs-on: [ubuntu-docker-latest, linux/amd64] - needs: ["Validate Image"] - steps: - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - name: Login to Gitea Container Registry - uses: docker/login-action@v3 - with: - registry: git.mrmeeb.stream - username: ${{ env.GITHUB_ACTOR }} - password: ${{ secrets.GTCR_TOKEN }} - - name: Build and push - uses: docker/build-push-action@v5 - with: - push: true - platforms: linux/amd64,linux/arm64 - tags: ${{ env.FULL_TAG }} - provenance: false - - name: Build Failure - uses: rjstone/discord-webhook-notify@v1 - if: failure() - with: - severity: error - details: Build Failed! - webhookUrl: ${{ secrets.DISCORD_WEBHOOK }} - username: Gitea - avatarUrl: ${{ vars.RUNNER_ICON_URL }} - - "Notify": - runs-on: [ubuntu-docker-latest, linux/amd64] - needs: ["Validate Image", "Publish Image"] - steps: - - name: Notify of success - uses: rjstone/discord-webhook-notify@v1 - if: success() - with: - severity: info - details: Build succeeded! - webhookUrl: ${{ secrets.DISCORD_WEBHOOK }} - username: Gitea - avatarUrl: ${{ vars.RUNNER_ICON_URL }} \ No newline at end of file diff --git a/README.md b/README.md index 25c3564..a0032d8 100644 --- a/README.md +++ b/README.md @@ -4,10 +4,9 @@ Dockerised Certbot that utilises cron to schedule creating and renewing SSL cert ## Tags -|Tag |Description| -|-------|-----------| -|latest |Latest image built from the main branch. Usually coincides with a tagged release.| -|develop|Latest image built from the develop branch. Commits are made to the develop branch before being merged to main. Old versions of `develop` are removed after 14 days.| +I use the [Feature Branch](https://www.atlassian.com/git/tutorials/comparing-workflows/feature-branch-workflow) workflow. The `latest` tag contains all of the latest changes that have been merged from individual feature branches. Feature branches are squashed into `master`. + +Pinned releases are created by creating a tag off `master` to capture the repo in a particular state. They are recommended for stability. ## Running