recycle: Use "full" paths and ignore special codes #68
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build and test | |
| concurrency: | |
| group: w64devkit-${{ github.ref }} | |
| cancel-in-progress: true | |
| on: | |
| push: | |
| pull_request: | |
| branches: [ "master" ] | |
| # Must set Settings -> Actions -> General -> Workflow permissions to | |
| # "Read and write permissions" | |
| permissions: | |
| contents: write | |
| jobs: | |
| build-x64: | |
| runs-on: ubuntu-latest | |
| if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository | |
| env: | |
| ARCH: x64 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v4 | |
| - 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: | | |
| 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: | | |
| 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 |