forked from androidx/androidx
-
Notifications
You must be signed in to change notification settings - Fork 103
Run pre-merge PR checks on GitHub Actions #2414
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
Merged
Merged
Changes from all commits
Commits
Show all changes
28 commits
Select commit
Hold shift + click to select a range
823520b
Remove AOSP setup
MatkovIvan 404791b
Run Pull Request Checks on GitHub Actions
MatkovIvan 2ffa44f
Enable gradle cache
MatkovIvan 6db3138
Run all tests on Firefox, use version matrix for chrome
MatkovIvan ddb06da
Reuse cache if available, less verbose logs
MatkovIvan 7a77953
Disable fail-fast strategy in web tests
MatkovIvan 675603a
Move check API and publish dry run to separate actions
MatkovIvan 10ebbc9
Ignore flaky tests with TODOs
MatkovIvan e9c8982
Reuse setup prerequisites steps
MatkovIvan 24cfb3f
iOS tests: split back, set xcode to 16.2 and publish test results
MatkovIvan 3696d84
Setup Xcode with DerivedData cache
MatkovIvan 9183a38
Report test results via xcpretty
MatkovIvan 66eeb72
Try large macOS runners
MatkovIvan 284574d
Make sure that 18.2 is available on agent
MatkovIvan 6daa4ee
Limit gradle heap to 12g to make it compatiable with 16g agents
MatkovIvan 5fccaab
Write caches only from jb-main
MatkovIvan aad9364
Remove androidx.ignoreTestFailures flag
MatkovIvan 8aeafc7
Ignore one more flaky test
MatkovIvan 077e2b7
Ignore another flaky test
MatkovIvan 12006e1
Add timeout for iOS tests
MatkovIvan 6892d0e
Merge branch 'jb-main' into ivan.matkov/pr-gha-checks
MatkovIvan bb42935
Try to precompile web tests
MatkovIvan a53b094
Ignore more flaky tests
MatkovIvan 337cb87
Add "Configure Simulator" step for iOS Instrumented Tests
MatkovIvan 40a46dc
Upload test results for CMPUIKitUtils in case of fail
MatkovIvan d0d954d
Ignore one more flaky web test
MatkovIvan 0beede2
Add iOS tests timeouts and retries
MatkovIvan 5630370
Temporary keep iOS Utils and Instrumented Tests on TeamCity
MatkovIvan File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,25 @@ | ||
| name: 'Setup Prerequisites' | ||
| runs: | ||
| using: "composite" | ||
| steps: | ||
| - name: Setup JDK 21 | ||
| uses: actions/setup-java@v4 | ||
| with: | ||
| java-version: '21' | ||
| distribution: 'corretto' | ||
|
|
||
| - name: Setup Android SDK | ||
| uses: android-actions/setup-android@v2 | ||
|
|
||
| - name: Setup Gradle | ||
| uses: gradle/actions/setup-gradle@v4 | ||
| with: | ||
| # Only save Gradle User Home state for builds on the 'jb-main' branch. | ||
| # Builds on other branches will only read existing entries from the cache. | ||
| cache-read-only: ${{ github.ref != 'refs/heads/jb-main' }} | ||
|
|
||
| # Limit the size of the cache entry. | ||
| # These directories contain instrumented/transformed dependency jars which can be reconstructed relatively quickly. | ||
| gradle-home-cache-excludes: | | ||
| caches/jars-9 | ||
| caches/transforms-3 | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,23 @@ | ||
| name: 'Setup Xcode' | ||
| runs: | ||
| using: "composite" | ||
| steps: | ||
| # List of available Xcode versions: | ||
| # https://github.com/actions/runner-images/blob/main/images/macos/macos-15-Readme.md#xcode | ||
| # Note that explicit download is required due to updated support policy: | ||
| # https://github.com/actions/runner-images/issues/12758#issuecomment-3206748945 | ||
| - name: Setup Xcode version | ||
| shell: bash | ||
| run: | | ||
| sudo xcode-select -s /Applications/Xcode_16.2.app/Contents/Developer | ||
ASalavei marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| xcodebuild -downloadPlatform iOS -buildVersion 18.2 | ||
| /usr/bin/xcodebuild -version | ||
|
|
||
| - name: Cache Xcode DerivedData | ||
| uses: irgaly/xcode-cache@v1 | ||
| with: | ||
| key: xcode-cache-deriveddata-${{ github.sha }} | ||
| restore-keys: xcode-cache-deriveddata- | ||
| # Only save DerivedData state for builds on the 'jb-main' branch. | ||
| # Builds on other branches will only read existing entries from the cache. | ||
| cache-read-only: ${{ github.ref != 'refs/heads/jb-main' }} | ||
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,26 @@ | ||
| name: Check Public API | ||
| on: | ||
| workflow_dispatch: | ||
| pull_request: | ||
| push: | ||
| branches: | ||
| - jb-main | ||
|
|
||
| jobs: | ||
| check-public-api: | ||
| runs-on: macos-15-xlarge | ||
| name: Check Public API | ||
| steps: | ||
| - name: Checkout Repository | ||
| uses: actions/checkout@v5 | ||
|
|
||
| - name: Setup Prerequisites | ||
| uses: ./.github/actions/setup-prerequisites | ||
|
|
||
| - name: Setup Xcode | ||
| uses: ./.github/actions/setup-xcode | ||
|
|
||
| - name: Check Public API | ||
| run: | | ||
| ./gradlew jbApiCheck \ | ||
| --no-daemon --stacktrace |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,56 @@ | ||
| name: Compose Publish Dry Run | ||
| on: | ||
| workflow_dispatch: | ||
| pull_request: | ||
| push: | ||
| branches: | ||
| - jb-main | ||
|
|
||
| jobs: | ||
| compose-native-publish: | ||
| runs-on: macos-15-xlarge | ||
| name: Dry Run Compose Publish Darwin + Native Linux | ||
| steps: | ||
| - name: Checkout Repository | ||
| uses: actions/checkout@v5 | ||
|
|
||
| - name: Setup Prerequisites | ||
| uses: ./.github/actions/setup-prerequisites | ||
|
|
||
| - name: Setup Xcode | ||
| uses: ./.github/actions/setup-xcode | ||
|
|
||
| - name: Compose Publish Darwin + Native Linux | ||
| run: | | ||
| ./gradlew publishComposeJb -Pcompose.platforms=macos,uikit,tvos,watchos,linux,mingw \ | ||
| --no-daemon --stacktrace | ||
|
|
||
| compose-web-publish: | ||
| runs-on: ubuntu-24.04 | ||
| name: Dry Run Compose Publish Web | ||
| steps: | ||
| - name: Checkout Repository | ||
| uses: actions/checkout@v5 | ||
|
|
||
| - name: Setup Prerequisites | ||
| uses: ./.github/actions/setup-prerequisites | ||
|
|
||
| - name: Compose Publish Web | ||
| run: | | ||
| ./gradlew publishComposeJb -Pcompose.platforms=web \ | ||
| --no-daemon --stacktrace | ||
|
|
||
| compose-jvm-publish: | ||
| runs-on: ubuntu-24.04 | ||
| name: Dry Run Compose Publish JVM | ||
| steps: | ||
| - name: Checkout Repository | ||
| uses: actions/checkout@v5 | ||
|
|
||
| - name: Setup Prerequisites | ||
| uses: ./.github/actions/setup-prerequisites | ||
|
|
||
| - name: Compose Publish JVM | ||
| run: | | ||
| ./gradlew publishComposeJb -Pcompose.platforms=jvm,android \ | ||
| --no-daemon --stacktrace |
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please, also remove TeamCity PR checks at the moment you merge this PR
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
https://jetbrains.team/p/ui/reviews/64
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TC checks are expecteed to be red from this point (this branch)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Version without moving iOS tests - https://jetbrains.team/p/ui/reviews/66