I think this was added for "strip.exe", but that should be used from the active toolchain in PATH now. It's not there in autobuild as well.
130 lines
4.4 KiB
YAML
130 lines
4.4 KiB
YAML
name: main
|
|
|
|
concurrency:
|
|
group: ${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
|
|
jobs:
|
|
build:
|
|
if: ${{ github.event_name != 'push' || github.ref != 'refs/heads/master'}}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include: [
|
|
{ msystem: MINGW64, toolchain: mingw-w64-x86_64-toolchain, can-fail: false, runner: windows-latest },
|
|
{ msystem: MINGW32, toolchain: mingw-w64-i686-toolchain, can-fail: false, runner: windows-latest },
|
|
{ msystem: UCRT64, toolchain: mingw-w64-ucrt-x86_64-toolchain, can-fail: false, runner: windows-latest },
|
|
{ msystem: CLANG64, toolchain: mingw-w64-clang-x86_64-toolchain, can-fail: true, runner: windows-latest },
|
|
{ msystem: CLANG32, toolchain: '', can-fail: true, runner: windows-latest },
|
|
# { msystem: CLANGARM64, toolchain: '', can-fail: true, runner: ['Windows', 'ARM64'] }
|
|
]
|
|
name: ${{ matrix.msystem }}
|
|
runs-on: ${{ matrix.runner }}
|
|
steps:
|
|
- name: Get CPU Name
|
|
run : |
|
|
Get-CIMInstance -Class Win32_Processor | Select-Object -Property Name
|
|
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
path: temp
|
|
fetch-depth: 0
|
|
persist-credentials: false
|
|
|
|
# to match the autobuild environment
|
|
- uses: actions/setup-python@v2
|
|
with:
|
|
python-version: '3.8'
|
|
architecture: 'x64'
|
|
|
|
- uses: msys2/setup-msys2@v2
|
|
with:
|
|
msystem: ${{ contains(matrix.msystem, 'ARM64') && 'MSYS' || matrix.msystem }}
|
|
install: VCS base-devel pactoys ${{ matrix.toolchain }}
|
|
update: true
|
|
release: ${{ runner.arch != 'ARM64' }}
|
|
location: 'D:\M'
|
|
|
|
- name: Add staging repo
|
|
shell: msys2 {0}
|
|
run: |
|
|
cp /etc/pacman.conf /etc/pacman.conf.bak
|
|
grep -qF '[clang32]' /etc/pacman.conf || sed -i '1s|^|[clang32]\nInclude = /etc/pacman.d/mirrorlist.mingw\n|' /etc/pacman.conf
|
|
grep -qF '[clangarm64]' /etc/pacman.conf || sed -i '1s|^|[clangarm64]\nInclude = /etc/pacman.d/mirrorlist.mingw\n|' /etc/pacman.conf
|
|
sed -i '1s|^|[staging]\nServer = https://repo.msys2.org/staging/\nSigLevel = Never\n|' /etc/pacman.conf
|
|
|
|
- name: Update using staging
|
|
run: |
|
|
msys2 -c 'pacman --noconfirm -Suuy'
|
|
msys2 -c 'pacman --noconfirm -Suu'
|
|
|
|
- name: Install clang32 toolchain
|
|
if: ${{ matrix.msystem == 'CLANG32' || matrix.msystem == 'CLANGARM64' }}
|
|
run: |
|
|
msys2 -c 'pacman --noconfirm --overwrite "*" -S --needed mingw-w64-clang-${{ matrix.msystem == 'CLANG32' && 'i686' || 'aarch64' }}-toolchain'
|
|
|
|
- name: Move Checkout
|
|
run: |
|
|
If (Test-Path "C:\_") { rm -r -fo "C:\_" }
|
|
Copy-Item -Path ".\temp" -Destination "C:\_" -Recurse
|
|
|
|
- name: CI-Build
|
|
shell: msys2 {0}
|
|
continue-on-error: ${{ matrix.can-fail }}
|
|
id: build
|
|
run: |
|
|
cd /C/_
|
|
if [[ "$MSYSTEM" != "${{ matrix.msystem }}" ]]; then
|
|
MSYSTEM=${{ matrix.msystem }}
|
|
set +e
|
|
. shell ${MSYSTEM,,}
|
|
set -e
|
|
fi
|
|
MINGW_ARCH=${{ matrix.msystem }} ./.ci/ci-build.sh
|
|
|
|
- name: "Upload binaries"
|
|
uses: actions/upload-artifact@v2
|
|
continue-on-error: ${{ matrix.can-fail }}
|
|
with:
|
|
name: ${{ matrix.msystem }}-packages
|
|
path: C:/_/artifacts/*.pkg.tar.*
|
|
|
|
- name: "Clean up runner"
|
|
if: ${{ always() }}
|
|
continue-on-error: true
|
|
run: |
|
|
If (Test-Path "C:\_") { rm -r -fo "C:\_" }
|
|
msys2 -c 'mv -f /etc/pacman.conf.bak /etc/pacman.conf'
|
|
msys2 -c 'pacman --noconfirm -Suuy'
|
|
msys2 -c 'pacman --noconfirm -Suu'
|
|
|
|
check:
|
|
needs: [build]
|
|
runs-on: windows-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: actions/download-artifact@v2
|
|
continue-on-error: true
|
|
with:
|
|
name: MINGW64-packages
|
|
path: C:/_/artifacts
|
|
- name: Check whether to Run
|
|
id: check-run
|
|
run: |
|
|
python .ci/ci-check.py --whether-to-run
|
|
- uses: msys2/setup-msys2@v2
|
|
if: steps.check-run.outputs.run == 'true'
|
|
with:
|
|
msystem: MINGW64
|
|
install: mingw-w64-x86_64-python-pip
|
|
release: false # since we aren't building anything
|
|
- name: Run Checks
|
|
if: steps.check-run.outputs.run == 'true'
|
|
shell: msys2 {0}
|
|
run: |
|
|
python .ci/ci-check.py
|