From 6dbc711e07ef73eef93b0fd7c6d8fa564f02eaf3 Mon Sep 17 00:00:00 2001 From: Brendan Ward Date: Thu, 16 Jun 2022 11:31:59 -0700 Subject: [PATCH] CI: ignore non-target platforms / CI workflows from each CI workflow (#333) * ignore non-target platforms / CI workflows from each CI workflow * Add missing exclusions, try to fix concurrency * Try different concurrency setting * Concurrency needs to be at workflow rather than job level * trivial commit to test canceling previous CI jobs * Remove concurrency from android-ci * Try without wildcard exclusions of CI workflows * Try more specific path exclusions in other CI workflows * Minor change to see if other workflows are triggered --- .github/workflows/android-ci-pull.yml | 35 +++++++++++--- .github/workflows/android-ci.yml | 31 ++++++++++--- .github/workflows/ios-ci.yml | 63 ++++++++++++++++++++----- .github/workflows/macos-ci.yml | 67 +++++++++++++++++++++------ .github/workflows/node-ci.yml | 62 +++++++++++++++++++++---- .github/workflows/qt-ci-windows.yml | 55 ++++++++++++++++++---- .github/workflows/qt-ci.yml | 57 +++++++++++++++++++---- DEVELOPING.md | 1 + 8 files changed, 307 insertions(+), 64 deletions(-) diff --git a/.github/workflows/android-ci-pull.yml b/.github/workflows/android-ci-pull.yml index 3dab73eb7..0216f9bf0 100644 --- a/.github/workflows/android-ci-pull.yml +++ b/.github/workflows/android-ci-pull.yml @@ -6,18 +6,39 @@ on: branches: - main paths-ignore: - - "platform/ios/**" - - "platform/qt/**" - - ".github/**" - - "README.md" - ".gitignore" + - "README.md" + # ignore other platforms + - "platform/darwin/**" + - "platform/glfw/**" + - "platform/ios/**" + - "platform/node/**" + - "platform/qt/**" + # ignore CI for other platforms + - ".github/FUNDING.yml" + - ".github/workflows/android-ci.yml" + - ".github/workflows/android-docker-base.yml" + - ".github/workflows/android-docker-ndk-r21b.yml" + - ".github/workflows/gh-pages-android-api.yml" + - ".github/workflows/gh-pages-ios-api.yml" + - ".github/workflows/ios-ci.yml" + - ".github/workflows/ios-pre-release.yml" + - ".github/workflows/ios-release.yml" + - ".github/workflows/macos-ci.yml" + - ".github/workflows/macos-release.yml" + - ".github/workflows/node-ci.yml" + - ".github/workflows/qt-ci-windows.yml" + - ".github/workflows/qt-ci.yml" + - ".github/workflows/update-gl-js.yml" + +concurrency: + # cancel jobs on PRs only + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} jobs: build: runs-on: ubuntu-20.04 - concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true defaults: run: working-directory: platform/android diff --git a/.github/workflows/android-ci.yml b/.github/workflows/android-ci.yml index 11ece838f..54901bd5d 100644 --- a/.github/workflows/android-ci.yml +++ b/.github/workflows/android-ci.yml @@ -6,18 +6,35 @@ on: tags-ignore: - '**' paths-ignore: - - "platform/ios/**" - - "platform/qt/**" - - ".github/**" - - "README.md" - ".gitignore" + - "README.md" + # ignore other platforms + - "platform/darwin/**" + - "platform/glfw/**" + - "platform/ios/**" + - "platform/macos/**" + - "platform/node/**" + - "platform/qt/**" + # ignore CI for other platforms + - ".github/FUNDING.yml" + - ".github/workflows/android-ci-pull.yml" + - ".github/workflows/android-docker-base.yml" + - ".github/workflows/android-docker-ndk-r21b.yml" + - ".github/workflows/gh-pages-android-api.yml" + - ".github/workflows/gh-pages-ios-api.yml" + - ".github/workflows/ios-ci.yml" + - ".github/workflows/ios-pre-release.yml" + - ".github/workflows/ios-release.yml" + - ".github/workflows/macos-ci.yml" + - ".github/workflows/macos-release.yml" + - ".github/workflows/node-ci.yml" + - ".github/workflows/qt-ci-windows.yml" + - ".github/workflows/qt-ci.yml" + - ".github/workflows/update-gl-js.yml" jobs: build: runs-on: ubuntu-20.04 - concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true defaults: run: working-directory: platform/android diff --git a/.github/workflows/ios-ci.yml b/.github/workflows/ios-ci.yml index 8275dc428..eabf10a1f 100644 --- a/.github/workflows/ios-ci.yml +++ b/.github/workflows/ios-ci.yml @@ -6,27 +6,68 @@ on: tags-ignore: - '**' paths-ignore: - - "platform/android/**" - - "platform/qt/**" - - ".github/**" - - "README.md" - ".gitignore" + - "README.md" + # ignore other platforms + - "platform/android/**" + - "platform/darwin/**" + - "platform/glfw/**" + - "platform/macos/**" + - "platform/node/**" + - "platform/qt/**" + # ignore CI for other platforms + - ".github/FUNDING.yml" + - ".github/workflows/android-ci.yml" + - ".github/workflows/android-ci-pull.yml" + - ".github/workflows/android-docker-base.yml" + - ".github/workflows/android-docker-ndk-r21b.yml" + - ".github/workflows/gh-pages-android-api.yml" + - ".github/workflows/gh-pages-ios-api.yml" + - ".github/workflows/ios-pre-release.yml" + - ".github/workflows/ios-release.yml" + - ".github/workflows/macos-ci.yml" + - ".github/workflows/macos-release.yml" + - ".github/workflows/node-ci.yml" + - ".github/workflows/qt-ci-windows.yml" + - ".github/workflows/qt-ci.yml" + - ".github/workflows/update-gl-js.yml" + pull_request: branches: - main paths-ignore: - - "platform/android/**" - - "platform/qt/**" - - ".github/**" - - "README.md" - ".gitignore" + - "README.md" + # ignore other platforms + - "platform/android/**" + - "platform/darwin/**" + - "platform/glfw/**" + - "platform/node/**" + - "platform/qt/**" + # ignore CI for other platforms + - ".github/FUNDING.yml" + - ".github/workflows/android-ci.yml" + - ".github/workflows/android-ci-pull.yml" + - ".github/workflows/android-docker-base.yml" + - ".github/workflows/android-docker-ndk-r21b.yml" + - ".github/workflows/gh-pages-android-api.yml" + - ".github/workflows/gh-pages-ios-api.yml" + - ".github/workflows/ios-pre-release.yml" + - ".github/workflows/ios-release.yml" + - ".github/workflows/macos-ci.yml" + - ".github/workflows/macos-release.yml" + - ".github/workflows/node-ci.yml" + - ".github/workflows/qt-ci-windows.yml" + - ".github/workflows/qt-ci.yml" + - ".github/workflows/update-gl-js.yml" jobs: build: runs-on: macos-10.15 - concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true + concurrency: + # cancel jobs on PRs only + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} env: BUILDTYPE: Debug HOMEBREW_NO_AUTO_UPDATE: 1 diff --git a/.github/workflows/macos-ci.yml b/.github/workflows/macos-ci.yml index 2a66c8eec..75302ef20 100644 --- a/.github/workflows/macos-ci.yml +++ b/.github/workflows/macos-ci.yml @@ -3,32 +3,73 @@ name: macos-ci on: workflow_dispatch: push: + branches: + - main tags-ignore: - '**' paths-ignore: - - "platform/android/**" - - "platform/qt/**" - - ".github/**" - - "README.md" - ".gitignore" - branches: - - main + - "README.md" + # ignore other platforms + - "platform/android/**" + - "platform/glfw/**" + - "platform/ios/**" + - "platform/node/**" + - "platform/qt/**" + # ignore CI for other platforms + - ".github/FUNDING.yml" + - ".github/workflows/android-ci.yml" + - ".github/workflows/android-ci-pull.yml" + - ".github/workflows/android-docker-base.yml" + - ".github/workflows/android-docker-ndk-r21b.yml" + - ".github/workflows/gh-pages-android-api.yml" + - ".github/workflows/gh-pages-ios-api.yml" + - ".github/workflows/ios-ci.yml" + - ".github/workflows/ios-pre-release.yml" + - ".github/workflows/ios-release.yml" + - ".github/workflows/macos-release.yml" + - ".github/workflows/node-ci.yml" + - ".github/workflows/qt-ci-windows.yml" + - ".github/workflows/qt-ci.yml" + - ".github/workflows/update-gl-js.yml" + pull_request: branches: - main paths-ignore: - - "platform/android/**" - - "platform/qt/**" - - ".github/**" - - "README.md" - ".gitignore" + - "README.md" + # ignore other platforms + - "platform/android/**" + - "platform/glfw/**" + - "platform/ios/**" + - "platform/node/**" + - "platform/qt/**" + # ignore CI for other platforms + - ".github/FUNDING.yml" + - ".github/workflows/android-ci.yml" + - ".github/workflows/android-ci-pull.yml" + - ".github/workflows/android-docker-base.yml" + - ".github/workflows/android-docker-ndk-r21b.yml" + - ".github/workflows/gh-pages-android-api.yml" + - ".github/workflows/gh-pages-ios-api.yml" + - ".github/workflows/ios-ci.yml" + - ".github/workflows/ios-pre-release.yml" + - ".github/workflows/ios-release.yml" + - ".github/workflows/macos-release.yml" + - ".github/workflows/node-ci.yml" + - ".github/workflows/qt-ci-windows.yml" + - ".github/workflows/qt-ci.yml" + - ".github/workflows/update-gl-js.yml" + +concurrency: + # cancel jobs on PRs only + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} jobs: build: runs-on: macos-10.15 - concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true env: BUILDTYPE: Debug HOMEBREW_NO_AUTO_UPDATE: 1 diff --git a/.github/workflows/node-ci.yml b/.github/workflows/node-ci.yml index 70c7e4c89..1932257dc 100644 --- a/.github/workflows/node-ci.yml +++ b/.github/workflows/node-ci.yml @@ -6,19 +6,68 @@ on: tags-ignore: - '**' paths-ignore: - - "platform/android/**" - - "platform/ios/**" - - "platform/qt/**" - ".gitignore" + - "README.md" + # ignore other platforms + - "platform/android/**" + - "platform/darwin/**" + - "platform/glfw/**" + - "platform/ios/**" + - "platform/macos/**" + - "platform/qt/**" + # ignore CI for other platforms + - ".github/FUNDING.yml" + - ".github/workflows/android-ci.yml" + - ".github/workflows/android-ci-pull.yml" + - ".github/workflows/android-docker-base.yml" + - ".github/workflows/android-docker-ndk-r21b.yml" + - ".github/workflows/gh-pages-android-api.yml" + - ".github/workflows/gh-pages-ios-api.yml" + - ".github/workflows/ios-ci.yml" + - ".github/workflows/ios-pre-release.yml" + - ".github/workflows/ios-release.yml" + - ".github/workflows/macos-ci.yml" + - ".github/workflows/macos-release.yml" + - ".github/workflows/qt-ci-windows.yml" + - ".github/workflows/qt-ci.yml" + - ".github/workflows/update-gl-js.yml" branches: - main + pull_request: branches: - main paths-ignore: - - "platform/android/**" - - "platform/ios/**" - ".gitignore" + - "README.md" + # ignore other platforms + - "platform/android/**" + - "platform/darwin/**" + - "platform/glfw/**" + - "platform/ios/**" + - "platform/macos/**" + - "platform/qt/**" + # ignore CI for other platforms + - ".github/FUNDING.yml" + - ".github/workflows/android-ci.yml" + - ".github/workflows/android-ci-pull.yml" + - ".github/workflows/android-docker-base.yml" + - ".github/workflows/android-docker-ndk-r21b.yml" + - ".github/workflows/gh-pages-android-api.yml" + - ".github/workflows/gh-pages-ios-api.yml" + - ".github/workflows/ios-ci.yml" + - ".github/workflows/ios-pre-release.yml" + - ".github/workflows/ios-release.yml" + - ".github/workflows/macos-ci.yml" + - ".github/workflows/macos-release.yml" + - ".github/workflows/qt-ci-windows.yml" + - ".github/workflows/qt-ci.yml" + - ".github/workflows/update-gl-js.yml" + +concurrency: + # cancel jobs on PRs only + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} jobs: build: @@ -30,9 +79,6 @@ jobs: - ubuntu-20.04 - ubuntu-18.04 runs-on: ${{ matrix.os }} - concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true env: BUILDTYPE: ${{github.ref == 'refs/heads/main' && 'Release' || 'Debug'}} diff --git a/.github/workflows/qt-ci-windows.yml b/.github/workflows/qt-ci-windows.yml index 9a23c1af6..621ad070f 100644 --- a/.github/workflows/qt-ci-windows.yml +++ b/.github/workflows/qt-ci-windows.yml @@ -6,31 +6,68 @@ on: tags-ignore: - '**' paths-ignore: + - ".gitignore" + - "README.md" + # ignore other platforms - "platform/android/**" - "platform/darwin/**" + - "platform/glfw/**" - "platform/ios/**" - "platform/macos/**" - - ".github/**" - - "README.md" - - ".gitignore" + # ignore CI for other platforms + - ".github/FUNDING.yml" + - ".github/workflows/android-ci.yml" + - ".github/workflows/android-ci-pull.yml" + - ".github/workflows/android-docker-base.yml" + - ".github/workflows/android-docker-ndk-r21b.yml" + - ".github/workflows/gh-pages-android-api.yml" + - ".github/workflows/gh-pages-ios-api.yml" + - ".github/workflows/ios-ci.yml" + - ".github/workflows/ios-pre-release.yml" + - ".github/workflows/ios-release.yml" + - ".github/workflows/macos-ci.yml" + - ".github/workflows/macos-release.yml" + - ".github/workflows/node-ci.yml" + - ".github/workflows/qt-ci.yml" + - ".github/workflows/update-gl-js.yml" + pull_request: branches: - main paths-ignore: + - ".gitignore" + - "README.md" + # ignore other platforms - "platform/android/**" - "platform/darwin/**" + - "platform/glfw/**" - "platform/ios/**" - "platform/macos/**" - - ".github/**" - - "README.md" - - ".gitignore" + # ignore CI for other platforms + - ".github/FUNDING.yml" + - ".github/workflows/android-ci.yml" + - ".github/workflows/android-ci-pull.yml" + - ".github/workflows/android-docker-base.yml" + - ".github/workflows/android-docker-ndk-r21b.yml" + - ".github/workflows/gh-pages-android-api.yml" + - ".github/workflows/gh-pages-ios-api.yml" + - ".github/workflows/ios-ci.yml" + - ".github/workflows/ios-pre-release.yml" + - ".github/workflows/ios-release.yml" + - ".github/workflows/macos-ci.yml" + - ".github/workflows/macos-release.yml" + - ".github/workflows/node-ci.yml" + - ".github/workflows/qt-ci.yml" + - ".github/workflows/update-gl-js.yml" + +concurrency: + # cancel jobs on PRs only + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} jobs: build-core: runs-on: windows-latest - concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true strategy: matrix: include: diff --git a/.github/workflows/qt-ci.yml b/.github/workflows/qt-ci.yml index 765897aef..5dab5993e 100644 --- a/.github/workflows/qt-ci.yml +++ b/.github/workflows/qt-ci.yml @@ -6,22 +6,64 @@ on: tags-ignore: - '**' paths-ignore: + - ".gitignore" + - "README.md" + # ignore other platforms - "platform/android/**" - "platform/darwin/**" + - "platform/glfw/**" + - "platform/ios/**" - "platform/macos/**" - - ".github/**" - - "README.md" - - ".gitignore" + # ignore CI for other platforms + - ".github/FUNDING.yml" + - ".github/workflows/android-ci.yml" + - ".github/workflows/android-ci-pull.yml" + - ".github/workflows/android-docker-base.yml" + - ".github/workflows/android-docker-ndk-r21b.yml" + - ".github/workflows/gh-pages-android-api.yml" + - ".github/workflows/gh-pages-ios-api.yml" + - ".github/workflows/ios-ci.yml" + - ".github/workflows/ios-pre-release.yml" + - ".github/workflows/ios-release.yml" + - ".github/workflows/macos-ci.yml" + - ".github/workflows/macos-release.yml" + - ".github/workflows/node-ci.yml" + - ".github/workflows/qt-ci-windows.yml" + - ".github/workflows/update-gl-js.yml" + pull_request: branches: - main paths-ignore: + - ".gitignore" + - "README.md" + # ignore other platforms - "platform/android/**" - "platform/darwin/**" + - "platform/glfw/**" + - "platform/ios/**" - "platform/macos/**" - - ".github/**" - - "README.md" - - ".gitignore" + # ignore CI for other platforms + - ".github/FUNDING.yml" + - ".github/workflows/android-ci.yml" + - ".github/workflows/android-ci-pull.yml" + - ".github/workflows/android-docker-base.yml" + - ".github/workflows/android-docker-ndk-r21b.yml" + - ".github/workflows/gh-pages-android-api.yml" + - ".github/workflows/gh-pages-ios-api.yml" + - ".github/workflows/ios-ci.yml" + - ".github/workflows/ios-pre-release.yml" + - ".github/workflows/ios-release.yml" + - ".github/workflows/macos-ci.yml" + - ".github/workflows/macos-release.yml" + - ".github/workflows/node-ci.yml" + - ".github/workflows/qt-ci-windows.yml" + - ".github/workflows/update-gl-js.yml" + +concurrency: + # cancel jobs on PRs only + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} jobs: build-core: @@ -54,9 +96,6 @@ jobs: qt: 6.2.2 qt_target: desktop runs-on: ${{ matrix.os }} - concurrency: - group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} - cancel-in-progress: true env: BUILD_TYPE: Debug BUILD_MODE: ${{ matrix.static }} diff --git a/DEVELOPING.md b/DEVELOPING.md index 3dea88712..70f43d697 100644 --- a/DEVELOPING.md +++ b/DEVELOPING.md @@ -9,3 +9,4 @@ This is been rewritten to include: - How to run the render tests. - How to rebaseline baselines metrics. - How to use GL Native as a 3rd party library in your project. +