97 lines
3.0 KiB
YAML
97 lines
3.0 KiB
YAML
name: main
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
|
|
jobs:
|
|
build:
|
|
if: ${{ github.repository != 'msys2/MINGW-packages' || github.event_name != 'push' || github.ref != 'refs/heads/master'}}
|
|
runs-on: windows-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include: [
|
|
{ msystem: MINGW64, toolchain: mingw-w64-x86_64-toolchain, can-fail: false },
|
|
{ msystem: MINGW32, toolchain: mingw-w64-i686-toolchain, can-fail: false },
|
|
{ msystem: UCRT64, toolchain: mingw-w64-ucrt-x86_64-toolchain, can-fail: false },
|
|
{ msystem: CLANG64, toolchain: mingw-w64-clang-x86_64-toolchain, can-fail: true },
|
|
{ msystem: CLANG32, toolchain: '', can-fail: true }
|
|
]
|
|
name: ${{ matrix.msystem }}
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
with:
|
|
path: temp
|
|
fetch-depth: 0
|
|
|
|
# to match the autobuild environment
|
|
- uses: actions/setup-python@v2
|
|
with:
|
|
python-version: '3.8'
|
|
|
|
- uses: msys2/setup-msys2@v2
|
|
with:
|
|
msystem: MSYS
|
|
install: git msys2-devel base-devel binutils pactoys-git ${{ matrix.toolchain }}
|
|
update: true
|
|
|
|
- name: Add staging repo
|
|
shell: msys2 {0}
|
|
run: |
|
|
sed -i '1s|^|[staging]\nServer = https://repo.msys2.org/staging/\nSigLevel = Never\n[clang32]\nInclude = /etc/pacman.d/mirrorlist.clang32\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' }}
|
|
run: |
|
|
msys2 -c 'pacman --noconfirm --overwrite "*" -S --needed mingw-w64-clang-i686-toolchain'
|
|
|
|
- name: Move Checkout
|
|
run: |
|
|
Copy-Item -Path ".\temp" -Destination "C:\_" -Recurse
|
|
|
|
- name: CI-Build
|
|
shell: msys2 {0}
|
|
continue-on-error: ${{ matrix.can-fail }}
|
|
id: build
|
|
run: |
|
|
cd /C/_
|
|
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.*
|
|
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
|