ci: make workflows Forgejo runner compatible
Some checks failed
Forgejo Release Builder / release (push) Failing after 0s

Pin workflow actions to node20-compatible versions and replace node24-only dependencies so jobs run on Forgejo runner v3.5.1.

Made-with: Cursor
This commit is contained in:
littlecodedragon 2026-04-26 17:11:53 +02:00
parent d51aaa39b9
commit 5351e4a2f8
10 changed files with 37 additions and 37 deletions

10
.github/workflows/build_benchmark.yml vendored Normal file → Executable file
View file

@ -29,7 +29,7 @@ jobs:
echo "VERSION_TAG=$version_tag" >> $GITHUB_OUTPUT echo "VERSION_TAG=$version_tag" >> $GITHUB_OUTPUT
- name: Clone Repository (${{ steps.get_tag.outputs.VERSION_TAG }}) - name: Clone Repository (${{ steps.get_tag.outputs.VERSION_TAG }})
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 uses: actions/checkout@v4 # Forgejo-compatible (node20)
with: with:
fetch-depth: 0 fetch-depth: 0
@ -57,18 +57,18 @@ jobs:
needs: prepare-build needs: prepare-build
steps: steps:
- name: Clone Repository (${{ needs.prepare-build.outputs.TAG_NAME }}) - name: Clone Repository (${{ needs.prepare-build.outputs.TAG_NAME }})
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 uses: actions/checkout@v4 # Forgejo-compatible (node20)
with: with:
fetch-depth: 0 fetch-depth: 0
- name: Set up JDK - name: Set up JDK
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 uses: actions/setup-java@v4 # Forgejo-compatible (node20)
with: with:
java-version: 17 java-version: 17
distribution: temurin distribution: temurin
- name: Set up gradle - name: Set up gradle
uses: gradle/actions/setup-gradle@f29f5a9d7b09a7c6b29859002d29d24e1674c884 # v5 uses: gradle/actions/setup-gradle@v4.4.2 # Forgejo-compatible (node20)
- name: Check code format - name: Check code format
run: ./gradlew spotlessCheck run: ./gradlew spotlessCheck
@ -101,7 +101,7 @@ jobs:
mv app/build/outputs/apk/${{ needs.prepare-build.outputs.ARTIFACTS_PREFIX }}-x86_64-benchmark-signed.apk Komikku-x86_64-${{ needs.prepare-build.outputs.TAG_NAME }}.apk mv app/build/outputs/apk/${{ needs.prepare-build.outputs.ARTIFACTS_PREFIX }}-x86_64-benchmark-signed.apk Komikku-x86_64-${{ needs.prepare-build.outputs.TAG_NAME }}.apk
- name: Upload artifacts - name: Upload artifacts
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 uses: actions/upload-artifact@v4 # Forgejo-compatible (node20)
with: with:
path: "**/*.apk" path: "**/*.apk"
retention-days: 30 retention-days: 30

4
.github/workflows/build_dispatch_preview.yml vendored Normal file → Executable file
View file

@ -30,7 +30,7 @@ jobs:
steps: steps:
- name: Clone repo - name: Clone repo
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 uses: actions/checkout@v4 # Forgejo-compatible (node20)
with: with:
fetch-depth: 0 fetch-depth: 0
@ -53,7 +53,7 @@ jobs:
uses: tj-actions/branch-names@5250492686b253f06fa55861556d1027b067aeb5 # v9.0.2 uses: tj-actions/branch-names@5250492686b253f06fa55861556d1027b067aeb5 # v9.0.2
- name: Invoke workflow in preview repo - name: Invoke workflow in preview repo
uses: benc-uk/workflow-dispatch@a54f9d194fed472732282ed1597dc4909e4b4080 # v1.3.0 uses: benc-uk/workflow-dispatch@v1.2.2 # Forgejo-compatible (node16)
with: with:
workflow: build_app.yml workflow: build_app.yml
repo: komikku-app/komikku-preview repo: komikku-app/komikku-preview

12
.github/workflows/build_preview.yml vendored Normal file → Executable file
View file

@ -43,7 +43,7 @@ jobs:
echo "VERSION_TAG=$version_tag" >> $GITHUB_OUTPUT echo "VERSION_TAG=$version_tag" >> $GITHUB_OUTPUT
- name: Clone Repository (${{ steps.get_tag.outputs.VERSION_TAG }}) - name: Clone Repository (${{ steps.get_tag.outputs.VERSION_TAG }})
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 uses: actions/checkout@v4 # Forgejo-compatible (node20)
with: with:
fetch-depth: 0 fetch-depth: 0
@ -119,12 +119,12 @@ jobs:
if: github.ref == 'refs/heads/master' if: github.ref == 'refs/heads/master'
steps: steps:
- name: Clone Repository (${{ needs.prepare-build.outputs.VERSION_TAG }} - ${{ needs.prepare-build.outputs.TAG_NAME }}) - name: Clone Repository (${{ needs.prepare-build.outputs.VERSION_TAG }} - ${{ needs.prepare-build.outputs.TAG_NAME }})
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 uses: actions/checkout@v4 # Forgejo-compatible (node20)
with: with:
fetch-depth: 0 fetch-depth: 0
- name: Set up JDK - name: Set up JDK
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 uses: actions/setup-java@v4 # Forgejo-compatible (node20)
with: with:
java-version: 17 java-version: 17
distribution: temurin distribution: temurin
@ -144,7 +144,7 @@ jobs:
write-mode: overwrite write-mode: overwrite
- name: Set up gradle - name: Set up gradle
uses: gradle/actions/setup-gradle@f29f5a9d7b09a7c6b29859002d29d24e1674c884 # v5 uses: gradle/actions/setup-gradle@v4.4.2 # Forgejo-compatible (node20)
- name: Check code format - name: Check code format
run: ./gradlew spotlessCheck run: ./gradlew spotlessCheck
@ -156,7 +156,7 @@ jobs:
run: ./gradlew testReleaseUnitTest run: ./gradlew testReleaseUnitTest
- name: Upload artifacts - name: Upload artifacts
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 uses: actions/upload-artifact@v4 # Forgejo-compatible (node20)
with: with:
path: "**/*.apk" path: "**/*.apk"
retention-days: 1 retention-days: 1
@ -168,7 +168,7 @@ jobs:
- build-app - build-app
steps: steps:
- name: Download artifacts - name: Download artifacts
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 uses: actions/download-artifact@v4 # Forgejo-compatible (node20)
with: with:
merge-multiple: true merge-multiple: true

14
.github/workflows/build_pull_request.yml vendored Normal file → Executable file
View file

@ -30,7 +30,7 @@ jobs:
steps: steps:
- name: Clone repo - name: Clone repo
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 uses: actions/checkout@v4 # Forgejo-compatible (node20)
with: with:
fetch-depth: 0 fetch-depth: 0
@ -38,10 +38,10 @@ jobs:
uses: actions/dependency-review-action@05fe4576374b728f0c523d6a13d64c25081e0803 # v4.8.3 uses: actions/dependency-review-action@05fe4576374b728f0c523d6a13d64c25081e0803 # v4.8.3
- name: Validate Gradle Wrapper - name: Validate Gradle Wrapper
uses: gradle/actions/wrapper-validation@f29f5a9d7b09a7c6b29859002d29d24e1674c884 # v5.0.1 uses: gradle/actions/wrapper-validation@v4.4.2 # Forgejo-compatible (node20)
- name: Set up JDK - name: Set up JDK
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 uses: actions/setup-java@v4 # Forgejo-compatible (node20)
with: with:
java-version: 17 java-version: 17
distribution: temurin distribution: temurin
@ -63,7 +63,7 @@ jobs:
write-mode: overwrite write-mode: overwrite
- name: Set up gradle - name: Set up gradle
uses: gradle/actions/setup-gradle@f29f5a9d7b09a7c6b29859002d29d24e1674c884 # v5 uses: gradle/actions/setup-gradle@v4.4.2 # Forgejo-compatible (node20)
- name: Check code format - name: Check code format
run: ./gradlew spotlessCheck run: ./gradlew spotlessCheck
@ -82,7 +82,7 @@ jobs:
- name: Upload test report - name: Upload test report
if: steps.unit_tests.outcome == 'failure' if: steps.unit_tests.outcome == 'failure'
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 uses: actions/upload-artifact@v4 # Forgejo-compatible (node20)
with: with:
name: test-report-${{ github.sha }} name: test-report-${{ github.sha }}
path: app/build/reports/tests/testReleaseUnitTest path: app/build/reports/tests/testReleaseUnitTest
@ -119,13 +119,13 @@ jobs:
mv app/build/outputs/apk/preview/app-universal-preview${{ steps.signed_filename.outputs.SIGNED_TRAIL }}.apk Komikku-$version_tag-r$commit_count.apk mv app/build/outputs/apk/preview/app-universal-preview${{ steps.signed_filename.outputs.SIGNED_TRAIL }}.apk Komikku-$version_tag-r$commit_count.apk
- name: Upload APK - name: Upload APK
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 uses: actions/upload-artifact@v4 # Forgejo-compatible (node20)
with: with:
name: Komikku-${{ steps.current_commit.outputs.VERSION_TAG }}-r${{ steps.current_commit.outputs.COMMIT_COUNT }}.apk name: Komikku-${{ steps.current_commit.outputs.VERSION_TAG }}-r${{ steps.current_commit.outputs.COMMIT_COUNT }}.apk
path: ./*.apk path: ./*.apk
- name: Upload mapping - name: Upload mapping
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 uses: actions/upload-artifact@v4 # Forgejo-compatible (node20)
with: with:
name: mapping-${{ github.sha }} name: mapping-${{ github.sha }}
path: app/build/outputs/mapping/preview path: app/build/outputs/mapping/preview

12
.github/workflows/build_push.yml vendored Normal file → Executable file
View file

@ -27,12 +27,12 @@ jobs:
steps: steps:
- name: Clone repo - name: Clone repo
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 uses: actions/checkout@v4 # Forgejo-compatible (node20)
with: with:
fetch-depth: 0 fetch-depth: 0
- name: Set up JDK - name: Set up JDK
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 uses: actions/setup-java@v4 # Forgejo-compatible (node20)
with: with:
java-version: 17 java-version: 17
distribution: temurin distribution: temurin
@ -52,7 +52,7 @@ jobs:
write-mode: overwrite write-mode: overwrite
- name: Set up gradle - name: Set up gradle
uses: gradle/actions/setup-gradle@f29f5a9d7b09a7c6b29859002d29d24e1674c884 # v5 uses: gradle/actions/setup-gradle@v4.4.2 # Forgejo-compatible (node20)
- name: Check code format - name: Check code format
run: ./gradlew spotlessCheck run: ./gradlew spotlessCheck
@ -66,7 +66,7 @@ jobs:
- name: Upload test report - name: Upload test report
if: steps.unit_tests.outcome == 'failure' if: steps.unit_tests.outcome == 'failure'
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 uses: actions/upload-artifact@v4 # Forgejo-compatible (node20)
with: with:
name: test-report-${{ github.sha }} name: test-report-${{ github.sha }}
path: app/build/reports/tests/testReleaseUnitTest path: app/build/reports/tests/testReleaseUnitTest
@ -95,13 +95,13 @@ jobs:
mv app/build/outputs/apk/preview/app-universal-preview-signed.apk Komikku-$version_tag-r$commit_count.apk mv app/build/outputs/apk/preview/app-universal-preview-signed.apk Komikku-$version_tag-r$commit_count.apk
- name: Upload APK - name: Upload APK
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 uses: actions/upload-artifact@v4 # Forgejo-compatible (node20)
with: with:
name: Komikku-${{ steps.current_commit.outputs.VERSION_TAG }}-r${{ steps.current_commit.outputs.COMMIT_COUNT }}.apk name: Komikku-${{ steps.current_commit.outputs.VERSION_TAG }}-r${{ steps.current_commit.outputs.COMMIT_COUNT }}.apk
path: ./*.apk path: ./*.apk
- name: Upload mapping - name: Upload mapping
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 uses: actions/upload-artifact@v4 # Forgejo-compatible (node20)
with: with:
name: mapping-${{ github.sha }} name: mapping-${{ github.sha }}
path: app/build/outputs/mapping/preview path: app/build/outputs/mapping/preview

14
.github/workflows/build_release.yml vendored Normal file → Executable file
View file

@ -31,7 +31,7 @@ jobs:
echo "VERSION_TAG=$version_tag" >> $GITHUB_OUTPUT echo "VERSION_TAG=$version_tag" >> $GITHUB_OUTPUT
- name: Clone Repository (${{ steps.get_tag.outputs.VERSION_TAG }}) - name: Clone Repository (${{ steps.get_tag.outputs.VERSION_TAG }})
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 uses: actions/checkout@v4 # Forgejo-compatible (node20)
with: with:
fetch-depth: 0 fetch-depth: 0
@ -87,12 +87,12 @@ jobs:
if: startsWith(github.ref, 'refs/tags/v') if: startsWith(github.ref, 'refs/tags/v')
steps: steps:
- name: Clone Repository (${{ needs.prepare-build.outputs.VERSION_TAG }}) - name: Clone Repository (${{ needs.prepare-build.outputs.VERSION_TAG }})
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 uses: actions/checkout@v4 # Forgejo-compatible (node20)
with: with:
fetch-depth: 0 fetch-depth: 0
- name: Set up JDK - name: Set up JDK
uses: actions/setup-java@be666c2fcd27ec809703dec50e508c2fdc7f6654 # v5.2.0 uses: actions/setup-java@v4 # Forgejo-compatible (node20)
with: with:
java-version: 17 java-version: 17
distribution: temurin distribution: temurin
@ -112,7 +112,7 @@ jobs:
write-mode: overwrite write-mode: overwrite
- name: Set up gradle - name: Set up gradle
uses: gradle/actions/setup-gradle@f29f5a9d7b09a7c6b29859002d29d24e1674c884 # v5 uses: gradle/actions/setup-gradle@v4.4.2 # Forgejo-compatible (node20)
- name: Check code format - name: Check code format
run: ./gradlew spotlessCheck run: ./gradlew spotlessCheck
@ -124,13 +124,13 @@ jobs:
run: ./gradlew testReleaseUnitTest run: ./gradlew testReleaseUnitTest
- name: Upload artifacts - name: Upload artifacts
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 uses: actions/upload-artifact@v4 # Forgejo-compatible (node20)
with: with:
path: "**/*.apk" path: "**/*.apk"
retention-days: 1 retention-days: 1
- name: Upload mapping - name: Upload mapping
uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 uses: actions/upload-artifact@v4 # Forgejo-compatible (node20)
with: with:
name: mapping-${{ github.sha }} name: mapping-${{ github.sha }}
path: app/build/outputs/mapping/release path: app/build/outputs/mapping/release
@ -142,7 +142,7 @@ jobs:
- build-app - build-app
steps: steps:
- name: Download artifacts - name: Download artifacts
uses: actions/download-artifact@37930b1c2abaa49bbe596cd826c3c89aef350131 # v7.0.0 uses: actions/download-artifact@v4 # Forgejo-compatible (node20)
with: with:
merge-multiple: true merge-multiple: true

2
.github/workflows/codeberg_mirror.yml vendored Normal file → Executable file
View file

@ -13,7 +13,7 @@ jobs:
if: github.repository == 'komikku-app/komikku' if: github.repository == 'komikku-app/komikku'
runs-on: 'ubuntu-24.04' runs-on: 'ubuntu-24.04'
steps: steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - uses: actions/checkout@v4 # Forgejo-compatible (node20)
with: with:
fetch-depth: 0 fetch-depth: 0
- uses: pixta-dev/repository-mirroring-action@674e65a7d483ca28dafaacba0d07351bdcc8bd75 # v1.1.1 - uses: pixta-dev/repository-mirroring-action@674e65a7d483ca28dafaacba0d07351bdcc8bd75 # v1.1.1

2
.github/workflows/delete_merged_branch.yml vendored Normal file → Executable file
View file

@ -13,7 +13,7 @@ jobs:
if: github.event.pull_request.merged == true && github.repository == github.event.pull_request.head.repo.full_name if: github.event.pull_request.merged == true && github.repository == github.event.pull_request.head.repo.full_name
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6 uses: actions/checkout@v4 # Forgejo-compatible (node20)
- name: Delete branch - name: Delete branch
run: | run: |

2
.github/workflows/pr_label.yml vendored Normal file → Executable file
View file

@ -15,7 +15,7 @@ jobs:
steps: steps:
- name: Check PR and Add Label - name: Check PR and Add Label
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8 uses: actions/github-script@v7 # Forgejo-compatible (node20)
with: with:
script: | script: |
const prAuthor = context.payload.pull_request.user.login; const prAuthor = context.payload.pull_request.user.login;

2
.github/workflows/update_website.yml vendored Normal file → Executable file
View file

@ -13,7 +13,7 @@ jobs:
steps: steps:
- name: Update website on release - name: Update website on release
uses: benc-uk/workflow-dispatch@a54f9d194fed472732282ed1597dc4909e4b4080 # v1.3.0 uses: benc-uk/workflow-dispatch@v1.2.2 # Forgejo-compatible (node16)
with: with:
workflow: Deploy workflow: Deploy
repo: komikku-app/komikku-app.github.io repo: komikku-app/komikku-app.github.io