Translations update from Weblate #256
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
on: | |
push: | |
paths-ignore: | |
- '*.md' | |
branches: | |
- master | |
pull_request: | |
release: | |
types: [ created ] | |
concurrency: | |
group: ci-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
static_analysis: | |
name: Linter | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: '3.22.0' | |
cache: true | |
- name: Run build script | |
id: build | |
run: bash ${GITHUB_WORKSPACE}/Scripts/build.sh | |
working-directory: Scripts | |
env: | |
RELEASE_TAG: ${{ github.event.release.tag_name }} | |
SKIP_BUILD: true # Checks if it exists, not the value | |
- name: Analyze Dart | |
uses: zgosalvez/github-actions-analyze-dart@v3 | |
build_android: | |
strategy: | |
matrix: | |
os: [ ubuntu-latest, macos-latest ] | |
name: Build | |
runs-on: ${{ matrix.os }} | |
outputs: | |
SENTRY_RELEASE: ${{ steps.build.outputs.SENTRY_RELEASE }} | |
SENTRY_DIST: ${{ steps.build.outputs.SENTRY_DIST }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: actions/setup-java@v4 | |
if: matrix.os == 'ubuntu-latest' | |
with: | |
distribution: 'zulu' | |
java-version: '17' | |
cache: "gradle" | |
- uses: subosito/flutter-action@v2 | |
with: | |
flutter-version: '3.22.0' | |
cache: true | |
- uses: ruby/setup-ruby@v1 | |
with: | |
bundler-cache: true # runs 'bundle install' and caches installed gems automatically | |
ruby-version: '3.3' # Not needed with a .ruby-version file | |
- name: Cocoapods Cache | |
uses: actions/cache@v4 | |
id: cocoapods-cache | |
if: matrix.os == 'macos-latest' | |
with: | |
path: ios/Pods | |
key: ${{ runner.os }}-pods-${{ hashFiles('pubspec.lock') }} | |
restore-keys: | | |
${{ runner.os }}-pods- | |
- name: Podfile lock cache | |
uses: actions/cache@v4 | |
id: cache-podfile | |
with: | |
path: ios/Podfile.lock | |
key: ${{ runner.os }}-pods-${{ hashFiles('pubspec.lock') }} | |
- name: Run build script | |
id: build | |
run: bash ${GITHUB_WORKSPACE}/Scripts/launchBuild.sh | |
working-directory: Scripts | |
env: | |
RELEASE_TAG: ${{ github.event.release.tag_name }} | |
GITHUB_EVENT_NAME: ${{ github.event_name }} | |
OS: ${{ matrix.os }} | |
- uses: actions/upload-artifact@v4 | |
continue-on-error: true | |
if: matrix.os == 'ubuntu-latest' | |
with: | |
name: artifact-${{ matrix.os }} | |
path: | | |
build/app/outputs/apk | |
build/app/outputs/bundle | |
- name: Upload Beta | |
if: github.event_name == 'push' && matrix.os == 'macos-latest' | |
run: bash ${GITHUB_WORKSPACE}/Scripts/fastlane.sh | |
working-directory: Scripts | |
continue-on-error: false | |
env: | |
VERSION: ${{ steps.build.outputs.SENTRY_RELEASE }} | |
BUILD_NUMBER: ${{ steps.build.outputs.SENTRY_DIST }} | |
GOOGLE_SECRETS: ${{ secrets.GOOGLE_PLAY }} | |
APPLE_SECRETS: ${{ secrets.APPLE }} | |
OS: ${{ matrix.os }} | |
MATCH_GIT_BASIC_AUTHORIZATION: ${{ secrets.FASTLANE_GITHUB }} | |
MATCH_PASSWORD: ${{ secrets.FASTLANE_MATCH_PASSWORD }} | |
- name: Upload debug symbols | |
run: dart pub global activate sentry_dart_plugin && dart pub global run sentry_dart_plugin | |
if: github.event_name == 'push' || github.event_name == 'release' | |
continue-on-error: true | |
env: | |
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} | |
SENTRY_ORG: ${{ secrets.SENTRY_ORG }} | |
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} | |
SENTRY_URL: ${{ secrets.SENTRY_URL }} | |
SENTRY_RELEASE: ${{ steps.build.outputs.SENTRY_RELEASE }} | |
SENTRY_DIST: ${{ steps.build.outputs.SENTRY_DIST }} | |
release-job: | |
name: Releasing | |
needs: [ build_android ] | |
runs-on: ubuntu-latest | |
if: github.event_name == 'release' && github.event.action == 'created' | |
steps: | |
- uses: actions/download-artifact@v4 | |
with: | |
name: Android.zip | |
- name: Upload release attachment | |
uses: actions/github-script@v7 | |
with: | |
script: | | |
const fs = require('fs'); | |
const tag = context.ref.replace("refs/tags/", ""); | |
// Get release for this tag | |
const release = await github.repos.getReleaseByTag({ | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
tag | |
}); | |
// Upload the release asset | |
await github.repos.uploadReleaseAsset({ | |
owner: context.repo.owner, | |
repo: context.repo.repo, | |
release_id: release.data.id, | |
name: "Android.zip", | |
data: await fs.readFileSync("Android.zip") | |
}); | |
- name: Create Sentry release | |
uses: getsentry/action-release@v1 | |
env: | |
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} | |
SENTRY_ORG: ${{ secrets.SENTRY_ORG }} | |
SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} | |
SENTRY_URL: ${{ secrets.SENTRY_URL }} | |
SENTRY_DIST: ${{ needs.build_android.outputs.SENTRY_DIST }} | |
SENTRY_RELEASE: ${{ needs.build_android.outputs.SENTRY_RELEASE }} | |
with: | |
version: ${{ steps.read_action_js.outputs['version'] }} |