Skip to content
84 changes: 69 additions & 15 deletions .github/workflows/flutter-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -123,15 +123,16 @@
qbs-maven-password: ${{ secrets.QBS_DEV_MAVEN_PASSWORD }}
upload-key: ${{ secrets.UPLOAD_KEY }}
obfuscate: ${{ inputs.obfuscate }}
- uses: QuickBirdEng/actions/upload-debug-symbols-to-sentry@main
- name: Store debug symbols for Sentry
uses: QuickBirdEng/actions/store-debug-symbols@feat/sentry-symbols-separate-job
env:
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
if: ${{ env.SENTRY_PROJECT != '' }}
with:
url: ${{ secrets.SENTRY_URL }}
organization: ${{ secrets.SENTRY_ORG }}
project: ${{ secrets.SENTRY_PROJECT }}
auth-token: ${{ secrets.SENTRY_AUTH_TOKEN }}
platform: android-apk
build-number: ${{ needs.generate-build-number.outputs.build-number }}
access-key: ${{ secrets.DO_ACCESS_KEY }}
secret-key: ${{ secrets.DO_SECRET_KEY }}
dart-symbols-file-path: ${{ steps.publish-android.outputs.artifact-dart-symbols-file-path }}
dart-obfuscation-map-file-path: ${{ steps.publish-android.outputs.artifact-dart-obfuscation-map-file-path }}
proguard-mapping-file-path: ${{ inputs.working-directory }}/build/app/outputs/mapping/release/mapping.txt
Expand Down Expand Up @@ -168,15 +169,16 @@
build-arguments: ${{ inputs.ios-build-arguments }}
obfuscate: ${{ inputs.obfuscate }}
continue-on-error: true
- uses: QuickBirdEng/actions/upload-debug-symbols-to-sentry@main
- name: Store debug symbols for Sentry
uses: QuickBirdEng/actions/store-debug-symbols@feat/sentry-symbols-separate-job
env:
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
if: ${{ env.SENTRY_PROJECT != '' }}
with:
url: ${{ secrets.SENTRY_URL }}
organization: ${{ secrets.SENTRY_ORG }}
project: ${{ secrets.SENTRY_PROJECT }}
auth-token: ${{ secrets.SENTRY_AUTH_TOKEN }}
platform: ios
build-number: ${{ needs.generate-build-number.outputs.build-number }}
access-key: ${{ secrets.DO_ACCESS_KEY }}
secret-key: ${{ secrets.DO_SECRET_KEY }}
dart-symbols-file-path: ${{ steps.publish-ios.outputs.artifact-dart-symbols-file-path }}
dart-obfuscation-map-file-path: ${{ steps.publish-ios.outputs.artifact-dart-obfuscation-map-file-path }}
dsyms-path: ${{ steps.publish-ios.outputs.artifact-dsyms-path }}
Expand Down Expand Up @@ -218,15 +220,16 @@
build-arguments: ${{ inputs.android-build-arguments }}
working-directory: ${{ inputs.working-directory }}
obfuscate: ${{ inputs.obfuscate }}
- uses: QuickBirdEng/actions/upload-debug-symbols-to-sentry@main
- name: Store debug symbols for Sentry
uses: QuickBirdEng/actions/store-debug-symbols@feat/sentry-symbols-separate-job
env:
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
if: ${{ env.SENTRY_PROJECT != '' }}
with:
url: ${{ secrets.SENTRY_URL }}
organization: ${{ secrets.SENTRY_ORG }}
project: ${{ secrets.SENTRY_PROJECT }}
auth-token: ${{ secrets.SENTRY_AUTH_TOKEN }}
platform: android-aab
build-number: ${{ needs.generate-build-number.outputs.build-number }}
access-key: ${{ secrets.DO_ACCESS_KEY }}
secret-key: ${{ secrets.DO_SECRET_KEY }}
dart-symbols-file-path: ${{ steps.flutter-build.outputs.artifact-dart-symbols-file-path }}
dart-obfuscation-map-file-path: ${{ steps.flutter-build.outputs.artifact-dart-obfuscation-map-file-path }}
proguard-mapping-file-path: ${{ inputs.working-directory }}/build/app/outputs/mapping/release/mapping.txt
Expand All @@ -240,7 +243,58 @@
repo-token: ${{ secrets.GITHUB_TOKEN }}
name-suffix: ${{ needs.android-name-suffix-generation.outputs.name-suffix }}
artifact-path: ${{ steps.flutter-build.outputs.artifact-path }}

upload-sentry:
name: Upload debug symbols to Sentry
runs-on: default-k8s-runner
needs: [generate-build-number, android-publish, ios-publish, android-bundle]
if: ${{ !cancelled() && (needs.android-publish.result == 'success' || needs.ios-publish.result == 'success' || needs.android-bundle.result == 'success') }}
steps:
- name: Check Sentry configuration
id: sentry
env:
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
run: |
if [[ -z "$SENTRY_PROJECT" ]]; then
echo "::notice::No SENTRY_PROJECT secret set - nothing to upload"
echo "configured=false" >> $GITHUB_OUTPUT
else
echo "configured=true" >> $GITHUB_OUTPUT
fi
- uses: QuickBirdEng/actions/checkout-ssh@feat/sentry-symbols-separate-job
if: ${{ steps.sentry.outputs.configured == 'true' }}
with:
ssh-private-key: ${{ secrets.CI_SSH_PRIVATE_KEY_FOR_GITHUB_PRIVATE_REPOS }}
fetch-depth: 0
- name: Restore debug symbols
id: symbols
if: ${{ steps.sentry.outputs.configured == 'true' }}
uses: QuickBirdEng/actions/restore-debug-symbols@feat/sentry-symbols-separate-job
with:
build-number: ${{ needs.generate-build-number.outputs.build-number }}
platforms: ios android-apk android-aab
access-key: ${{ secrets.DO_ACCESS_KEY }}
secret-key: ${{ secrets.DO_SECRET_KEY }}
- name: Upload debug symbols to Sentry
if: ${{ steps.sentry.outputs.configured == 'true' }}
uses: QuickBirdEng/actions/upload-debug-symbols-to-sentry@feat/sentry-symbols-separate-job
with:
url: ${{ secrets.SENTRY_URL }}
organization: ${{ secrets.SENTRY_ORG }}
project: ${{ secrets.SENTRY_PROJECT }}
auth-token: ${{ secrets.SENTRY_AUTH_TOKEN }}
symbols-dir: ${{ steps.symbols.outputs.symbols-dir }}
release: ${{ steps.symbols.outputs.release }}
- name: Delete the stored debug symbols
if: ${{ success() && steps.sentry.outputs.configured == 'true' }}
uses: QuickBirdEng/actions/delete-debug-symbols@feat/sentry-symbols-separate-job
with:
build-number: ${{ needs.generate-build-number.outputs.build-number }}
platforms: ios android-apk android-aab
access-key: ${{ secrets.DO_ACCESS_KEY }}
secret-key: ${{ secrets.DO_SECRET_KEY }}

dependency-reports:

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {}
if: ${{ inputs.dependency-reports }}
uses: QuickBirdEng/workflows/.github/workflows/vulnerability-and-outdated-packages-report.yml@main
with:
Expand Down
84 changes: 69 additions & 15 deletions .github/workflows/flutter-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -189,15 +189,16 @@
qbs-maven-password: ${{ secrets.QBS_DEV_MAVEN_PASSWORD }}
upload-key: ${{ secrets.UPLOAD_KEY }}
obfuscate: ${{ inputs.obfuscate }}
- uses: QuickBirdEng/actions/upload-debug-symbols-to-sentry@main
- name: Store debug symbols for Sentry
uses: QuickBirdEng/actions/store-debug-symbols@feat/sentry-symbols-separate-job
env:
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
if: ${{ env.SENTRY_PROJECT != '' }}
with:
url: ${{ secrets.SENTRY_URL }}
organization: ${{ secrets.SENTRY_ORG }}
project: ${{ secrets.SENTRY_PROJECT }}
auth-token: ${{ secrets.SENTRY_AUTH_TOKEN }}
platform: android-apk
build-number: ${{ needs.generate-build-number.outputs.build-number }}
access-key: ${{ secrets.DO_ACCESS_KEY }}
secret-key: ${{ secrets.DO_SECRET_KEY }}
dart-symbols-file-path: ${{ steps.publish-android.outputs.artifact-dart-symbols-file-path }}
dart-obfuscation-map-file-path: ${{ steps.publish-android.outputs.artifact-dart-obfuscation-map-file-path }}
proguard-mapping-file-path: ${{ inputs.working-directory }}/build/app/outputs/mapping/release/mapping.txt
Expand Down Expand Up @@ -233,15 +234,16 @@
submit-for-review: ${{ inputs.submit-ios-build-for-review }}
build-arguments: ${{ inputs.ios-build-arguments }}
obfuscate: ${{ inputs.obfuscate }}
- uses: QuickBirdEng/actions/upload-debug-symbols-to-sentry@main
- name: Store debug symbols for Sentry
uses: QuickBirdEng/actions/store-debug-symbols@feat/sentry-symbols-separate-job
env:
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
if: ${{ env.SENTRY_PROJECT != '' }}
with:
url: ${{ secrets.SENTRY_URL }}
organization: ${{ secrets.SENTRY_ORG }}
project: ${{ secrets.SENTRY_PROJECT }}
auth-token: ${{ secrets.SENTRY_AUTH_TOKEN }}
platform: ios
build-number: ${{ needs.generate-build-number.outputs.build-number }}
access-key: ${{ secrets.DO_ACCESS_KEY }}
secret-key: ${{ secrets.DO_SECRET_KEY }}
dart-symbols-file-path: ${{ steps.publish-ios.outputs.artifact-dart-symbols-file-path }}
dart-obfuscation-map-file-path: ${{ steps.publish-ios.outputs.artifact-dart-obfuscation-map-file-path }}
dsyms-path: ${{ steps.publish-ios.outputs.artifact-dsyms-path }}
Expand Down Expand Up @@ -284,15 +286,16 @@
build-arguments: ${{ inputs.android-build-arguments }}
working-directory: ${{ inputs.working-directory }}
obfuscate: ${{ inputs.obfuscate }}
- uses: QuickBirdEng/actions/upload-debug-symbols-to-sentry@main
- name: Store debug symbols for Sentry
uses: QuickBirdEng/actions/store-debug-symbols@feat/sentry-symbols-separate-job
env:
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
if: ${{ env.SENTRY_PROJECT != '' }}
with:
url: ${{ secrets.SENTRY_URL }}
organization: ${{ secrets.SENTRY_ORG }}
project: ${{ secrets.SENTRY_PROJECT }}
auth-token: ${{ secrets.SENTRY_AUTH_TOKEN }}
platform: android-aab
build-number: ${{ needs.generate-build-number.outputs.build-number }}
access-key: ${{ secrets.DO_ACCESS_KEY }}
secret-key: ${{ secrets.DO_SECRET_KEY }}
dart-symbols-file-path: ${{ steps.flutter-build.outputs.artifact-dart-symbols-file-path }}
dart-obfuscation-map-file-path: ${{ steps.flutter-build.outputs.artifact-dart-obfuscation-map-file-path }}
proguard-mapping-file-path: ${{ inputs.working-directory }}/build/app/outputs/mapping/release/mapping.txt
Expand All @@ -306,7 +309,58 @@
repo-token: ${{ secrets.GITHUB_TOKEN }}
name-suffix: ${{ needs.android-name-suffix-generation.outputs.name-suffix }}
artifact-path: ${{ steps.flutter-build.outputs.artifact-path }}

upload-sentry:
name: Upload debug symbols to Sentry
runs-on: default-k8s-runner
needs: [generate-build-number, android-publish, ios-publish, android-bundle]
if: ${{ !cancelled() && (needs.android-publish.result == 'success' || needs.ios-publish.result == 'success' || needs.android-bundle.result == 'success') }}
steps:
- name: Check Sentry configuration
id: sentry
env:
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }}
run: |
if [[ -z "$SENTRY_PROJECT" ]]; then
echo "::notice::No SENTRY_PROJECT secret set - nothing to upload"
echo "configured=false" >> $GITHUB_OUTPUT
else
echo "configured=true" >> $GITHUB_OUTPUT
fi
- uses: QuickBirdEng/actions/checkout-ssh@feat/sentry-symbols-separate-job
if: ${{ steps.sentry.outputs.configured == 'true' }}
with:
ssh-private-key: ${{ secrets.CI_SSH_PRIVATE_KEY_FOR_GITHUB_PRIVATE_REPOS }}
fetch-depth: 0
- name: Restore debug symbols
id: symbols
if: ${{ steps.sentry.outputs.configured == 'true' }}
uses: QuickBirdEng/actions/restore-debug-symbols@feat/sentry-symbols-separate-job
with:
build-number: ${{ needs.generate-build-number.outputs.build-number }}
platforms: ios android-apk android-aab
access-key: ${{ secrets.DO_ACCESS_KEY }}
secret-key: ${{ secrets.DO_SECRET_KEY }}
- name: Upload debug symbols to Sentry
if: ${{ steps.sentry.outputs.configured == 'true' }}
uses: QuickBirdEng/actions/upload-debug-symbols-to-sentry@feat/sentry-symbols-separate-job
with:
url: ${{ secrets.SENTRY_URL }}
organization: ${{ secrets.SENTRY_ORG }}
project: ${{ secrets.SENTRY_PROJECT }}
auth-token: ${{ secrets.SENTRY_AUTH_TOKEN }}
symbols-dir: ${{ steps.symbols.outputs.symbols-dir }}
release: ${{ steps.symbols.outputs.release }}
- name: Delete the stored debug symbols
if: ${{ success() && steps.sentry.outputs.configured == 'true' }}
uses: QuickBirdEng/actions/delete-debug-symbols@feat/sentry-symbols-separate-job
with:
build-number: ${{ needs.generate-build-number.outputs.build-number }}
platforms: ios android-apk android-aab
access-key: ${{ secrets.DO_ACCESS_KEY }}
secret-key: ${{ secrets.DO_SECRET_KEY }}

dependency-reports:

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {}
if: ${{ inputs.dependency-reports }}
uses: QuickBirdEng/workflows/.github/workflows/vulnerability-and-outdated-packages-report.yml@main
with:
Expand Down