From 9f2ce68719a7acddad6f1a94c1375c0b8b17d3e5 Mon Sep 17 00:00:00 2001 From: Patric Stout Date: Sun, 10 Mar 2024 10:48:11 +0100 Subject: [PATCH] Codechange: [CI] build some targets every night, instead of every PR This mainly as they are not expected to fail, or give more information than the other targets already would. And this is just hogging up the CI pipeline. On average, these targets take ~80 CPU-minutes to finish. --- .dorpsgek.yml | 1 + .github/workflows/ci-build.yml | 30 +----------- .github/workflows/ci-nightly.yml | 82 ++++++++++++++++++++++++++++++++ 3 files changed, 85 insertions(+), 28 deletions(-) create mode 100644 .github/workflows/ci-nightly.yml diff --git a/.dorpsgek.yml b/.dorpsgek.yml index bbd2b9780a..2a1dc5f0f5 100644 --- a/.dorpsgek.yml +++ b/.dorpsgek.yml @@ -17,3 +17,4 @@ notifications: workflow-run: only: - .github/workflows/release.yml + - .github/workflows/ci-nightly.yml diff --git a/.github/workflows/ci-build.yml b/.github/workflows/ci-build.yml index 059ee338ab..0cedad4c61 100644 --- a/.github/workflows/ci-build.yml +++ b/.github/workflows/ci-build.yml @@ -1,4 +1,4 @@ -name: CI +name: CI - Build on: pull_request: @@ -38,10 +38,6 @@ jobs: compiler: gcc cxxcompiler: g++ libraries: libsdl2-dev - - name: GCC - SDL1.2 - compiler: gcc - cxxcompiler: g++ - libraries: libsdl1.2-dev - name: GCC - Dedicated compiler: gcc cxxcompiler: g++ @@ -83,13 +79,11 @@ jobs: matrix: include: - os: windows-latest - name: Windows arch: x86 - os: windows-latest - name: Windows arch: x64 - name: ${{ matrix.name }} (${{ matrix.arch }}) + name: Windows (${{ matrix.arch }}) uses: ./.github/workflows/ci-windows.yml secrets: inherit @@ -98,25 +92,6 @@ jobs: os: ${{ matrix.os }} arch: ${{ matrix.arch }} - mingw: - strategy: - fail-fast: false - matrix: - include: - - msystem: MINGW64 - arch: x86_64 - - msystem: MINGW32 - arch: i686 - - name: MinGW (${{ matrix.arch }}) - - uses: ./.github/workflows/ci-mingw.yml - secrets: inherit - - with: - msystem: ${{ matrix.msystem }} - arch: ${{ matrix.arch }} - check_annotations: name: Check Annotations needs: @@ -124,7 +99,6 @@ jobs: - linux - macos - windows - - mingw if: always() && github.event_name == 'pull_request' diff --git a/.github/workflows/ci-nightly.yml b/.github/workflows/ci-nightly.yml new file mode 100644 index 0000000000..15bc55a97c --- /dev/null +++ b/.github/workflows/ci-nightly.yml @@ -0,0 +1,82 @@ +name: CI - Nightly + +on: + schedule: + - cron: '0 3 * * *' + workflow_dispatch: + +env: + CTEST_OUTPUT_ON_FAILURE: 1 + +jobs: + linux: + strategy: + fail-fast: false + matrix: + include: + - name: GCC - SDL1.2 + compiler: gcc + cxxcompiler: g++ + libraries: libsdl1.2-dev + + name: Linux (${{ matrix.name }}) + + uses: ./.github/workflows/ci-linux.yml + secrets: inherit + + with: + compiler: ${{ matrix.compiler }} + cxxcompiler: ${{ matrix.cxxcompiler }} + libraries: ${{ matrix.libraries }} + extra-cmake-parameters: + + macos: + strategy: + fail-fast: false + matrix: + include: + - arch: x64 + full_arch: x86_64 + + name: Mac OS (${{ matrix.arch }}) + + uses: ./.github/workflows/ci-macos.yml + secrets: inherit + + with: + arch: ${{ matrix.arch }} + full_arch: ${{ matrix.full_arch }} + + mingw: + strategy: + fail-fast: false + matrix: + include: + - msystem: MINGW64 + arch: x86_64 + - msystem: MINGW32 + arch: i686 + + name: MinGW (${{ matrix.arch }}) + + uses: ./.github/workflows/ci-mingw.yml + secrets: inherit + + with: + msystem: ${{ matrix.msystem }} + arch: ${{ matrix.arch }} + + check_annotations: + name: Check Annotations + needs: + - linux + - macos + - mingw + + if: always() + + runs-on: ubuntu-latest + + steps: + - name: Check annotations + uses: OpenTTD/actions/annotation-check@v5