From 176fb431b3163b80a97d4c8b6821ee70dbc14fab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Radek=20Barto=C5=88?= Date: Thu, 29 Aug 2024 12:55:32 +0200 Subject: [PATCH] Add workflow for mingw-w64-gcc package testing --- .../build-and-test-mingw-w64-gcc.yml | 65 +++++++++++++++++++ .github/workflows/build-package.yml | 31 ++++++--- .github/workflows/main.yml | 1 - .github/workflows/mingw-cross-toolchain.yml | 16 ++--- 4 files changed, 95 insertions(+), 18 deletions(-) create mode 100644 .github/workflows/build-and-test-mingw-w64-gcc.yml diff --git a/.github/workflows/build-and-test-mingw-w64-gcc.yml b/.github/workflows/build-and-test-mingw-w64-gcc.yml new file mode 100644 index 0000000..fdd7c3c --- /dev/null +++ b/.github/workflows/build-and-test-mingw-w64-gcc.yml @@ -0,0 +1,65 @@ +name: Build and test mingw-w64-gcc + +on: + pull_request: + workflow_dispatch: + inputs: + packages_repository: + description: "MSYS2 packages repository to build from" + type: string + default: "Windows-on-ARM-Experiments/MINGW-packages" + packages_branch: + description: "MSYS2 packages branch to build from" + type: string + default: "woarm64" + arch: + description: 'Architecture to build for' + required: false + default: 'x86_64' + tag: + description: 'Tag to use for the artifact' + required: true + gcc_module: + description: 'GCC module to test' + required: false + default: '' + gcc_test_filter: + description: 'GCC test filter' + required: false + default: '' + workflow_call: + inputs: + packages_repository: + type: string + packages_branch: + type: string + arch: + type: string + tag: + type: string + gcc_module: + type: string + gcc_test_filter: + type: string + +env: + ARCH: ${{ inputs.arch || 'x86_64' }} + + TAG: ${{ inputs.tag || 'test' }} + MODULE: ${{ inputs.gcc_module || '' }} + FILTER: ${{ inputs.gcc_test_filter || '' }} + +defaults: + run: + shell: msys2 {0} + +jobs: + build-and-test-mingw-w64-gcc: + name: Build and test mingw-w64-gcc + uses: ./.github/workflows/build-package.yml + with: + package_name: mingw-w64-gcc + arch: ${{ inputs.arch || 'x86_64' }} + check: true + packages_repository: ${{ inputs.packages_repository || 'Windows-on-ARM-Experiments/MINGW-packages' }} + packages_branch: ${{ inputs.packages_branch || 'woarm64' }} diff --git a/.github/workflows/build-package.yml b/.github/workflows/build-package.yml index 626e7cf..88c3cc2 100644 --- a/.github/workflows/build-package.yml +++ b/.github/workflows/build-package.yml @@ -13,6 +13,18 @@ on: description: "Install additional dependencies" type: string default: "" + arch: + description: "Architecture to build for" + type: string + default: "aarch64" + cross: + description: "Enable cross-compilation of the package" + type: boolean + default: false + check: + description: "Enable check step after the package is built" + type: boolean + default: false packages_repository: description: "MSYS2 packages repository to build from" type: string @@ -42,6 +54,14 @@ jobs: - name: Checkout repository uses: actions/checkout@v4 + - name: Checkout ${{ inputs.packages_repository }} repository + uses: actions/checkout@v4 + with: + repository: ${{ inputs.packages_repository }} + ref: ${{ inputs.packages_branch }} + sparse-checkout: ${{ inputs.package_name }} + path: ${{ github.workspace }}/packages + - name: Install dependencies run: | pacman -S --noconfirm \ @@ -49,7 +69,8 @@ jobs: mingw-w64-x86_64-github-cli \ mingw-w64-x86_64-jq \ base-devel \ - ${{ contains(inputs.packages_repository, 'MINGW') && 'mingw-w64-cross-gcc mingw-w64-x86_64-ccache' || ' ccache' }} \ + ccache \ + ${{ contains(inputs.packages_repository, 'MINGW') && format('{0}-{1}-{2}', 'mingw-w64', inputs.arch, 'gcc')|| '' }} \ ${{ inputs.dependencies }} - name: Download artifacts @@ -67,14 +88,6 @@ jobs: run: | `cygpath "${{ github.workspace }}"`/.github/scripts/pthread-headers-hack-before.sh - - name: Checkout ${{ inputs.packages_repository }} repository - uses: actions/checkout@v4 - with: - repository: ${{ inputs.packages_repository }} - ref: ${{ inputs.packages_branch }} - sparse-checkout: ${{ inputs.package_name }} - path: ${{ github.workspace }}/packages - - name: Enable Ccache id: enable-ccache run: | diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f288c1b..84b5df7 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -4,7 +4,6 @@ on: push: branches: - main - pull_request: workflow_dispatch: inputs: msys2_packages_branch: diff --git a/.github/workflows/mingw-cross-toolchain.yml b/.github/workflows/mingw-cross-toolchain.yml index 38df232..484ab89 100644 --- a/.github/workflows/mingw-cross-toolchain.yml +++ b/.github/workflows/mingw-cross-toolchain.yml @@ -24,7 +24,7 @@ jobs: with: package_name: mingw-w64-cross-headers packages_repository: Windows-on-ARM-Experiments/MSYS2-packages - packages_branch: ${{ github.event.inputs.msys2_packages_branch || 'woarm64' }} + packages_branch: ${{ inputs.msys2_packages_branch || 'woarm64' }} mingw-w64-cross-binutils: needs: mingw-w64-cross-headers @@ -33,7 +33,7 @@ jobs: package_name: mingw-w64-cross-binutils needs: ${{ toJson(needs) }} packages_repository: Windows-on-ARM-Experiments/MSYS2-packages - packages_branch: ${{ github.event.inputs.msys2_packages_branch || 'woarm64' }} + packages_branch: ${{ inputs.msys2_packages_branch || 'woarm64' }} mingw-w64-cross-gcc-stage1: needs: [mingw-w64-cross-headers, mingw-w64-cross-binutils] @@ -42,7 +42,7 @@ jobs: package_name: mingw-w64-cross-gcc-stage1 needs: ${{ toJson(needs) }} packages_repository: Windows-on-ARM-Experiments/MSYS2-packages - packages_branch: ${{ github.event.inputs.msys2_packages_branch || 'woarm64' }} + packages_branch: ${{ inputs.msys2_packages_branch || 'woarm64' }} mingw-w64-cross-windows-default-manifest: needs: [mingw-w64-cross-binutils, mingw-w64-cross-gcc-stage1] @@ -51,7 +51,7 @@ jobs: package_name: mingw-w64-cross-windows-default-manifest needs: ${{ toJson(needs) }} packages_repository: Windows-on-ARM-Experiments/MSYS2-packages - packages_branch: ${{ github.event.inputs.msys2_packages_branch || 'woarm64' }} + packages_branch: ${{ inputs.msys2_packages_branch || 'woarm64' }} mingw-w64-cross-crt: needs: @@ -66,7 +66,7 @@ jobs: needs: ${{ toJson(needs) }} dependencies: mingw-w64-cross-winpthreads packages_repository: Windows-on-ARM-Experiments/MSYS2-packages - packages_branch: ${{ github.event.inputs.msys2_packages_branch || 'woarm64' }} + packages_branch: ${{ inputs.msys2_packages_branch || 'woarm64' }} mingw-w64-cross-winpthreads: needs: @@ -81,7 +81,7 @@ jobs: package_name: mingw-w64-cross-winpthreads needs: ${{ toJson(needs) }} packages_repository: Windows-on-ARM-Experiments/MSYS2-packages - packages_branch: ${{ github.event.inputs.msys2_packages_branch || 'woarm64' }} + packages_branch: ${{ inputs.msys2_packages_branch || 'woarm64' }} mingw-w64-cross-gcc: needs: @@ -98,7 +98,7 @@ jobs: package_name: mingw-w64-cross-gcc needs: ${{ toJson(needs) }} packages_repository: Windows-on-ARM-Experiments/MSYS2-packages - packages_branch: ${{ github.event.inputs.msys2_packages_branch || 'woarm64' }} + packages_branch: ${{ inputs.msys2_packages_branch || 'woarm64' }} mingw-w64-cross-zlib: needs: [ @@ -115,4 +115,4 @@ jobs: package_name: mingw-w64-cross-zlib needs: ${{ toJson(needs) }} packages_repository: Windows-on-ARM-Experiments/MSYS2-packages - packages_branch: ${{ github.event.inputs.msys2_packages_branch || 'woarm64' }} + packages_branch: ${{ inputs.msys2_packages_branch || 'woarm64' }}