Pull Request CI #2644
Workflow file for this run
This file contains 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: Pull Request CI | |
on: | |
pull_request: | |
branches: | |
- 'dev' | |
merge_group: | |
# Concurrency strategy: | |
# github.workflow: distinguish this workflow from others | |
# github.event_name: distinguish `push` event from `pull_request` and 'merge_group' event | |
# github.ref_name: distinguish branch | |
# github.repository: distinguish owner+repository | |
# | |
# Reference: | |
# https://docs.github.com/en/actions/using-jobs/using-concurrency | |
# https://docs.github.com/en/actions/learn-github-actions/contexts#github-context | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event_name }}-${{github.ref_name}}-${{github.repository}} | |
cancel-in-progress: true | |
jobs: | |
validate_gradle_wrapper: | |
name: "Validate gradle wrapper" | |
uses: ./.github/workflows/call-validate-gradle-wrapper.yml | |
check_changelog_changed: | |
name: "Validate CHANGELOG changed" | |
uses: ./.github/workflows/call-check-changelog.yml | |
update_gradle_cache: | |
name: "Gradle configuration change check" | |
needs: [ validate_gradle_wrapper ] | |
uses: ./.github/workflows/call-configuration-change.yml | |
info: | |
name: "Display concurrency info" | |
runs-on: ubuntu-latest | |
needs: [ validate_gradle_wrapper ] | |
steps: | |
- run: | | |
echo "github.workflow=${{ github.workflow }}" | |
echo "github.event_name=${{ github.event_name }}" | |
echo "github.ref_name=${{ github.ref_name }}" | |
echo "github.repository=${{ github.repository }}" | |
test: | |
name: "Run unit tests" | |
runs-on: ubuntu-latest | |
needs: [ validate_gradle_wrapper ] | |
strategy: | |
matrix: | |
target: [ "testDebugUnitTest", "desktopTest" ] | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | |
with: | |
submodules: 'recursive' | |
- name: Set up JDK 1.17 | |
uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4 | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
- name: "Test ${{ matrix.target }}" | |
uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3 | |
with: | |
arguments: ${{ matrix.target }} | |
detekt: | |
name: "Check project by linters" | |
runs-on: ubuntu-latest | |
needs: [ validate_gradle_wrapper ] | |
strategy: | |
matrix: | |
target: [ "detektMain", "lint" ] | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | |
with: | |
submodules: 'recursive' | |
- name: Set up JDK 1.17 | |
uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4 | |
with: | |
distribution: 'temurin' | |
java-version: '17' | |
- name: "Lint by ${{ matrix.target }}" | |
uses: gradle/gradle-build-action@ac2d340dc04d9e1113182899e983b5400c17cda1 # v3 | |
with: | |
arguments: ${{ matrix.target }} |