From fb15d59e63f22e02971404da3153d79e3f211f29 Mon Sep 17 00:00:00 2001 From: Alessandro Fael Garcia Date: Wed, 10 Jul 2024 23:54:30 +0200 Subject: [PATCH] feat: Use release drafter --- .github/release-drafter.yml | 118 ++++++++++++++++++++++++++++++++++ .github/release.yml | 33 ---------- .github/workflows/release.yml | 25 +++++++ 3 files changed, 143 insertions(+), 33 deletions(-) create mode 100644 .github/release-drafter.yml delete mode 100644 .github/release.yml create mode 100644 .github/workflows/release.yml diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml new file mode 100644 index 0000000..31e21a9 --- /dev/null +++ b/.github/release-drafter.yml @@ -0,0 +1,118 @@ +--- +name-template: $RESOLVED_VERSION +tag-template: $RESOLVED_VERSION +include-pre-releases: true +# prerelease-identifier: beta # Maybe? +categories: + - title: ๐Ÿ’ฃ Breaking Changes + labels: + - breaking change + - title: ๐Ÿ”” Deprecation Warnings + labels: + - deprecation + - title: ๐Ÿš€ Features + labels: + - enhancement + - title: ๐Ÿ› Bug Fixes + labels: + - bug + - title: ๐Ÿงช Tests + labels: + - tests + - title: ๐Ÿ“ Documentation + labels: + - documentation + - title: ๐Ÿ‘ท CI/CD + labels: + - ci + - build + - title: ๐Ÿ”จ Maintenance + labels: + - chore + - title: โฌ†๏ธ Dependencies + collapse-after: 15 + labels: + - dependencies + - title: Other Changes + labels: + - * +exclude-labels: + - skip changelog +version-resolver: + minor: + labels: + - breaking change + - deprecation + patch: + labels: + - bug + - chore + - dependencies + - documentation + - enhancement + - tests + default: patch +autolabeler: + - label: breaking change + body: + - "/breaking/i" + - label: deprecation + branch: + - "/deprecate\/.+/" + title: + - "/deprecate/i" + - label: enhancement + branch: + - "/feat\/.+/" + - "/feature\/.+/" + title: + - "/feat/i" + - "/feature/i" + - label: bug + branch: + - "/fix\/.+/" + - "/bug\/.+/" + - "/bugfix\/.+/" + title: + - "/fix/i" + - "/bug/i" + - "/bugfix/i" + - label: tests + branch: + - "/tests{0,1}\/.+/" + files: + - "/tests/**" + title: + - "/tests{0,1}\/.+/i" + - label: documentation + branch: + - "/docs{0,1}\/.+/" + - "/documentation\/.+/" + files: + - "docs/**" + title: + - "/docs{0,1}\/.+/i" + - "/documentation/i" + - label: dependencies #todo review + files: + - ".github/workflows/requirements/*" +replacers: #todo review + - search: "/(feat|fix|docs|chore|cleanup|style|refactor|perf|test)(\(\w+\))?: /g" + replace: "" +template: | + ## What's new in the NGINX S3 Gateway v$RESOLVED_VERSION! + + $CHANGES + + ## Install & Upgrade ## TODO Update or remove + + - To install the Ansible NGINX role on a fresh environment, run `ansible-galaxy install nginxinc.nginx`. + - To upgrade the Ansible NGINX role to the latest release, run `ansible-galaxy install -f nginxinc.nginx`. + - To install or upgrade to this specific Ansible NGINX role release ($RESOLVED_VERSION), run `ansible-galaxy install -f nginxinc.nginx,v$RESOLVED_VERSION`. + + ## Resources ## TODO Update or remove + + - Functional configuration examples (check `converge.yml` under each `molecule` scenario) -- [github.com/nginxinc/ansible-role-nginx/tree/$RESOLVED_VERSION/molecule](https://github.com/nginxinc/ansible-role-nginx/tree/$RESOLVED_VERSION/molecule). + - Ansible Galaxy repository -- [galaxy.ansible.com/nginxinc/nginx](https://galaxy.ansible.com/nginxinc/nginx). + - NGINX Ansible role & collection introductory blog -- [nginx.com/blog/announcing-nginx-core-collection-ansible](https://www.nginx.com/blog/announcing-nginx-core-collection-ansible). + - NGINX: Better with Ansible demo -- [github.com/alessfg/nginx-ansible-demo](https://github.com/alessfg/nginx-ansible-demo). diff --git a/.github/release.yml b/.github/release.yml deleted file mode 100644 index 59684dd..0000000 --- a/.github/release.yml +++ /dev/null @@ -1,33 +0,0 @@ ---- -changelog: - exclude: - labels: - - skip-changelog - categories: - - title: ๐Ÿ’ฃ Breaking Changes - labels: - - breaking change - - title: ๐Ÿ”” Deprecation Warnings - labels: - - deprecation - - title: ๐Ÿš€ Features - labels: - - enhancement - - title: ๐Ÿ› Bug Fixes - labels: - - bug - - title: ๐Ÿงช Tests - labels: - - tests - - title: ๐Ÿ“ Documentation - labels: - - documentation - - title: โฌ†๏ธ Dependencies - labels: - - dependencies - - title: ๐Ÿ”จ Maintenance - labels: - - chore - - title: Other Changes - labels: - - "*" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..f49f300 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,25 @@ +--- +name: Release Drafter +on: + push: + branches: [main] + # pull_request_target event is required for autolabeler to support PRs from forks + pull_request_target: + # Only following types are handled by the action, but one can default to all as well + types: [opened, reopened, synchronize] + +permissions: read-all +jobs: + update_release_draft: + permissions: + # write permission is required to create a github release + contents: write + # write permission is required for autolabeler + # otherwise, read permission is required at least + pull-requests: write + runs-on: ubuntu-24.04 + steps: + - name: Run Release Drafter + uses: release-drafter/release-drafter@3f0f87098bd6b5c5b9a36d49c41d998ea58f9348 # v6.0.0 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}