diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 28fc29e..7a14210 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -15,16 +15,11 @@ permissions: contents: write jobs: - build: + build-x64: runs-on: ubuntu-latest if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository env: - FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true - - strategy: - fail-fast: false - matrix: - arch: ["x64", "x86"] + ARCH: x64 steps: - uses: actions/checkout@v6 @@ -32,14 +27,8 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v4 - - name: Apply x86 patch - if: matrix.arch == 'x86' - run: patch -p1 -i src/variant-x86.patch - - name: Generate archive name and version string id: filename - env: - ARCH: ${{ matrix.arch }} run: | GIT_VERSION="$(git describe --tags --always)" echo "version=${GIT_VERSION:1}" >> $GITHUB_OUTPUT @@ -49,14 +38,70 @@ jobs: uses: docker/build-push-action@v7 with: context: . - tags: w64devkit:${{ matrix.arch }} + tags: w64devkit:${{ env.ARCH }} load: true - cache-from: type=gha,scope=w64devkit-${{ matrix.arch }} - cache-to: type=gha,scope=w64devkit-${{ matrix.arch }},mode=max + cache-from: type=gha,scope=w64devkit-${{ env.ARCH }} + cache-to: type=gha,scope=w64devkit-${{ env.ARCH }},mode=max - name: Extract artifact run: | - docker run --rm w64devkit:${{ matrix.arch }} > w64devkit.exe + docker run --rm w64devkit:${{ env.ARCH }} > w64devkit.exe + + - name: Rename artifact + run: | + mv w64devkit.exe ${{ steps.filename.outputs.archive }}.exe + ls -lh ${{ steps.filename.outputs.archive }}.exe + + - name: Upload artifact + uses: actions/upload-artifact@v7 + with: + name: ${{ steps.filename.outputs.archive }}.exe + path: ${{ steps.filename.outputs.archive }}.exe + archive: false + + - name: Create Release + if: startsWith(github.ref, 'refs/tags/') + uses: softprops/action-gh-release@v2 + with: + name: ${{ steps.filename.outputs.version }} + files: w64devkit-*.exe + draft: true + + build-x86: + runs-on: ubuntu-latest + needs: build-x64 + if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository + env: + ARCH: x86 + + steps: + - uses: actions/checkout@v6 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v4 + + - name: Apply x86 patch + run: patch -p1 -i src/variant-x86.patch + + - name: Generate archive name and version string + id: filename + run: | + GIT_VERSION="$(git describe --tags --always)" + echo "version=${GIT_VERSION:1}" >> $GITHUB_OUTPUT + echo "archive=w64devkit-$ARCH-${GIT_VERSION:1}" >> $GITHUB_OUTPUT + + - name: Build image + uses: docker/build-push-action@v7 + with: + context: . + tags: w64devkit:${{ env.ARCH }} + load: true + cache-from: type=gha,scope=w64devkit-${{ env.ARCH }} + cache-to: type=gha,scope=w64devkit-${{ env.ARCH }},mode=max + + - name: Extract artifact + run: | + docker run --rm w64devkit:${{ env.ARCH }} > w64devkit.exe - name: Rename artifact run: |