From c768f4fc7a7dc7c17586f14508814032dc8ade22 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