From bca0a8f3ae7033eb01736215bbc867938c5f62a4 Mon Sep 17 00:00:00 2001 From: Florian Buenzli Date: Thu, 28 May 2026 16:23:10 +0200 Subject: [PATCH 1/3] kebab-case action output variables --- .github/actions/android-app-setup/action.yml | 30 ++++++++-------- .../workflows/android_build_alpaka_upload.yml | 34 +++++++++---------- .../workflows/android_build_store_upload.yml | 16 ++++----- .github/workflows/android_code_quality.yml | 12 +++---- 4 files changed, 46 insertions(+), 46 deletions(-) diff --git a/.github/actions/android-app-setup/action.yml b/.github/actions/android-app-setup/action.yml index ac639c1..37150ef 100644 --- a/.github/actions/android-app-setup/action.yml +++ b/.github/actions/android-app-setup/action.yml @@ -34,21 +34,21 @@ inputs: required: true outputs: - flavor_capitalized: + flavor-capitalized: 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 }} + 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 }} runs: using: composite @@ -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" diff --git a/.github/workflows/android_build_alpaka_upload.yml b/.github/workflows/android_build_alpaka_upload.yml index 99dcbd0..e29bb80 100644 --- a/.github/workflows/android_build_alpaka_upload.yml +++ b/.github/workflows/android_build_alpaka_upload.yml @@ -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 }} steps: - name: Setup Android app build environment id: setup @@ -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 - name: Upload build_id as artifact uses: actions/upload-artifact@v7.0.1 @@ -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 \ ${{ 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 }} \ -Pbranch=${{ inputs.git-branch }} \ -PcommitHash=${{ inputs.git-sha }} \ ${{ secrets.ADDITIONAL_GRADLE_PROPS }} @@ -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/** compression-level: 6 retention-days: 1 if-no-files-found: error @@ -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/ # 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 - 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 \ ${{ github.run_attempt > 1 && '--stacktrace --info' || '' }} \ -PubiqueMavenUrl=${{ secrets.UB_ARTIFACTORY_URL_ANDROID }} \ -PubiqueMavenUser=${{ secrets.UB_ARTIFACTORY_USER }} \ diff --git a/.github/workflows/android_build_store_upload.yml b/.github/workflows/android_build_store_upload.yml index 273c638..5152159 100644 --- a/.github/workflows/android_build_store_upload.yml +++ b/.github/workflows/android_build_store_upload.yml @@ -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 }} steps: - name: Setup Android app build environment id: setup @@ -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 \ ${{ 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 }} \ -Pbranch=${{ github.ref_name }} \ -PcommitHash=${{ github.sha }} \ ${{ secrets.ADDITIONAL_GRADLE_PROPS }} @@ -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" # Upload the .aab artifact so the upload job (and humans) can download it - name: Stash app bundle @@ -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 \ ${{ github.run_attempt > 1 && '--stacktrace --info' || '' }} \ --artifact-dir "$AAB_STAGING_DIR" \ -PubiqueMavenUrl=${{ secrets.UB_ARTIFACTORY_URL_ANDROID }} \ diff --git a/.github/workflows/android_code_quality.yml b/.github/workflows/android_code_quality.yml index ced1b4d..e232657 100644 --- a/.github/workflows/android_code_quality.yml +++ b/.github/workflows/android_code_quality.yml @@ -120,13 +120,13 @@ jobs: - 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 # 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 # Run Sonarqube code analysis - name: Run Sonarqube @@ -143,7 +143,7 @@ jobs: 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 coeus: if: ${{ github.event_name == 'pull_request' && fromJSON(inputs.run-coeus) }} @@ -184,14 +184,14 @@ jobs: # 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 - 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` echo "apk=${apk//__w/home\/runner\/_work\/}" >> $GITHUB_OUTPUT echo "mapping=${mapping//__w/home\/runner\/_work\/}" >> $GITHUB_OUTPUT From 5af464798cb540db66663e94b83a05545e53d10c Mon Sep 17 00:00:00 2001 From: Florian Buenzli Date: Thu, 28 May 2026 17:59:57 +0200 Subject: [PATCH 2/3] fixed input var description --- .github/actions/android-app-setup/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/android-app-setup/action.yml b/.github/actions/android-app-setup/action.yml index 37150ef..391d4db 100644 --- a/.github/actions/android-app-setup/action.yml +++ b/.github/actions/android-app-setup/action.yml @@ -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").' From bee69f5f6b53ca2b12fd65a85501cb44d5741cb7 Mon Sep 17 00:00:00 2001 From: Florian Buenzli Date: Tue, 9 Jun 2026 09:57:03 +0200 Subject: [PATCH 3/3] kebab-case'd gradle_properties step output --- .github/workflows/android_code_quality.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/android_code_quality.yml b/.github/workflows/android_code_quality.yml index e232657..6e4a156 100644 --- a/.github/workflows/android_code_quality.yml +++ b/.github/workflows/android_code_quality.yml @@ -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 # 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 # Run Sonarqube code analysis - name: Run Sonarqube @@ -135,7 +135,7 @@ 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 # Publish test results to pull requests - name: Publish Unit Test Results @@ -179,12 +179,12 @@ 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 - name: Find APK and Mapping id: find-apk