Skip to content

Stale credits notified as PR comment #132

Stale credits notified as PR comment

Stale credits notified as PR comment #132

Workflow file for this run

name: Build & Test
on:
push:
branches:
- main
paths-ignore:
- 'website/**'
- 'fastlane/**'
- 'assets/**'
- '**/*.md'
pull_request:
branches:
- main
jobs:
build:
# run on macOS to use Skiko mac for credits checks
runs-on: macos-latest
permissions:
contents: read
checks: write
id-token: write
pull-requests: write
steps:
- uses: actions/checkout@v4
# - name: ☕ Setup JDK 21
# uses: actions/setup-java@v4
# with:
# java-version: '21'
# distribution: 'adopt'
# - name: 🐘 Setup Gradle
# uses: gradle/actions/setup-gradle@v4
# with:
# add-job-summary-as-pr-comment: on-failure
# - name: 🔓 Decrypt secrets
# env:
# PLAYSTORE_SECRET_PASSPHRASE: ${{ secrets.PLAYSTORE_SECRET_PASSPHRASE }}
# run: ./_ci/decrypt_secrets.sh
- name: ©️ Generate credits for ':tasks-app-desktop'
id: check_desktop_app_credits
run: |
# ./gradlew --no-daemon :tasks-app-desktop:exportLibraryDefinitions -PaboutLibraries.exportPath=src/main/resources
stale_credits="aaaaa" # $(git diff tasks-app-desktop/src/main/resources/licenses_desktop.json)
if [ -n "${stale_credits}" ]; then
{
echo "## Stale credits for \`:tasks-app-desktop\`"
echo "\`\`\`diff"
echo "${stale_credits}"
echo "\`\`\`"
} >> "${GITHUB_STEP_SUMMARY}"
echo "::warning file=tasks-app-desktop/src/main/resources/licenses_desktop.json,title=Stale credits::Some licenses information are not up to date for ':tasks-app-desktop'"
# ::set-output is deprecated, but nothing works with multiline strings and GITHUB_OUTPUT :(
# echo ::set-output name=credits_diff_comment::$(./_ci/generate_github_comment_stale_credits.sh ":tasks-app-desktop")
delimiter="$(openssl rand -hex 8)"
{
echo "credits_diff_comment<<${delimiter}"
./_ci/generate_github_comment_stale_credits.sh ":tasks-app-desktop"
echo "${delimiter}"
} >> "${GITHUB_OUTPUT}"
fi
- name: 🛎️ Notify stale credits for ':tasks-app-desktop'
if: steps.check_desktop_app_credits.outputs.credits_diff_comment != ''
# run: echo "${{ steps.check_desktop_app_credits.outputs.credits_diff_comment }}"
# uses: actions/github-script@v7
# with:
# script: |
run: |
github.rest.issues.createComment({
issue_number: context.issue.number,
owner: context.repo.owner,
repo: context.repo.repo,
body: '"${{ steps.check_desktop_app_credits.outputs.credits_diff_comment }}"'
})
# - name: 🔨 Build Desktop App 🖥️
# run: ./gradlew --no-daemon :tasks-app-desktop:assemble
# - name: ©️ Generate credits for ':tasks-app-android'
# id: check_android_app_credits
# run: |
# ./gradlew --no-daemon :tasks-app-android:exportLibraryDefinitions -PaboutLibraries.exportPath=src/main/assets
# stale_credits=$(git diff tasks-app-android/src/main/assets/licenses_android.json)
# if [ -n "${stale_credits}" ]; then
# {
# echo "## Stale credits for `:tasks-app-android`"
# echo "```diff"
# echo "${stale_credits}"
# echo "```"
# } >> "${GITHUB_STEP_SUMMARY}"
# echo "::warning file=tasks-app-android/src/main/assets/licenses_android.json,title=Stale credits::Some licenses information are not up to date for ':tasks-app-android'"
# # ::set-output is deprecated, but nothing works with multiline strings and GITHUB_OUTPUT :(
# echo ::set-output name=credits_diff_comment::$(./_ci/generate_github_comment_stale_credits.sh ":tasks-app-android")
# fi
# - name: 🛎️ Notify stale credits for ':tasks-app-android'
# if: steps.check_android_app_credits.outputs.credits_diff_comment != ''
# uses: actions/github-script@v7
# with:
# script: |
# github.rest.issues.createComment({
# issue_number: context.issue.number,
# owner: context.repo.owner,
# repo: context.repo.repo,
# body: '${{ steps.check_android_app_credits.outputs.credits_diff_comment }}'
# })
# - name: 🔨 Build Android App 📱
# env:
# PLAYSTORE_SECRET_PASSPHRASE: ${{ secrets.PLAYSTORE_SECRET_PASSPHRASE }}
# KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }}
# KEYSTORE_KEY_PASSWORD: ${{ secrets.KEYSTORE_KEY_PASSWORD }}
# run: |
# ./gradlew --no-daemon :tasks-app-android:assembleStoreRelease \
# -Pci=true \
# -Pplaystore.keystore.file="${PWD}/_ci/tasksApp.keystore" \
# -Pplaystore.keystore.password="${KEYSTORE_PASSWORD}" \
# -Pplaystore.keystore.key_password="${KEYSTORE_KEY_PASSWORD}"
# # `test` to trigger as much Jvm tests as possible
# # `:tasks-app-android:testStoreReleaseUnitTest` to restrict to only specific flavor(store)+variant(release) for `:tasks-app-android` module.
# # `-x :tasks-app-android:test` to remove all tests from `:tasks-app-android` module not being covered by `:tasks-app-android:testStoreReleaseUnitTest`.
# # `-x testDebugUnitTest` to avoid triggering tests both in debug & release build.
# # `-x :tasks-app-android:build` to avoid triggering useless build tasks (typically for unused flavors).
# # Only rely on dependencies of `:tasks-app-android:testStoreReleaseUnitTest`.
# - name: ✅ Test
# run: |
# ./gradlew --no-daemon test :tasks-app-android:testStoreReleaseUnitTest \
# -x :tasks-app-android:test -x testDebugUnitTest -x :tasks-app-android:build
# - name: 🗒️ Publish Test Reports
# uses: mikepenz/action-junit-report@v4
# if: success() || failure()
# with:
# report_paths: '**/build/test-results/test/TEST-*.xml'