From 85638b5788538a59596c7a90aeb8867a92309dca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hans=20H=C3=BCbner?= Date: Wed, 27 Sep 2023 10:14:54 +0200 Subject: [PATCH] chore(changelog): reusable workflow / simpler changelog file format (#11668) * chore(changelog): use reusable changelog workflow (#11549) This avoids code duplication and makes improvements on changelog generation/format easier. * chore(changelog): use simpler format for changelog files with the new (#11652) changelog generator The new changelog generator removes the need to write down jiras or prs manually. Now these are automatically extracted by the script and these fields are no longer needed. Also, we changed the file extension to .yml to stay consistent with the rest of the repository. Existing changelogs were modified automatically using yq to remove these fields that are no longer needed. This will be eventually backported to all branches that currently uses the new changelog generator. KAG-2545 --------- Co-authored-by: Yusheng Li Co-authored-by: Datong Sun --- .github/workflows/changelog-requirement.yml | 32 +++++++++++++++++++ .github/workflows/changelog-validation.yml | 17 ++++++++++ {CHANGELOG => changelog}/3.4.1/3.4.1.md | 0 .../3.4.1/kong/11348.yaml | 0 .../3.4.1/kong/11402.yaml | 0 .../3.4.1/kong/11480.yaml | 4 --- .../3.4.1/kong/11484.yaml | 4 --- .../3.4.1/kong/11502.yaml | 4 --- .../3.4.1/kong/11538.yaml | 4 --- .../3.4.1/kong/luajit_ldp_stp_fusion.yaml | 4 --- changelog/changelog-template.yaml | 3 ++ changelog/unreleased/kong/.gitkeep | 0 .../unreleased/kong/11468.yml | 0 13 files changed, 52 insertions(+), 20 deletions(-) create mode 100644 .github/workflows/changelog-requirement.yml create mode 100644 .github/workflows/changelog-validation.yml rename {CHANGELOG => changelog}/3.4.1/3.4.1.md (100%) rename {CHANGELOG => changelog}/3.4.1/kong/11348.yaml (100%) rename {CHANGELOG => changelog}/3.4.1/kong/11402.yaml (100%) rename {CHANGELOG => changelog}/3.4.1/kong/11480.yaml (77%) rename {CHANGELOG => changelog}/3.4.1/kong/11484.yaml (83%) rename {CHANGELOG => changelog}/3.4.1/kong/11502.yaml (71%) rename {CHANGELOG => changelog}/3.4.1/kong/11538.yaml (75%) rename {CHANGELOG => changelog}/3.4.1/kong/luajit_ldp_stp_fusion.yaml (77%) create mode 100644 changelog/changelog-template.yaml create mode 100644 changelog/unreleased/kong/.gitkeep rename CHANGELOG/unreleased/kong/11468.yaml => changelog/unreleased/kong/11468.yml (100%) diff --git a/.github/workflows/changelog-requirement.yml b/.github/workflows/changelog-requirement.yml new file mode 100644 index 00000000000..28938afc27f --- /dev/null +++ b/.github/workflows/changelog-requirement.yml @@ -0,0 +1,32 @@ +name: Changelog Requirement + +on: + pull_request: + types: [ opened, synchronize, labeled, unlabeled ] + paths: + - 'kong/**' + - '**.rockspec' + - '.requirements' + +jobs: + require-changelog: + if: ${{ !contains(github.event.*.labels.*.name, 'skip-changelog') }} + name: Requires changelog + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 2 + + - name: computes changed files + id: changelog-check + uses: tj-actions/changed-files@2f7246cb26e8bb6709b6cbfc1fec7febfe82e96a # v37 + with: + files: 'changelog/unreleased/**/*.yml' + + - name: asserts changelog added + run: > + if [ "${{ steps.changelog-check.outputs.added_files_count }}" = "0" ]; then + echo "Should contain at least one changelog file in changelog/unreleased/*/ directory" + exit 1 + fi diff --git a/.github/workflows/changelog-validation.yml b/.github/workflows/changelog-validation.yml new file mode 100644 index 00000000000..d865e4b6001 --- /dev/null +++ b/.github/workflows/changelog-validation.yml @@ -0,0 +1,17 @@ +name: Changelog Validation + +on: + pull_request: + types: [ opened, synchronize ] + +jobs: + validate-changelog: + name: Validate changelog + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Validate changelogs + uses: Kong/gateway-changelog@main + with: + files: changelog/unreleased/*/*.yml diff --git a/CHANGELOG/3.4.1/3.4.1.md b/changelog/3.4.1/3.4.1.md similarity index 100% rename from CHANGELOG/3.4.1/3.4.1.md rename to changelog/3.4.1/3.4.1.md diff --git a/CHANGELOG/3.4.1/kong/11348.yaml b/changelog/3.4.1/kong/11348.yaml similarity index 100% rename from CHANGELOG/3.4.1/kong/11348.yaml rename to changelog/3.4.1/kong/11348.yaml diff --git a/CHANGELOG/3.4.1/kong/11402.yaml b/changelog/3.4.1/kong/11402.yaml similarity index 100% rename from CHANGELOG/3.4.1/kong/11402.yaml rename to changelog/3.4.1/kong/11402.yaml diff --git a/CHANGELOG/3.4.1/kong/11480.yaml b/changelog/3.4.1/kong/11480.yaml similarity index 77% rename from CHANGELOG/3.4.1/kong/11480.yaml rename to changelog/3.4.1/kong/11480.yaml index 96f39635558..b60dc5c3108 100644 --- a/CHANGELOG/3.4.1/kong/11480.yaml +++ b/changelog/3.4.1/kong/11480.yaml @@ -1,7 +1,3 @@ message: Fix a problem that abnormal socket connection will be reused when querying Postgres database. type: bugfix scope: Core -prs: - - 11480 -jiras: - - "FTI-5322" diff --git a/CHANGELOG/3.4.1/kong/11484.yaml b/changelog/3.4.1/kong/11484.yaml similarity index 83% rename from CHANGELOG/3.4.1/kong/11484.yaml rename to changelog/3.4.1/kong/11484.yaml index 4a76743c834..70c73fa600b 100644 --- a/CHANGELOG/3.4.1/kong/11484.yaml +++ b/changelog/3.4.1/kong/11484.yaml @@ -1,9 +1,5 @@ message: "Tracing: fix an issue that resulted in some parent spans to end before their children due to different precision of their timestamps" type: bugfix scope: PDK -prs: - - 11484 -jiras: - - "KAG-2336" issues: - 11294 diff --git a/CHANGELOG/3.4.1/kong/11502.yaml b/changelog/3.4.1/kong/11502.yaml similarity index 71% rename from CHANGELOG/3.4.1/kong/11502.yaml rename to changelog/3.4.1/kong/11502.yaml index 66d1d45e265..dce5af3562d 100644 --- a/CHANGELOG/3.4.1/kong/11502.yaml +++ b/changelog/3.4.1/kong/11502.yaml @@ -1,7 +1,3 @@ message: Fix upstream ssl failure when plugins use response handler type: bugfix scope: Core -prs: - - 11502 -jiras: - - "FTI-5347" diff --git a/CHANGELOG/3.4.1/kong/11538.yaml b/changelog/3.4.1/kong/11538.yaml similarity index 75% rename from CHANGELOG/3.4.1/kong/11538.yaml rename to changelog/3.4.1/kong/11538.yaml index c7bbd050e54..b2c1e028385 100644 --- a/CHANGELOG/3.4.1/kong/11538.yaml +++ b/changelog/3.4.1/kong/11538.yaml @@ -1,7 +1,3 @@ message: Fix an issue that protocol `tls_passthrough` can not work with expressions flavor type: bugfix scope: Core -prs: - - 11538 -jiras: - - "KAG-2561" diff --git a/CHANGELOG/3.4.1/kong/luajit_ldp_stp_fusion.yaml b/changelog/3.4.1/kong/luajit_ldp_stp_fusion.yaml similarity index 77% rename from CHANGELOG/3.4.1/kong/luajit_ldp_stp_fusion.yaml rename to changelog/3.4.1/kong/luajit_ldp_stp_fusion.yaml index 28522b01991..c664e356cd4 100644 --- a/CHANGELOG/3.4.1/kong/luajit_ldp_stp_fusion.yaml +++ b/changelog/3.4.1/kong/luajit_ldp_stp_fusion.yaml @@ -1,7 +1,3 @@ message: "Fix incorrect LuaJIT LDP/STP fusion on ARM64 which may sometimes cause incorrect logic" type: dependency scope: Core -prs: - - 11537 -jiras: - - "KAG-2473" diff --git a/changelog/changelog-template.yaml b/changelog/changelog-template.yaml new file mode 100644 index 00000000000..20cfee70359 --- /dev/null +++ b/changelog/changelog-template.yaml @@ -0,0 +1,3 @@ +message: +type: +prs: diff --git a/changelog/unreleased/kong/.gitkeep b/changelog/unreleased/kong/.gitkeep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/CHANGELOG/unreleased/kong/11468.yaml b/changelog/unreleased/kong/11468.yml similarity index 100% rename from CHANGELOG/unreleased/kong/11468.yaml rename to changelog/unreleased/kong/11468.yml