chore: CircleCI performance improvements on PRs 2 #10265
+68
−1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
This PR aims to improve CircleCI performance by running only relevant Jest tests on PR commits.
With this change, CircleCI only runs a subset of relevant Jest tests when:
release
,build-me
, orhotfix
ts(x)
files outside ofsrc/app/Scenes/
,the PR does not include abuild-me
tag.If a PR only updates
ts(x)
within a scene, CircleCI will from now on only run a subset of relevant tests (within the same scene or with a similar name).To Do
beta-
branches to ignored branchesyarn.lock
andpackage.json
updates need to trigger test suiteGithub Action idea to trigger when adding a tag
# Because we don't run all tests on every PR, adding the label "build-me" to a PR will trigger all tests to run on CircleCI. name: Run all js tests on "build-me" label on: pull_request: types: - labeled
jobs:
trigger:
permissions:
contents: none
runs-on: ubuntu-latest
steps:
- name: Trigger all js tests
run: |
curl
-X POST
--header "Content-Type: application/json"
-d "{"branch": "$GITHUB_HEAD_REF"}"
https://circleci.com/api/v1.1/project/github/artsy/eigen/build?circle-token=${{ secrets.CircleToken }}
Tests
Ideas
PR Checklist
To the reviewers 👀
Changelog updates
Changelog updates
Cross-platform user-facing changes
iOS user-facing changes
Android user-facing changes
Dev changes
Need help with something? Have a look at our docs, or get in touch with us.