diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 38ba91c0..79e40eec 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -49,9 +49,11 @@ jobs: strategy: matrix: platform: ${{ fromJSON(needs.platforms.outputs.platforms) }} - runs-on: ${{ contains(matrix.platform, '/arm') && 'macos-latest-xlarge' || 'ubuntu-latest' }} + # Run on our own self-hosted ARM64 machine if the platform is ARMish. + runs-on: ${{ contains(matrix.platform, '/arm') && fromJSON('["self-hosted","Linux","ARM64"]') || 'ubuntu-latest' }} steps: - name: free up disk space + if: ${{ !contains(matrix.platform, '/arm') }} run: | # Workaround to provide additional free space for testing. # https://github.com/actions/runner-images/issues/2840#issuecomment-790492173 @@ -77,7 +79,6 @@ jobs: - name: Set up QEMU for cross-platform builds uses: docker/setup-qemu-action@v3 - if: ${{ matrix.platform != env.DEFAULT_PLATFORM }} - name: Log in to the Container registry uses: docker/login-action@v3 @@ -94,7 +95,7 @@ jobs: images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} # The .ts scripts depend upon this - - run: npm install --global tsx + - run: tsx --version || npm install --global tsx - name: build test images if ${{ matrix.platform }} == ${{ env.DEFAULT_PLATFORM }} run: |