Per discussion on discord, most use their master branch to mirror upstream, and do not need CI to run when they sync.
97 lines
2.9 KiB
YAML
97 lines
2.9 KiB
YAML
name: main
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
|
|
jobs:
|
|
build:
|
|
if: ${{ 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
|