-
Notifications
You must be signed in to change notification settings - Fork 1.2k
GHA: Simplify CI flow #7301
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
base: develop
Are you sure you want to change the base?
GHA: Simplify CI flow #7301
Changes from all commits
516c26f
70d043f
78a056a
932adb8
2e4792f
62a2f6d
51fd7c3
7de0104
353735d
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -14,21 +14,19 @@ on: | |
| - '**.md' | ||
| - '.github/**' | ||
|
|
||
| concurrency: | ||
| group: ${{ github.workflow }}-${{ github.ref }} | ||
| cancel-in-progress: true | ||
|
|
||
| jobs: | ||
| code_formatting: | ||
| name: Code Formatting | ||
| runs-on: ubuntu-24.04 | ||
| ci: | ||
| name: CI | ||
| runs-on: ubuntu-latest | ||
|
|
||
| steps: | ||
| - name: Checkout repository | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| fetch-depth: 0 # required due to setting Spotless ratchetFrom | ||
| submodules: recursive | ||
| token: ${{ secrets.GT_DAXMOBILE }} | ||
| ref: ${{ github.event.inputs.ref }} | ||
|
|
||
| - name: Set up JDK version | ||
| uses: actions/setup-java@v4 | ||
|
|
@@ -39,27 +37,13 @@ jobs: | |
| - name: Setup Gradle | ||
| uses: gradle/actions/setup-gradle@v3 | ||
|
|
||
| - name: Run Code Formatting Checks | ||
| run: ./gradlew spotlessCheck | ||
|
|
||
| unit_tests: | ||
| name: Unit tests | ||
| runs-on: android-large-runner | ||
|
|
||
| steps: | ||
| - name: Checkout repository | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| submodules: recursive | ||
|
|
||
| - name: Set up JDK version | ||
| uses: actions/setup-java@v4 | ||
| - name: Set up Go | ||
| uses: actions/setup-go@v5 | ||
| with: | ||
| java-version-file: .github/.java-version | ||
| distribution: 'adopt' | ||
| go-version: '1.18.3' | ||
|
|
||
| - name: Setup Gradle | ||
| uses: gradle/actions/setup-gradle@v3 | ||
| - name: Run Code Formatting Checks | ||
| run: ./gradlew spotlessCheck | ||
|
|
||
| - name: JVM tests | ||
| run: ./gradlew jvm_tests | ||
|
|
@@ -75,30 +59,6 @@ jobs: | |
| name: unit-tests-report | ||
| path: unit-tests-report.zip | ||
|
|
||
| lint: | ||
| name: Lint | ||
| runs-on: android-large-runner | ||
|
|
||
| steps: | ||
| - name: Checkout repository | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| submodules: recursive | ||
|
|
||
| - name: Set up JDK version | ||
| uses: actions/setup-java@v4 | ||
| with: | ||
| java-version-file: .github/.java-version | ||
| distribution: 'adopt' | ||
|
|
||
| - name: Set up Go | ||
| uses: actions/setup-go@v5 | ||
| with: | ||
| go-version: '1.18.3' | ||
|
|
||
| - name: Setup Gradle | ||
| uses: gradle/actions/setup-gradle@v3 | ||
|
|
||
| - name: Lint | ||
| run: ./gradlew lint | ||
|
|
||
|
|
@@ -113,40 +73,11 @@ jobs: | |
| name: lint-report | ||
| path: lint-report.zip | ||
|
|
||
| android_tests: | ||
| runs-on: android-large-runner | ||
| name: Android CI tests | ||
|
|
||
| steps: | ||
| - name: Checkout repository | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| submodules: recursive | ||
|
|
||
| - name: Setup jq | ||
| uses: dcarbone/[email protected] | ||
| with: | ||
| force: true | ||
|
|
||
| - name: Set up JDK version | ||
| uses: actions/setup-java@v4 | ||
| with: | ||
| java-version-file: .github/.java-version | ||
| distribution: 'adopt' | ||
|
|
||
| - name: Set up Go | ||
| uses: actions/setup-go@v5 | ||
| with: | ||
| go-version: '1.18.3' | ||
|
|
||
| - name: Decode secret | ||
| env: | ||
| FLANK: ${{ secrets.FLANK }} | ||
| run: echo "$FLANK" > flank.json | ||
|
|
||
| - name: Setup Gradle | ||
| uses: gradle/actions/setup-gradle@v3 | ||
|
|
||
| - name: Build | ||
| run: ./gradlew androidTestsBuild | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,53 @@ | ||
| name: Mattermost - Send Message | ||
|
|
||
| on: | ||
| workflow_dispatch: | ||
| inputs: | ||
| mattermost-message: | ||
| description: 'Message to Send to Mattermost' | ||
| required: true | ||
| type: string | ||
| mattermost-channel-name: | ||
| description: 'Channel to Send the message to' | ||
| required: true | ||
| type: string | ||
| workflow_call: | ||
| inputs: | ||
| mattermost-message: | ||
| description: 'Message to Send to Mattermost' | ||
| required: true | ||
| type: string | ||
| mattermost-channel-name: | ||
| description: 'Channel to Send the message to' | ||
| required: true | ||
| type: string | ||
| secrets: | ||
| MM_AUTH_TOKEN: | ||
| required: true | ||
| MM_TEAM_ID: | ||
| required: true | ||
|
|
||
| env: | ||
| ASANA_PAT: ${{ secrets.ASANA_ACCESS_TOKEN }} | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🚫 [actionlint] reported by reviewdog 🐶 |
||
| emoji_start: ":flight_departure:" # 🛫 | ||
| emoji_info: ":information_source:" # ℹ️ | ||
|
|
||
| concurrency: | ||
| group: ${{ github.workflow }}-${{ github.ref }} | ||
| cancel-in-progress: true | ||
|
|
||
| jobs: | ||
| notify_mattermost: | ||
| name: Send Message to Mattermost | ||
| runs-on: macos-latest | ||
|
|
||
| steps: | ||
| - name: Notify Mattermost of Release starting | ||
| id: send-mm-release-starting | ||
| uses: duckduckgo/[email protected] | ||
| with: | ||
| mattermost-token: ${{ secrets.MM_AUTH_TOKEN }} | ||
| mattermost-team-id: ${{ secrets.MM_TEAM_ID }} | ||
| mattermost-channel-name: ${{ github.event.inputs.mattermost-channel-name }} | ||
| mattermost-message: ${{ github.event.inputs.mattermost-message }} | ||
| action: 'send-mattermost-message' | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📝 [actionlint] reported by reviewdog 🐶
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📝 [actionlint] reported by reviewdog 🐶
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📝 [actionlint] reported by reviewdog 🐶
|
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -7,6 +7,23 @@ on: | |
| description: 'App Version for Release' | ||
| required: true | ||
| default: 'PLACEHOLDER' | ||
| workflow_call: | ||
| inputs: | ||
| app-version: | ||
| description: 'App Version for Release' | ||
| required: true | ||
| type: string | ||
| outputs: | ||
| asana-task-url: | ||
| description: "The URL of the created Asana task" | ||
| value: ${{ jobs.create_release_task.outputs.asana_task_url }} | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🚫 [actionlint] reported by reviewdog 🐶 |
||
| secrets: | ||
| ASANA_ACCESS_TOKEN: | ||
| required: true | ||
| MM_AUTH_TOKEN: | ||
| required: true | ||
| MM_TEAM_ID: | ||
| required: true | ||
|
|
||
| env: | ||
| ASANA_PAT: ${{ secrets.ASANA_ACCESS_TOKEN }} | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,69 @@ | ||
| name: Release - Full Release Process | ||
|
|
||
| on: | ||
| workflow_dispatch: | ||
| inputs: | ||
| app-version: | ||
| description: 'App Version for Release' | ||
| required: true | ||
| default: 'PLACEHOLDER' | ||
|
|
||
| env: | ||
| emoji_start: ":flight_departure:" # 🛫 | ||
| emoji_info: ":information_source:" # ℹ️ | ||
|
|
||
| concurrency: | ||
| group: ${{ github.workflow }}-${{ github.event.inputs.app-version }} | ||
| cancel-in-progress: true | ||
|
|
||
| jobs: | ||
| notify_mattermost_start: | ||
| name: 'Step 1: Notify Mattermost of Release start' | ||
| uses: ./.github/workflows/notify_mattermost.yml | ||
| with: | ||
| mattermost-message: ${{env.emoji_start}} Starting release process for version ${{ github.event.inputs.app-version }} | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🚫 [actionlint] reported by reviewdog 🐶 |
||
| mattermost-channel-name: ${{ vars.MM_RELEASE_NOTIFY_CHANNEL }} | ||
| secrets: inherit | ||
|
|
||
| create_task: | ||
| name: 'Step 2: Create Asana Task' | ||
| uses: ./.github/workflows/release_create_task.yml | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🚫 [actionlint] reported by reviewdog 🐶
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🚫 [actionlint] reported by reviewdog 🐶
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🚫 [actionlint] reported by reviewdog 🐶 |
||
| needs: notify_mattermost_start | ||
| with: | ||
| app-version: ${{ github.event.inputs.app-version }} | ||
|
|
||
| run_release_tests: | ||
| name: 'Step 3: Run Release Tests' | ||
| needs: create_task | ||
| uses: ./.github/workflows/release_tests.yml | ||
| with: | ||
| app-version: ${{ github.event.inputs.app-version }} | ||
| test-tag: 'releaseTest' | ||
| secrets: inherit | ||
|
|
||
| upload_play_store: | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🚫 [actionlint] reported by reviewdog 🐶 |
||
| name: 'Step 4: Upload to Play Store' | ||
| needs: run_tests | ||
| uses: ./.github/workflows/release_upload_play_store.yml | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🚫 [actionlint] reported by reviewdog 🐶 |
||
| with: | ||
| app-version: ${{ github.event.inputs.app-version }} | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🚫 [actionlint] reported by reviewdog 🐶 |
||
| asana-task-url: ${{ needs.create_task.outputs.asana-task-url }} | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🚫 [actionlint] reported by reviewdog 🐶
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🚫 [actionlint] reported by reviewdog 🐶 |
||
| secrets: inherit | ||
|
|
||
| upload_internal: | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🚫 [actionlint] reported by reviewdog 🐶 |
||
| name: 'Step 5: Upload Internal Build' | ||
| needs: run_tests | ||
| uses: ./.github/workflows/release_upload_internal.yml | ||
| with: | ||
| app-version: ${{ github.event.inputs.app-version }} | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🚫 [actionlint] reported by reviewdog 🐶 |
||
| asana-task-url: ${{ needs.create_task.outputs.asana-task-url }} | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🚫 [actionlint] reported by reviewdog 🐶
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🚫 [actionlint] reported by reviewdog 🐶 |
||
| secrets: inherit | ||
|
|
||
| notify_mattermost_finish: | ||
| name: 'Step 1: Notify Mattermost of Release completed' | ||
| uses: ./.github/workflows/notify_mattermost.yml | ||
| needs: upload_play_store | ||
| with: | ||
| mattermost-message: ${{env.emoji_end}} Release ${{ github.event.inputs.app-version }} completed successfully and is now in review. | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🚫 [actionlint] reported by reviewdog 🐶 |
||
| mattermost-channel-name: ${{ vars.MM_RELEASE_NOTIFY_CHANNEL }} | ||
| secrets: inherit | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📝 [actionlint] reported by reviewdog 🐶 Android/.github/workflows/release_tests.yml Line 118 in 51fd7c3
|
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -12,6 +12,32 @@ on: | |
| required: true | ||
| default: 'releaseTest' | ||
|
|
||
| workflow_call: | ||
| inputs: | ||
| app-version: | ||
| description: 'App Version for Release' | ||
| required: true | ||
| type: string | ||
| test-tag: | ||
| description: 'Maestro Tests tag to include' | ||
| required: true | ||
| default: 'releaseTest' | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🚫 [actionlint] reported by reviewdog 🐶 |
||
| type: string | ||
| secrets: | ||
| ASANA_ACCESS_TOKEN: | ||
| required: false | ||
| FAKE_RELEASE_PROPERTIES: | ||
| required: true | ||
| FAKE_RELEASE_KEY: | ||
| required: true | ||
| MM_AUTH_TOKEN: | ||
| required: true | ||
| MM_TEAM_ID: | ||
| required: true | ||
| ROBIN_API_KEY: | ||
| required: true | ||
|
|
||
|
|
||
| env: | ||
| ASANA_PAT: ${{ secrets.ASANA_ACCESS_TOKEN }} | ||
| emoji_info: ":information_source:" # ℹ️ | ||
|
|
||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📝 [actionlint] reported by reviewdog 🐶
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🚫 [actionlint] reported by reviewdog 🐶
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📝 [actionlint] reported by reviewdog 🐶
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🚫 [actionlint] reported by reviewdog 🐶
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🚫 [actionlint] reported by reviewdog 🐶
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🚫 [actionlint] reported by reviewdog 🐶
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📝 [actionlint] reported by reviewdog 🐶
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📝 [actionlint] reported by reviewdog 🐶
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📝 [actionlint] reported by reviewdog 🐶
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 📝 [actionlint] reported by reviewdog 🐶
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🚫 [actionlint] reported by reviewdog 🐶
|
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🚫 [actionlint] reported by reviewdog 🐶
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🚫 [actionlint] reported by reviewdog 🐶
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. 🚫 [actionlint] reported by reviewdog 🐶
|
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.
🚫 [actionlint] reported by reviewdog 🐶
property "ref" is not defined in object type {} [expression]