Skip to content

recycle: Use "full" paths and ignore special codes #68

recycle: Use "full" paths and ignore special codes

recycle: Use "full" paths and ignore special codes #68

Workflow file for this run

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