From 534bd5078e079d0985dda5c8f64a104713afe185 Mon Sep 17 00:00:00 2001 From: Create or Update Pull Request Action Date: Tue, 16 Jun 2026 06:34:10 +0000 Subject: [PATCH 1/3] chore: bump audience to 0.4.0 --- src/Packages/Audience/Runtime/Core/Constants.cs | 2 +- src/Packages/Audience/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Packages/Audience/Runtime/Core/Constants.cs b/src/Packages/Audience/Runtime/Core/Constants.cs index faed929d..3645dd06 100644 --- a/src/Packages/Audience/Runtime/Core/Constants.cs +++ b/src/Packages/Audience/Runtime/Core/Constants.cs @@ -18,7 +18,7 @@ internal static class Constants internal const int ControlPlaneRequestTimeoutSeconds = 30; internal const string LibraryName = "com.immutable.audience"; - internal const string LibraryVersion = "0.3.1"; + internal const string LibraryVersion = "0.4.0"; internal const string Surface = "unity"; internal const string ConsentSource = "UnitySDK"; diff --git a/src/Packages/Audience/package.json b/src/Packages/Audience/package.json index 5943dd30..fc1b5e40 100644 --- a/src/Packages/Audience/package.json +++ b/src/Packages/Audience/package.json @@ -1,6 +1,6 @@ { "name": "com.immutable.audience", - "version": "0.3.1", + "version": "0.4.0", "description": "Immutable Audience SDK for Unity.", "displayName": "Immutable Audience", "author": { From d9c4653003158a69754d2236275b966079469bc8 Mon Sep 17 00:00:00 2001 From: Natalie Bunduwongse Date: Tue, 16 Jun 2026 18:39:47 +1200 Subject: [PATCH 2/3] fix(release): scope changelog to correct package tag range Use the previous tag of the same type (audience/* or passport) as fromTag so audience release notes only include PRs merged since the last audience release, not since the last passport tag. Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/release.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 618188c7..5e791e22 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -26,9 +26,12 @@ jobs: echo "LATEST_TAG=${LATEST_TAG}" >> "$GITHUB_ENV" if [[ "$LATEST_TAG" == audience/* ]]; then echo "IS_AUDIENCE=true" >> "$GITHUB_ENV" + PREV_TAG="$(git tag --sort=-creatordate | grep "^audience/" | sed -n '2p')" else echo "IS_AUDIENCE=false" >> "$GITHUB_ENV" + PREV_TAG="$(git tag --sort=-creatordate | grep -v "^audience/" | sed -n '2p')" fi + echo "PREV_TAG=${PREV_TAG}" >> "$GITHUB_ENV" if [[ "$LATEST_TAG" == *alpha* ]]; then echo "IS_PRERELEASE=true" >> "$GITHUB_ENV" else @@ -44,6 +47,8 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: + fromTag: ${{ env.PREV_TAG }} + toTag: ${{ env.LATEST_TAG }} configurationJson: | { "pr_template": "- #{{TITLE}} (##{{NUMBER}})", From 699ea5906fd6c24b42eddb18ad30e171f29cf060 Mon Sep 17 00:00:00 2001 From: Natalie Bunduwongse Date: Tue, 16 Jun 2026 19:14:07 +1200 Subject: [PATCH 3/3] fix(release): label audience PRs by changed paths, filter changelog by package Add a github-script step to label-pr.yml that detects Audience package changes (src/Packages/Audience/**) and applies audience-specific labels (audience-feature, audience-fix, etc.) using branch prefix for sub-type. Split the changelog builder in release.yml into audience/passport variants so each release only shows PRs with its own label set. Co-Authored-By: Claude Sonnet 4.6 --- .github/workflows/label-pr.yml | 28 ++++++++++++++++++++++ .github/workflows/release.yml | 43 +++++++++++++++++++++++++++++++--- 2 files changed, 68 insertions(+), 3 deletions(-) diff --git a/.github/workflows/label-pr.yml b/.github/workflows/label-pr.yml index b5bfce37..8a59da0c 100644 --- a/.github/workflows/label-pr.yml +++ b/.github/workflows/label-pr.yml @@ -19,3 +19,31 @@ jobs: with: repo-token: ${{ secrets.GITHUB_TOKEN }} configuration-path: .github/pr-labeler/config.yml + + - uses: actions/github-script@v6 + with: + github-token: ${{ secrets.GITHUB_TOKEN }} + script: | + const files = await github.rest.pulls.listFiles({ + owner: context.repo.owner, + repo: context.repo.repo, + pull_number: context.payload.pull_request.number, + }) + const isAudience = files.data.some(f => + f.filename.startsWith('src/Packages/Audience/') + ) + if (!isAudience) return + + const branch = context.payload.pull_request.head.ref + let label = 'audience-chore' + if (branch.startsWith('feat/')) label = 'audience-feature' + else if (branch.startsWith('fix/')) label = 'audience-fix' + else if (branch.startsWith('perf/')) label = 'audience-performance' + else if (branch.startsWith('docs/')) label = 'audience-docs' + + await github.rest.issues.addLabels({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: context.payload.pull_request.number, + labels: [label], + }) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5e791e22..f171de2c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -41,8 +41,45 @@ jobs: - name: Pull LFS run: git lfs pull - - name: Build Changelog - id: github_release + - name: Build Changelog (Audience) + id: github_release_audience + if: env.IS_AUDIENCE == 'true' + uses: mikepenz/release-changelog-builder-action@v3 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + fromTag: ${{ env.PREV_TAG }} + toTag: ${{ env.LATEST_TAG }} + configurationJson: | + { + "pr_template": "- #{{TITLE}} (##{{NUMBER}})", + "categories": [ + { + "title": "## Features", + "labels": ["audience-feature"] + }, + { + "title": "## Fixes", + "labels": ["audience-fix"] + }, + { + "title": "## Performance", + "labels": ["audience-performance"] + }, + { + "title": "## Documentation", + "labels": ["audience-docs"] + }, + { + "title": "## Chores", + "labels": ["audience-chore"] + } + ] + } + + - name: Build Changelog (Passport) + id: github_release_passport + if: env.IS_AUDIENCE != 'true' uses: mikepenz/release-changelog-builder-action@v3 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} @@ -108,7 +145,7 @@ jobs: tag_name: ${{ env.LATEST_TAG }} release_name: ${{ env.LATEST_TAG }} body: | - ${{steps.github_release.outputs.changelog}} + ${{steps.github_release_audience.outputs.changelog}}${{steps.github_release_passport.outputs.changelog}} ${{ env.RELEASE_BODY_SUFFIX }} draft: false