diff --git a/.github/workflows/features.yml b/.github/workflows/features.yml index 778c89b6d..7996318f2 100644 --- a/.github/workflows/features.yml +++ b/.github/workflows/features.yml @@ -6,9 +6,17 @@ on: branches: - main +permissions: {} + jobs: build: - uses: ably/features/.github/workflows/sdk-features.yml@main + permissions: + contents: read + deployments: write + id-token: write + # Track the live SDK feature spec on main rather than pinning. + uses: ably/features/.github/workflows/sdk-features.yml@main # zizmor: ignore[unpinned-uses] with: repository-name: ably-dotnet - secrets: inherit + secrets: + ABLY_AWS_ACCOUNT_ID_SDK: ${{ secrets.ABLY_AWS_ACCOUNT_ID_SDK }} diff --git a/.github/workflows/package.yml b/.github/workflows/package.yml index e6ec978c0..76a52fcdc 100644 --- a/.github/workflows/package.yml +++ b/.github/workflows/package.yml @@ -20,16 +20,20 @@ on: description: 'Ably version' required: true +permissions: + contents: read + jobs: package-library: runs-on: windows-2022 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: submodules: 'recursive' + persist-credentials: false - name: Download dotnet framework - uses: actions/setup-dotnet@v4 + uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1 with: dotnet-version: | 3.1.426 @@ -37,7 +41,7 @@ jobs: 7.0.410 - name: Setup Android SDK - uses: android-actions/setup-android@v3 + uses: android-actions/setup-android@9fc6c4e9069bf8d3d10b2204b1fb8f6ef7065407 # v3.2.2 - name: Install Android SDK Platform 30 shell: pwsh @@ -79,10 +83,12 @@ jobs: run: dotnet tool restore - name: Package - run: ./package.cmd ${{ github.event.inputs.version }} + env: + VERSION: ${{ github.event.inputs.version }} + run: ./package.cmd $env:VERSION - name: Archive package - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: ably-package path: | @@ -94,17 +100,18 @@ jobs: DOTNET_NOLOGO: true steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: submodules: 'recursive' + persist-credentials: false - name: Setup Xcode - uses: maxim-lobanov/setup-xcode@v1 + uses: maxim-lobanov/setup-xcode@ed7a3b1fda3918c0306d1b724322adc0b8cc0a90 # v1.7.0 with: xcode-version: '14.3' - name: Setup Android SDK - uses: android-actions/setup-android@v3 + uses: android-actions/setup-android@9fc6c4e9069bf8d3d10b2204b1fb8f6ef7065407 # v3.2.2 - name: Install Android SDK Platform 30 run: | @@ -112,7 +119,7 @@ jobs: yes | "$ANDROID_HOME/cmdline-tools/latest/bin/sdkmanager" "build-tools;30.0.3" - name: Download dotnet framework - uses: actions/setup-dotnet@v4 + uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1 with: dotnet-version: | 3.1.426 @@ -137,10 +144,12 @@ jobs: run: dotnet tool restore - name: Package Push (iOS & Android) - run: ./package-push.sh ${{ github.event.inputs.version }} + env: + VERSION: ${{ github.event.inputs.version }} + run: ./package-push.sh "$VERSION" - name: Archive push packages - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: ably-push-package path: | @@ -149,12 +158,13 @@ jobs: package-unity: runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: submodules: 'recursive' + persist-credentials: false - name: Download dotnet framework - uses: actions/setup-dotnet@v4 + uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1 with: dotnet-version: | 2.1.818 @@ -164,10 +174,12 @@ jobs: run: dotnet tool restore - name: Package Unity - run: ./package-unity.sh ${{ github.event.inputs.version }} + env: + VERSION: ${{ github.event.inputs.version }} + run: ./package-unity.sh "$VERSION" - name: Archive Unity package - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: ably-unity-package path: | @@ -178,7 +190,7 @@ jobs: needs: [package-library, package-push, package-unity] steps: - name: Download all artifacts - uses: actions/download-artifact@v4 + uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0 with: path: artifacts @@ -223,7 +235,7 @@ jobs: echo "Total files: $(ls -1 output-package | wc -l)" - name: Upload merged artifact - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2 with: name: output-package path: output-package/ diff --git a/.github/workflows/run-tests-linux.yml b/.github/workflows/run-tests-linux.yml index 074e64fc9..e2c7f04ac 100644 --- a/.github/workflows/run-tests-linux.yml +++ b/.github/workflows/run-tests-linux.yml @@ -5,6 +5,9 @@ on: branches: - main +permissions: + contents: read + jobs: check: runs-on: ubuntu-22.04 @@ -17,12 +20,13 @@ jobs: targetframework: [ "net6.0", "net7.0", "net8.0", "net9.0" ] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: submodules: 'recursive' + persist-credentials: false - name: Download dotnet framework - uses: actions/setup-dotnet@v4 + uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1 with: dotnet-version: | 6.0.428 diff --git a/.github/workflows/run-tests-macos-mono.yml b/.github/workflows/run-tests-macos-mono.yml index cb0d4a1db..aadc89e9b 100644 --- a/.github/workflows/run-tests-macos-mono.yml +++ b/.github/workflows/run-tests-macos-mono.yml @@ -5,6 +5,9 @@ on: branches: - main +permissions: + contents: read + jobs: check: runs-on: macos-14 @@ -12,12 +15,13 @@ jobs: DOTNET_NOLOGO: true steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: submodules: 'recursive' + persist-credentials: false - name: Download dotnet framework - uses: actions/setup-dotnet@v4 + uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1 with: dotnet-version: | 3.1.426 diff --git a/.github/workflows/run-tests-macos.yml b/.github/workflows/run-tests-macos.yml index 8aed4abff..a081592e1 100644 --- a/.github/workflows/run-tests-macos.yml +++ b/.github/workflows/run-tests-macos.yml @@ -5,6 +5,9 @@ on: branches: - main +permissions: + contents: read + jobs: check: runs-on: macos-14 @@ -17,12 +20,13 @@ jobs: targetframework: [ "net6.0", "net7.0", "net8.0", "net9.0" ] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: submodules: 'recursive' + persist-credentials: false - name: Download dotnet framework - uses: actions/setup-dotnet@v4 + uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1 with: dotnet-version: | 6.0.428 diff --git a/.github/workflows/run-tests-windows-netframework.yml b/.github/workflows/run-tests-windows-netframework.yml index aed622f01..960f7fda7 100644 --- a/.github/workflows/run-tests-windows-netframework.yml +++ b/.github/workflows/run-tests-windows-netframework.yml @@ -5,6 +5,9 @@ on: branches: - main +permissions: + contents: read + jobs: check: runs-on: windows-2022 @@ -12,12 +15,13 @@ jobs: DOTNET_NOLOGO: true steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: submodules: 'recursive' + persist-credentials: false - name: Download dotnet framework - uses: actions/setup-dotnet@v4 + uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1 with: dotnet-version: | 7.0.410 diff --git a/.github/workflows/run-tests-windows.yml b/.github/workflows/run-tests-windows.yml index 96996fc27..85e037faa 100644 --- a/.github/workflows/run-tests-windows.yml +++ b/.github/workflows/run-tests-windows.yml @@ -5,6 +5,9 @@ on: branches: - main +permissions: + contents: read + jobs: check: runs-on: windows-2022 @@ -17,12 +20,13 @@ jobs: targetframework: [ "net6.0", "net7.0", "net8.0", "net9.0" ] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 with: submodules: 'recursive' + persist-credentials: false - name: Download framework - uses: actions/setup-dotnet@v4 + uses: actions/setup-dotnet@67a3573c9a986a3f9c594539f4ab511d57bb3ce9 # v4.3.1 with: dotnet-version: | 6.0.428