Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 16 additions & 16 deletions .github/actions/android-app-setup/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ inputs:
description: 'Whether to set up the Rust toolchain.'
required: true
flavor:
description: 'The build flavor. Used to compute flavor_capitalized.'
description: 'The build flavor. Used to compute flavor-capitalized.'
required: true
app-module:
description: 'The Gradle app module (e.g. "app" or "android:androidApp").'
Expand All @@ -34,21 +34,21 @@ inputs:
required: true

outputs:
flavor_capitalized:
flavor-capitalized:
Comment thread
fbzli marked this conversation as resolved.
description: 'The flavor name with the first letter capitalized.'
value: ${{ steps.vars.outputs.flavor_capitalized }}
app_module_path:
value: ${{ steps.vars.outputs.flavor-capitalized }}
app-module-path:
description: 'The app module path with colons replaced by slashes.'
value: ${{ steps.vars.outputs.app_module_path }}
build_id:
value: ${{ steps.vars.outputs.app-module-path }}
Comment on lines +39 to +42

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

non-issue x21

build-id:
description: 'A random UUID for this build.'
value: ${{ steps.vars.outputs.build_id }}
build_number:
value: ${{ steps.vars.outputs.build-id }}
build-number:
description: 'The GitHub run number.'
value: ${{ steps.vars.outputs.build_number }}
build_batch:
value: ${{ steps.vars.outputs.build-number }}
build-batch:
description: 'The GitHub run ID.'
value: ${{ steps.vars.outputs.build_batch }}
value: ${{ steps.vars.outputs.build-batch }}
Comment thread
fbzli marked this conversation as resolved.

runs:
using: composite
Expand All @@ -70,12 +70,12 @@ runs:
shell: bash
run: |
flavor=${{ inputs.flavor }}
echo "flavor_capitalized=${flavor~}" >> "$GITHUB_OUTPUT"
echo "flavor-capitalized=${flavor~}" >> "$GITHUB_OUTPUT"

appModulePath=${{ inputs.app-module }}
appModulePath=${appModulePath//:/\/}
echo "app_module_path=$appModulePath" >> "$GITHUB_OUTPUT"
echo "app-module-path=$appModulePath" >> "$GITHUB_OUTPUT"

echo "build_id=$(cat /proc/sys/kernel/random/uuid)" >> "$GITHUB_OUTPUT"
echo "build_number=${{ github.run_number }}" >> "$GITHUB_OUTPUT"
echo "build_batch=${{ github.run_id }}" >> "$GITHUB_OUTPUT"
echo "build-id=$(cat /proc/sys/kernel/random/uuid)" >> "$GITHUB_OUTPUT"
echo "build-number=${{ github.run_number }}" >> "$GITHUB_OUTPUT"
echo "build-batch=${{ github.run_id }}" >> "$GITHUB_OUTPUT"
34 changes: 17 additions & 17 deletions .github/workflows/android_build_alpaka_upload.yml
Original file line number Diff line number Diff line change
Expand Up @@ -97,11 +97,11 @@ jobs:
group: ${{ inputs.concurrency-group }}-build
cancel-in-progress: true
outputs:
flavor_capitalized: ${{ steps.setup.outputs.flavor_capitalized }}
app_module_path: ${{ steps.setup.outputs.app_module_path }}
build_batch: ${{ steps.setup.outputs.build_batch }}
build_id: ${{ steps.setup.outputs.build_id }}
build_number: ${{ steps.setup.outputs.build_number }}
flavor-capitalized: ${{ steps.setup.outputs.flavor-capitalized }}
app-module-path: ${{ steps.setup.outputs.app-module-path }}
build-batch: ${{ steps.setup.outputs.build-batch }}
build-id: ${{ steps.setup.outputs.build-id }}
build-number: ${{ steps.setup.outputs.build-number }}
Comment thread
fbzli marked this conversation as resolved.
steps:
- name: Setup Android app build environment
id: setup
Expand Down Expand Up @@ -131,7 +131,7 @@ jobs:
run: ${{ inputs.pre-build-script }}

- name: Write build_id to file
run: echo "${{ steps.setup.outputs.build_id }}" > build_id.txt
run: echo "${{ steps.setup.outputs.build-id }}" > build_id.txt
Comment thread
fbzli marked this conversation as resolved.

- name: Upload build_id as artifact
uses: actions/upload-artifact@v7.0.1
Expand All @@ -143,15 +143,15 @@ jobs:
- name: Build app
shell: bash
run: |
./gradlew :${{ inputs.app-module }}:clean :${{ inputs.app-module }}:assemble${{ steps.setup.outputs.flavor_capitalized }}Release \
./gradlew :${{ inputs.app-module }}:clean :${{ inputs.app-module }}:assemble${{ steps.setup.outputs.flavor-capitalized }}Release \
Comment thread
fbzli marked this conversation as resolved.
${{ github.run_attempt > 1 && '--stacktrace --info' || '' }} \
-PubiqueMavenUrl=${{ secrets.UB_ARTIFACTORY_URL_ANDROID }} \
-PubiqueMavenUser=${{ secrets.UB_ARTIFACTORY_USER }} \
-PubiqueMavenPass=${{ secrets.UB_ARTIFACTORY_PASSWORD }} \
-PubiquePoEditorAPIKey=${{ secrets.UBIQUE_POEDITOR_API_KEY }} \
-Pbuild_batch=${{ steps.setup.outputs.build_batch }} \
-Pbuild_id=${{ steps.setup.outputs.build_id }} \
-Pbuild_number=${{ steps.setup.outputs.build_number }} \
-Pbuild_batch=${{ steps.setup.outputs.build-batch }} \
-Pbuild_id=${{ steps.setup.outputs.build-id }} \
-Pbuild_number=${{ steps.setup.outputs.build-number }} \
Comment thread
fbzli marked this conversation as resolved.
-Pbranch=${{ inputs.git-branch }} \
-PcommitHash=${{ inputs.git-sha }} \
${{ secrets.ADDITIONAL_GRADLE_PROPS }}
Expand All @@ -164,8 +164,8 @@ jobs:
with:
name: ${{ inputs.flavor }}_app_outputs
path: |
${{ inputs.working-directory }}${{ steps.setup.outputs.app_module_path }}/build/outputs/**
!${{ inputs.working-directory }}${{ steps.setup.outputs.app_module_path }}/build/outputs/**/logs/**
${{ inputs.working-directory }}${{ steps.setup.outputs.app-module-path }}/build/outputs/**
!${{ inputs.working-directory }}${{ steps.setup.outputs.app-module-path }}/build/outputs/**/logs/**
Comment thread
fbzli marked this conversation as resolved.
compression-level: 6
retention-days: 1
if-no-files-found: error
Expand Down Expand Up @@ -215,21 +215,21 @@ jobs:
uses: actions/download-artifact@v4
with:
name: ${{ inputs.flavor }}_app_outputs
path: ${{ inputs.working-directory }}${{ needs.build.outputs.app_module_path }}/build/outputs/
path: ${{ inputs.working-directory }}${{ needs.build.outputs.app-module-path }}/build/outputs/
Comment thread
fbzli marked this conversation as resolved.

# Write Alpaka build info to GitHub job summary
- name: Alpaka Build Summary
run: |
echo '| **Alpaka Build Info** | |' >> $GITHUB_STEP_SUMMARY
echo '|---|---|' >> $GITHUB_STEP_SUMMARY
echo '| Build Batch | ${{ needs.build.outputs.build_batch }} |' >> $GITHUB_STEP_SUMMARY
echo '| Build ID | ${{ needs.build.outputs.build_id }} |' >> $GITHUB_STEP_SUMMARY
echo '| Build Number | ${{ needs.build.outputs.build_number }} |' >> $GITHUB_STEP_SUMMARY
echo '| Build Batch | ${{ needs.build.outputs.build-batch }} |' >> $GITHUB_STEP_SUMMARY
echo '| Build ID | ${{ needs.build.outputs.build-id }} |' >> $GITHUB_STEP_SUMMARY
echo '| Build Number | ${{ needs.build.outputs.build-number }} |' >> $GITHUB_STEP_SUMMARY
Comment thread
fbzli marked this conversation as resolved.

- name: Upload app to Alpaka
shell: bash
run: |
./gradlew :${{ inputs.app-module }}:publishToAlpaka${{ needs.build.outputs.flavor_capitalized }}Release \
./gradlew :${{ inputs.app-module }}:publishToAlpaka${{ needs.build.outputs.flavor-capitalized }}Release \
Comment thread
fbzli marked this conversation as resolved.
${{ github.run_attempt > 1 && '--stacktrace --info' || '' }} \
-PubiqueMavenUrl=${{ secrets.UB_ARTIFACTORY_URL_ANDROID }} \
-PubiqueMavenUser=${{ secrets.UB_ARTIFACTORY_USER }} \
Expand Down
16 changes: 8 additions & 8 deletions .github/workflows/android_build_store_upload.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,8 +83,8 @@ jobs:
env:
AAB_STAGING_DIR: .tmp/publishing_aab
outputs:
flavor_capitalized: ${{ steps.setup.outputs.flavor_capitalized }}
app_module_path: ${{ steps.setup.outputs.app_module_path }}
flavor-capitalized: ${{ steps.setup.outputs.flavor-capitalized }}
app-module-path: ${{ steps.setup.outputs.app-module-path }}
Comment thread
fbzli marked this conversation as resolved.
steps:
- name: Setup Android app build environment
id: setup
Expand All @@ -104,15 +104,15 @@ jobs:
# Build the app
- name: Build app
run: |
./gradlew :${{ inputs.app-module }}:bundle${{ steps.setup.outputs.flavor_capitalized }}ReleaseUpload \
./gradlew :${{ inputs.app-module }}:bundle${{ steps.setup.outputs.flavor-capitalized }}ReleaseUpload \
Comment thread
fbzli marked this conversation as resolved.
${{ github.run_attempt > 1 && '--stacktrace --info' || '' }} \
-PubiqueMavenUrl=${{ secrets.UB_ARTIFACTORY_URL_ANDROID }} \
-PubiqueMavenUser=${{ secrets.UB_ARTIFACTORY_USER }} \
-PubiqueMavenPass=${{ secrets.UB_ARTIFACTORY_PASSWORD }} \
-PubiquePoEditorAPIKey=${{ secrets.UBIQUE_POEDITOR_API_KEY }} \
-Pbuild_id=${{ steps.setup.outputs.build_id }} \
-Pbuild_number=${{ steps.setup.outputs.build_number }} \
-Pbuild_batch=release${{ steps.setup.outputs.build_batch }} \
-Pbuild_id=${{ steps.setup.outputs.build-id }} \
-Pbuild_number=${{ steps.setup.outputs.build-number }} \
-Pbuild_batch=release${{ steps.setup.outputs.build-batch }} \
Comment thread
fbzli marked this conversation as resolved.
-Pbranch=${{ github.ref_name }} \
-PcommitHash=${{ github.sha }} \
${{ secrets.ADDITIONAL_GRADLE_PROPS }}
Expand All @@ -126,7 +126,7 @@ jobs:
- name: Stage AAB
run: |
mkdir -p "$AAB_STAGING_DIR"
cp "${{ steps.setup.outputs.app_module_path }}"/build/outputs/bundle/${{ inputs.flavor }}ReleaseUpload/*.aab "$AAB_STAGING_DIR"
cp "${{ steps.setup.outputs.app-module-path }}"/build/outputs/bundle/${{ inputs.flavor }}ReleaseUpload/*.aab "$AAB_STAGING_DIR"
Comment thread
fbzli marked this conversation as resolved.

# Upload the .aab artifact so the upload job (and humans) can download it
- name: Stash app bundle
Expand Down Expand Up @@ -173,7 +173,7 @@ jobs:

- name: Upload to Play Store
run: |
./gradlew :${{ inputs.app-module }}:publish${{ needs.build.outputs.flavor_capitalized }}ReleaseUploadBundle \
./gradlew :${{ inputs.app-module }}:publish${{ needs.build.outputs.flavor-capitalized }}ReleaseUploadBundle \
Comment thread
fbzli marked this conversation as resolved.
${{ github.run_attempt > 1 && '--stacktrace --info' || '' }} \
--artifact-dir "$AAB_STAGING_DIR" \
-PubiqueMavenUrl=${{ secrets.UB_ARTIFACTORY_URL_ANDROID }} \
Expand Down
18 changes: 9 additions & 9 deletions .github/workflows/android_code_quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -114,19 +114,19 @@ jobs:
shell: bash
run: |
gradleProps="-PsentryAuthToken=${{ secrets.SENTRY_AUTH_TOKEN }} -PubiqueMavenUrl=${{ secrets.UB_ARTIFACTORY_URL_ANDROID }} -PubiqueMavenUser=${{ secrets.UB_ARTIFACTORY_USER }} -PubiqueMavenPass=${{ secrets.UB_ARTIFACTORY_PASSWORD }} -PubiquePoEditorAPIKey=${{ secrets.UBIQUE_POEDITOR_API_KEY }} ${{ secrets.ADDITIONAL_GRADLE_PROPS }}"
echo "gradle_properties=$gradleProps" >> "$GITHUB_OUTPUT"
echo "gradle-properties=$gradleProps" >> "$GITHUB_OUTPUT"

# Run Unit Tests
- name: Run Unit Tests
id: tests
if: ${{ fromJSON(inputs.run-tests) }}
run: ./gradlew :${{ inputs.app-module }}:test${{ steps.setup.outputs.flavor_capitalized }}DebugUnitTest ${{ steps.gradle.outputs.gradle_properties }} ${{ github.run_attempt > 1 && '--stacktrace --info' || '' }} --daemon
run: ./gradlew :${{ inputs.app-module }}:test${{ steps.setup.outputs.flavor-capitalized }}DebugUnitTest ${{ steps.gradle.outputs.gradle-properties }} ${{ github.run_attempt > 1 && '--stacktrace --info' || '' }} --daemon
Comment thread
fbzli marked this conversation as resolved.

# Run Android Lint checks
- name: Run Lint
id: lint
if: ${{ fromJSON(inputs.run-lint) }}
run: ./gradlew :${{ inputs.app-module }}:lint${{ steps.setup.outputs.flavor_capitalized }}Debug ${{ steps.gradle.outputs.gradle_properties }} ${{ github.run_attempt > 1 && '--stacktrace --info' || '' }} --daemon
run: ./gradlew :${{ inputs.app-module }}:lint${{ steps.setup.outputs.flavor-capitalized }}Debug ${{ steps.gradle.outputs.gradle-properties }} ${{ github.run_attempt > 1 && '--stacktrace --info' || '' }} --daemon
Comment thread
fbzli marked this conversation as resolved.

# Run Sonarqube code analysis
- name: Run Sonarqube
Expand All @@ -135,15 +135,15 @@ jobs:
env:
GITHUB_TOKEN: ${{ secrets.ANDROID_JENKINS_PAT }}
SONAR_TOKEN: ${{ secrets.UBIQUE_SONAR_TOKEN }}
run: ./gradlew :${{ inputs.app-module }}:sonar ${{ steps.gradle.outputs.gradle_properties }} ${{ github.run_attempt > 1 && '--stacktrace --info' || '' }} --daemon
run: ./gradlew :${{ inputs.app-module }}:sonar ${{ steps.gradle.outputs.gradle-properties }} ${{ github.run_attempt > 1 && '--stacktrace --info' || '' }} --daemon
Comment thread
fbzli marked this conversation as resolved.

# Publish test results to pull requests
- name: Publish Unit Test Results
if: ${{ fromJSON(inputs.run-tests) && steps.tests.outcome == 'success' }}
uses: EnricoMi/publish-unit-test-result-action@v2.21.0
with:
check_name: 'Unit Test Results'
files: ${{ steps.setup.outputs.app_module_path }}/build/test-results/**/*.xml
files: ${{ steps.setup.outputs.app-module-path }}/build/test-results/**/*.xml
Comment thread
fbzli marked this conversation as resolved.

coeus:
if: ${{ github.event_name == 'pull_request' && fromJSON(inputs.run-coeus) }}
Expand Down Expand Up @@ -179,19 +179,19 @@ jobs:
shell: bash
run: |
gradleProps="-PsentryAuthToken=${{ secrets.SENTRY_AUTH_TOKEN }} -PubiqueMavenUrl=${{ secrets.UB_ARTIFACTORY_URL_ANDROID }} -PubiqueMavenUser=${{ secrets.UB_ARTIFACTORY_USER }} -PubiqueMavenPass=${{ secrets.UB_ARTIFACTORY_PASSWORD }} -PubiquePoEditorAPIKey=${{ secrets.UBIQUE_POEDITOR_API_KEY }} ${{ secrets.ADDITIONAL_GRADLE_PROPS }}"
echo "gradle_properties=$gradleProps" >> "$GITHUB_OUTPUT"
echo "gradle-properties=$gradleProps" >> "$GITHUB_OUTPUT"

# Run Coeus
- name: Assemble the APK for static code analysis
id: coeus-assemble
run: ./gradlew :${{ inputs.app-module }}:assemble${{ steps.setup.outputs.flavor_capitalized }}Release ${{ steps.gradle.outputs.gradle_properties }} ${{ github.run_attempt > 1 && '--stacktrace --info' || '' }} --daemon
run: ./gradlew :${{ inputs.app-module }}:assemble${{ steps.setup.outputs.flavor-capitalized }}Release ${{ steps.gradle.outputs.gradle-properties }} ${{ github.run_attempt > 1 && '--stacktrace --info' || '' }} --daemon
Comment thread
fbzli marked this conversation as resolved.

- name: Find APK and Mapping
id: find-apk
shell: bash
run: |
export apk=`find $GITHUB_WORKSPACE/${{ steps.setup.outputs.app_module_path }}/build/outputs/apk/ -name '*.apk'`
export mapping=`find $GITHUB_WORKSPACE/${{ steps.setup.outputs.app_module_path }}/build/outputs/mapping/ -name 'mapping.txt' || true`
export apk=`find $GITHUB_WORKSPACE/${{ steps.setup.outputs.app-module-path }}/build/outputs/apk/ -name '*.apk'`
export mapping=`find $GITHUB_WORKSPACE/${{ steps.setup.outputs.app-module-path }}/build/outputs/mapping/ -name 'mapping.txt' || true`
Comment thread
fbzli marked this conversation as resolved.
echo "apk=${apk//__w/home\/runner\/_work\/}" >> $GITHUB_OUTPUT
echo "mapping=${mapping//__w/home\/runner\/_work\/}" >> $GITHUB_OUTPUT

Expand Down