Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Run workflows depending on changed files #11723

Merged
merged 43 commits into from
Dec 19, 2024

Conversation

4e6
Copy link
Contributor

@4e6 4e6 commented Nov 29, 2024

Pull Request Description

close #11579

Changelog:

  • update: add changed-files prerequisites to the existing workflows to dispatch them conditionally on files changed when PR is opened and unconditionally on push to develop:
    • gui-pull-request.yml GUI checks
    • wasm-pull-request.yml WASM checks
    • engine-pull-request.yml Engine checks
    • gui-packaging-pull-request.yml GUI packaging
  • update: mark macOS jobs with continue-on-error: true to make them optional (currently they are not required to merge to PR). Even if they fail, the final report will be successful.
  • refactor: rename workflow files to match their contents:
    • wasm-checks.yml WASM Checks (previously gui-tests.yml GUI Check)
    • engine-checks.yml Engine Checks (previously scala-new.yml Engine CI)
    • gui-packaging.yml GUI Packaging (previously gui.yml GUI Packaging)

Important Notes

This PR introduces multiple *-pull-request.yml workflows which are dispatched on pull requests and pushes to the develop branch, calling all other existing workflows (*-checks.yml) based on the files changed.

The final Required Checks step is required to gather the results of all (possibly skipped) checks. This will be the only (together with Cangelog and the Code Formatting) required check to merge the PR.

+---------------------------------------------------------------------------------------------------+
|   GUI                                                                                             |
|   gui-pull-request.yml                 +----------------------------+                             |
|                                   +--->| Storybook                  |---+                         |
|                                   |    | storybook.yml              |   |   +-----------------+   |
|                                   |    +----------------------------+   +-->| Required Checks |   |
|   +--------------------------+    |    +----------------------------+   |   +-----------------+   |
|   | GUI Files Changed        +----+--->| GUI Checks                 +---+                         |
|   | gui-changed-files.yml    |         | gui-checks.yml             |                             |
|   +--------------------------+         +----------------------------+                             |
|                                                                                                   |
+---------------------------------------------------------------------------------------------------+
                                                                                                     
                                                                                                     
+---------------------------------------------------------------------------------------------------+
|   WASM                                                                                            |
|   wasm-pull-request.yml                                                                           |
|                                                                                                   |
|   +--------------------------+         +----------------------------+       +-----------------+   |
|   | WASM Files Changed       +-------->+ WASM Checks                +------>| Required Checks |   |
|   | wasm-changed-files.yml   |         | wasm-checks.yml            |       +-----------------+   |
|   +--------------------------+         +----------------------------+                             |
|                                                                                                   |
+---------------------------------------------------------------------------------------------------+
                                                                                                     
                                                                                                     
+---------------------------------------------------------------------------------------------------+
|   Engine                                                                                          |
|   engine-pull-request.yml                                                                         |
|                                                                                                   |
|   +--------------------------+         +----------------------------+       +-----------------+   |
|   | Engine Files Changed     +----+--->| Engine Checks              +------>| Required Checks |   |
|   | engine-changed-files.yml |    |    | engine-checks.yml          |       +-----------------+   |
|   +--------------------------+    |    +----------------------------+                             |
|                                   |    +----------------------------+                             |
|                                   +--->| Engine Checks (macOS)      |                             |
|                                        | engine-checks-optional.yml |                             |
|                                        +----------------------------+                             |
|                                                                                                   |
+---------------------------------------------------------------------------------------------------+
                                                                                                     
                                                                                                     
+---------------------------------------------------------------------------------------------------+
|   GUI Packaging                                                                                   |
|   gui-packaging-pull-request.yml                                                                  |
|                                                                                                   |
|   +--------------------------+         +----------------------------+       +-----------------+   |
|   | GUI Files Changed        +----+--->| GUI Packaging              +------>| Required Checks |   |
|   | gui-changed-files.yml    |    |    | gui-packaging.yml          |       +-----------------+   |
|   +--------------------------+    |    +----------------------------+                             |
|   +--------------------------+    |    +----------------------------+                             |
|   | Engine Files Changed     +----+--->| GUI Packaging (macOS)      |                             |
|   | engine-changed-files.yml |         | gui-packaging-optional.yml |                             |
|   +--------------------------+         +----------------------------+                             |
|                                                                                                   |
+---------------------------------------------------------------------------------------------------+

@4e6 4e6 added CI: No changelog needed Do not require a changelog entry for this PR. -ci -build-script Category: build script labels Nov 29, 2024
@4e6 4e6 self-assigned this Nov 29, 2024
Copy link

github-actions bot commented Nov 29, 2024

🧪 Storybook is successfully deployed!

📊 Dashboard:

@4e6 4e6 requested review from AdRiley, hubertp and Frizi as code owners December 3, 2024 17:47
Copy link
Collaborator

@hubertp hubertp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

#yolo

@4e6 4e6 merged commit 42cfa69 into develop Dec 19, 2024
56 checks passed
@4e6 4e6 deleted the wip/db/11579-run-ci-backend-when-sources-changed branch December 19, 2024 09:09
@4e6 4e6 mentioned this pull request Dec 19, 2024
5 tasks
mergify bot pushed a commit that referenced this pull request Dec 19, 2024
followup to #11723

Do not cancel checks when a new commit is pushed to develop.
mergify bot pushed a commit that referenced this pull request Dec 20, 2024
followup to #11723

Add packaging workflows to GUI sources.
Frizi pushed a commit that referenced this pull request Dec 30, 2024
followup to #11723

Add packaging workflows to GUI sources.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
-build-script Category: build script -ci CI: No changelog needed Do not require a changelog entry for this PR.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Reduce CI workload by only running backend tests when engine or libs sources have changed
3 participants