WIP: Add libjpeg-turbo build and tests #36
Workflow file for this run
This file contains 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 toolchain variants | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
workflow_dispatch: | |
inputs: | |
binutils_branch: | |
description: 'Binutils branch to build' | |
required: false | |
default: 'woarm64' | |
gcc_branch: | |
description: 'GCC branch to build' | |
required: false | |
default: 'woarm64' | |
mingw_branch: | |
description: 'Mingw branch to build' | |
required: false | |
default: 'woarm64' | |
jobs: | |
build-toolchain: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
target: [aarch64-w64-mingw32, x86_64-w64-mingw32] | |
crt: [msvcrt, ucrt] | |
env: | |
BINUTILS_REPO: ZacWalk/binutils-woarm64 | |
BINUTILS_BRANCH: ${{ github.event.inputs.binutils_branch }} | |
BINUTILS_VERSION: binutils-master | |
GCC_REPO: ZacWalk/gcc-woarm64 | |
GCC_BRANCH: ${{ github.event.inputs.gcc_branch }} | |
GCC_VERSION: gcc-master | |
MINGW_REPO: ZacWalk/mingw-woarm64 | |
MINGW_BRANCH: ${{ github.event.inputs.mingw_branch }} | |
MINGW_VERSION: mingw-w64-master | |
TARGET: ${{ matrix.target }} | |
CRT: ${{ matrix.crt }} | |
INSTALL_PATH: ${{ github.workspace }}/cross | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
path: ${{ github.workspace }} | |
- name: Checkout binutils | |
uses: actions/checkout@v4 | |
with: | |
repository: ${{ env.BINUTILS_REPO }} | |
ref: ${{ env.BINUTILS_BRANCH }} | |
path: ${{ github.workspace }}/code/${{ env.BINUTILS_VERSION }} | |
- name: Checkout GCC | |
uses: actions/checkout@v4 | |
with: | |
repository: ${{ env.GCC_REPO }} | |
ref: ${{ env.GCC_BRANCH }} | |
path: ${{ github.workspace }}/code/${{ env.GCC_VERSION }} | |
- name: Checkout MinGW | |
uses: actions/checkout@v4 | |
with: | |
repository: ${{ env.MINGW_REPO }} | |
ref: ${{ env.MINGW_BRANCH }} | |
path: ${{ github.workspace }}/code/${{ env.MINGW_VERSION }} | |
- name: Install dependencies | |
run: | | |
.github/scripts/install-dependencies.sh | |
- name: Install libraries | |
run: | | |
.github/scripts/install-libraries.sh | |
- name: Build binutils | |
run: | | |
.github/scripts/build-binutils.sh | |
- name: Build MinGW headers | |
run: | | |
.github/scripts/build-mingw-headers.sh | |
- name: Build GCC | |
run: | | |
.github/scripts/build-gcc.sh | |
- name: Build MinGW CRT | |
run: | | |
.github/scripts/build-mingw-crt.sh | |
- name: Build libgcc | |
run: | | |
.github/scripts/build-libgcc.sh | |
- name: Build MinGW | |
run: | | |
.github/scripts/build-mingw.sh | |
- name: Build GCC libs | |
run: | | |
.github/scripts/build-gcc-libs.sh | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ env.TARGET }}-${{ env.CRT }}-toolchain | |
path: ${{ env.INSTALL_PATH }} | |
retention-days: 1 | |
build-libjpeg-turbo: | |
needs: [build-toolchain] | |
runs-on: ubuntu-latest | |
env: | |
INSTALL_PATH: ${{ github.workspace }}/libjpeg-turbo | |
steps: | |
- name: Download toolchain | |
uses: actions/download-artifact@v3 | |
with: | |
name: aarch64-w64-mingw32-msvcrt-toolchain | |
path: ${{ github.workspace }}/cross | |
- name: Build libjpeg-turbo | |
run: | | |
.github/scripts/build-libjpeg-turbo.sh | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: aarch64-w64-mingw32-msvcrt-libjpeg-turbo | |
path: ${{ env.INSTALL_PATH }} | |
retention-days: 1 | |
test-libpeg-turbo: | |
needs: [build-libjpeg-turbo] | |
runs-on: [Windows, ARM64] | |
steps: | |
- name: Download libjpeg-turbo | |
uses: actions/download-artifact@v3 | |
with: | |
name: aarch64-w64-mingw32-msvcrt-libjpeg-turbo | |
path: ${{ github.workspace }} | |
- name: Test libjpeg-turbo | |
run: | | |
.github/scripts/test-libjpeg-turbo.ps1 |