From 60d8090f10d2ad17ff2a613e8c83a790f64ef83b Mon Sep 17 00:00:00 2001 From: michal Date: Mon, 8 Dec 2025 09:15:22 +0100 Subject: [PATCH 1/4] chore: possibility to patch old versions via ci --- .github/workflows/npm-audio-package-build.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/.github/workflows/npm-audio-package-build.yml b/.github/workflows/npm-audio-package-build.yml index 48ec45c1b..2fac1e3bf 100644 --- a/.github/workflows/npm-audio-package-build.yml +++ b/.github/workflows/npm-audio-package-build.yml @@ -9,6 +9,10 @@ on: description: 'Whether to publish as a latest build' required: true type: boolean + old-version-patch: + description: 'Whether to publish as a patch to an old version' + required: true + type: boolean permissions: id-token: write @@ -50,11 +54,17 @@ jobs: run: | VERSION=$(jq -r .version package.json) echo "AUDIO_API_VERSION=$VERSION" >> $GITHUB_ENV + TRUNKATED_VERSION=$(echo $VERSION | cut -d. -f1,2) + echo "TRUNKATED_VERSION=$TRUNKATED_VERSION" >> $GITHUB_ENV - name: Assert AUDIO_API_VERSION if: ${{ env.AUDIO_API_VERSION == 'PLACEHOLDER' }} run: exit 1 # this should never happen + - name: Assert TRUNKATED_VERSION + if: ${{ env.TRUNKATED_VERSION == 'PLACEHOLDER' }} + run: exit 1 # this should never happen + - name: Install monorepo dependencies run: yarn install --immutable @@ -62,6 +72,13 @@ jobs: run: | if [[ "${{ inputs.latest-build }}" != "true" ]]; then echo "TAG=audio-api-nightly" >> $GITHUB_ENV + else if [[ "${{ inputs.old-version-patch }}" == "true" ]]; then + CURRENT_VERSION=$(npm view react-native-audio-api version | cut -d. -f1,2) + if [[ "$CURRENT_VERSION" == "${{ env.TRUNKATED_VERSION }}" ]]; then + echo "Old version patch requested but current published version matches package version. Exiting." + exit 1 + fi + echo "TAG=rn-audio-api-$TRUNKATED_VERSION" >> $GITHUB_ENV else echo "TAG=latest" >> $GITHUB_ENV fi From f83d66fdb881ddd54bd02903b255254909f4d2ee Mon Sep 17 00:00:00 2001 From: michal Date: Mon, 8 Dec 2025 10:40:24 +0100 Subject: [PATCH 2/4] chore: changed order of ifs --- .github/workflows/npm-audio-package-build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/npm-audio-package-build.yml b/.github/workflows/npm-audio-package-build.yml index 2fac1e3bf..9d1aa6776 100644 --- a/.github/workflows/npm-audio-package-build.yml +++ b/.github/workflows/npm-audio-package-build.yml @@ -70,15 +70,15 @@ jobs: - name: Set tag run: | - if [[ "${{ inputs.latest-build }}" != "true" ]]; then - echo "TAG=audio-api-nightly" >> $GITHUB_ENV - else if [[ "${{ inputs.old-version-patch }}" == "true" ]]; then + if [[ "${{ inputs.old-version-patch }}" == "true" ]]; then CURRENT_VERSION=$(npm view react-native-audio-api version | cut -d. -f1,2) if [[ "$CURRENT_VERSION" == "${{ env.TRUNKATED_VERSION }}" ]]; then echo "Old version patch requested but current published version matches package version. Exiting." exit 1 fi echo "TAG=rn-audio-api-$TRUNKATED_VERSION" >> $GITHUB_ENV + else if [[ "${{ inputs.latest-build }}" != "true" ]]; then + echo "TAG=audio-api-nightly" >> $GITHUB_ENV else echo "TAG=latest" >> $GITHUB_ENV fi From 656750560fbd07697197a1c7d8977e34265abea4 Mon Sep 17 00:00:00 2001 From: michal Date: Mon, 8 Dec 2025 11:28:19 +0100 Subject: [PATCH 3/4] fix: changed ifs syntax --- .github/workflows/npm-audio-package-build.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/npm-audio-package-build.yml b/.github/workflows/npm-audio-package-build.yml index 9d1aa6776..3a2cef395 100644 --- a/.github/workflows/npm-audio-package-build.yml +++ b/.github/workflows/npm-audio-package-build.yml @@ -76,8 +76,8 @@ jobs: echo "Old version patch requested but current published version matches package version. Exiting." exit 1 fi - echo "TAG=rn-audio-api-$TRUNKATED_VERSION" >> $GITHUB_ENV - else if [[ "${{ inputs.latest-build }}" != "true" ]]; then + echo "TAG=rn-audio-api-${{ env.TRUNKATED_VERSION }}" >> $GITHUB_ENV + elif [[ "${{ inputs.latest-build }}" != "true" ]]; then echo "TAG=audio-api-nightly" >> $GITHUB_ENV else echo "TAG=latest" >> $GITHUB_ENV @@ -91,7 +91,7 @@ jobs: id: build working-directory: ${{ env.AUDIO_API_DIR }} run: | - if [[ "${{ inputs.latest-build }}" != "true" ]]; then + if [[ "${{ inputs.latest-build }}" != "true" && "${{ inputs.old-version-patch }}" != "true"]]; then ./scripts/create-package.sh generate_nightly_version else ./scripts/create-package.sh From f29730fd4627dcad7d48919180e4bdc290a4b6d8 Mon Sep 17 00:00:00 2001 From: michal Date: Tue, 9 Dec 2025 10:14:22 +0100 Subject: [PATCH 4/4] fix: added placeholder for trunkated version --- .github/workflows/npm-audio-package-build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/npm-audio-package-build.yml b/.github/workflows/npm-audio-package-build.yml index 3a2cef395..7a7ba5b69 100644 --- a/.github/workflows/npm-audio-package-build.yml +++ b/.github/workflows/npm-audio-package-build.yml @@ -32,7 +32,8 @@ jobs: id-token: write env: AUDIO_API_DIR: packages/react-native-audio-api - AUDIO_API_VERSION: PLACEHOLDER + AUDIO_API_VERSION: PLACEHOLDER # all placeholders to be replaced during the run + TRUNKATED_VERSION: PLACEHOLDER PACKAGE_NAME: PLACEHOLDER TAG: PLACEHOLDER steps: