diff --git a/.github/workflows/build-tool-packages.yml b/.github/workflows/build-tool-packages.yml index 5430c8c..a7de29d 100644 --- a/.github/workflows/build-tool-packages.yml +++ b/.github/workflows/build-tool-packages.yml @@ -25,22 +25,68 @@ defaults: run: shell: pwsh +# Fix for windows arm64 7z file issue. More details at https://github.com/nodejs/node/issues/52231 jobs: build: name: Build ${{ inputs.tool-name }} ${{ inputs.tool-version }} [${{ matrix.platform }}] [${{ matrix.architecture }}] - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} env: ARTIFACT_NAME: ${{ inputs.tool-name }}-${{ inputs.tool-version }}-${{ matrix.platform }}-${{ matrix.architecture }} strategy: fail-fast: false matrix: - platform: [linux, darwin, win32] - architecture: [x64, arm64] - + include: + - os: ubuntu-latest + platform: linux + architecture: x64 + - os: ubuntu-latest + platform: darwin + architecture: x64 + - os: ubuntu-latest + platform: win32 + architecture: x64 + - os: ubuntu-latest + platform: linux + architecture: arm64 + - os: ubuntu-latest + platform: darwin + architecture: arm64 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 + with: + submodules: true + + - name: Build ${{ inputs.tool-name }} ${{ inputs.tool-version }} + run: | + ./builders/build-${{ inputs.tool-name }}.ps1 -Version ${{ inputs.tool-version }} ` + -Platform ${{ matrix.platform }} ` + -Architecture ${{ matrix.architecture }} + + - name: Publish artifact + uses: actions/upload-artifact@v3 + with: + name: ${{ env.ARTIFACT_NAME }} + path: ${{ runner.temp }}/artifact + + build-arm: + name: Build ${{ inputs.tool-name }} ${{ inputs.tool-version }} [${{ matrix.platform }}] [${{ matrix.architecture }}] + runs-on: windows-latest + if: (inputs.tool-name == 'go') || (inputs.tool-name == 'node' && inputs['tool-version'] > '20.0.0') + env: + ARTIFACT_NAME: ${{ inputs.tool-name }}-${{ inputs.tool-version }}-${{ matrix.platform }}-${{ matrix.architecture }} + strategy: + fail-fast: false + matrix: + include: + - os: windows-latest + platform: win32 + architecture: arm64 + + + steps: + - uses: actions/checkout@v4 with: submodules: true @@ -49,6 +95,7 @@ jobs: ./builders/build-${{ inputs.tool-name }}.ps1 -Version ${{ inputs.tool-version }} ` -Platform ${{ matrix.platform }} ` -Architecture ${{ matrix.architecture }} + - name: Publish artifact uses: actions/upload-artifact@v3 @@ -214,4 +261,4 @@ jobs: repo: context.repo.repo, workflow_id: 'create-pr.yml', ref: 'main' - }); \ No newline at end of file + });