Build #315
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
| name: Build | |
| on: | |
| push: | |
| branches: | |
| - master | |
| - branch-* | |
| - dogfood-* | |
| pull_request: | |
| workflow_dispatch: | |
| schedule: | |
| - cron: "30 1 * * *" # Run daily at 1:30 AM UTC | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build: | |
| # Build takes over 30 minutes on "s" and around 5 minutes on "m". | |
| runs-on: github-ubuntu-latest-m # Public repo | |
| name: Build | |
| permissions: | |
| id-token: write # Required for Vault OIDC authentication | |
| contents: write # Required for repository access and tagging | |
| outputs: | |
| build-number: ${{ steps.build-gradle.outputs.BUILD_NUMBER }} | |
| deployed: ${{ steps.build-gradle.outputs.deployed }} | |
| steps: | |
| - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 | |
| - uses: jdx/mise-action@5ac50f778e26fac95da98d50503682459e86d566 # v3.2.0 | |
| with: | |
| version: 2025.7.12 | |
| - name: Install Property Dump Plugin | |
| run: | | |
| mvn -f property-dump-plugin/pom.xml -B install | |
| # SCANGRADLE-306: | |
| # Run setup-gradle to prevent validating the wrapper in | |
| # integrationTests/src/test/resources/AndroidTestingBlueprintWithFeatureModule | |
| - name: Configure Gradle | |
| uses: gradle/actions/setup-gradle@748248ddd2a24f49513d8f472f81c3a07d4d50e1 # v4.4.4 | |
| with: | |
| # Parameters matching those invoked by build-gradle | |
| develocity-injection-enabled: false | |
| cache-disabled: true | |
| develocity-plugin-version: '4.0' | |
| validate-wrappers: false | |
| - uses: SonarSource/ci-github-actions/build-gradle@v1 | |
| id: build-gradle | |
| with: | |
| deploy-pull-request: true | |
| artifactory-reader-role: private-reader # Override default public-reader | |
| artifactory-deployer-role: qa-deployer # Override default public-deployer | |
| gradle-args: "-Dsonar.sca.exclusions=integrationTests/src/test/resources/**,src/test/projects/**" | |
| build-windows: | |
| name: Build Windows | |
| needs: | |
| - build | |
| runs-on: github-windows-latest-m # Public repo | |
| permissions: | |
| id-token: write # Required for Vault OIDC authentication | |
| contents: write # Required for repository access and tagging | |
| env: | |
| BUILD_NUMBER: ${{ needs.build.outputs.build-number }} | |
| steps: | |
| - name: Configure Long Paths | |
| run: git config --global core.longpaths true | |
| - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 | |
| - uses: jdx/mise-action@5ac50f778e26fac95da98d50503682459e86d566 # v3.2.0 | |
| with: | |
| version: 2025.7.12 | |
| - name: Build | |
| run: | | |
| ./gradlew --no-daemon --info --stacktrace --console plain build -DbuildNumber="$BUILD_NUMBER" | |
| qa: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| item: | |
| # Make sure to move `&latest-gradle-version` when adding a new test case with a new version. | |
| - gradle_version: &latest-gradle-version "9.2.1" | |
| - gradle_version: "9.1.0" | |
| - gradle_version: "9.0.0" | |
| - gradle_version: "8.13" | |
| - gradle_version: "8.13" | |
| android_gradle_version: "8.13.0" | |
| - gradle_version: "8.4" | |
| - gradle_version: "8.4" | |
| android_gradle_version: "8.3.0" | |
| - gradle_version: "8.0" | |
| - gradle_version: "7.6.4" | |
| - gradle_version: "7.5.1" | |
| android_gradle_version: "7.1.0" | |
| name: > | |
| QA Gradle ${{ matrix.item.gradle_version }} | |
| ${{ matrix.item.android_gradle_version && format(' Android {0}', matrix.item.android_gradle_version) || '' }} | |
| needs: | |
| - build | |
| runs-on: 'github-ubuntu-latest-m' | |
| permissions: | |
| id-token: write | |
| contents: write | |
| steps: | |
| - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 | |
| - uses: ./.github/actions/qa | |
| with: | |
| gradle-version: ${{ matrix.item.gradle_version }} | |
| android-gradle-version: ${{ matrix.item.android_gradle_version || 'NOT_AVAILABLE' }} | |
| qa-windows: | |
| name: QA Windows | |
| needs: | |
| # Note, that QA Windows runs the binary built on Linux, so we do not need to depend on build-windows. | |
| - build | |
| runs-on: 'github-windows-latest-m' | |
| permissions: | |
| id-token: write | |
| contents: write | |
| steps: | |
| # Windows needs this. | |
| - name: Configure Long Paths | |
| run: git config --global core.longpaths true | |
| - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0 | |
| - uses: ./.github/actions/qa | |
| with: | |
| gradle-version: *latest-gradle-version | |
| android-gradle-version: 'NOT_AVAILABLE' |