Update GitHub actions workflows

This commit is contained in:
Niels van Velzen
2022-09-25 15:21:26 +02:00
committed by Max Rumpf
parent c101ba4662
commit 6d2cd0ec46
8 changed files with 72 additions and 48 deletions
+15 -12
View File
@@ -1,4 +1,4 @@
name: App Build
name: App / Build
on:
push:
@@ -6,9 +6,13 @@ on:
- master
pull_request:
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-20.04
name: Build
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
@@ -16,18 +20,17 @@ jobs:
uses: actions/setup-java@d854b6da19cdadd9a010605529e522c2393ebd38 # tag=v3
with:
distribution: temurin
java-version: 11
cache: gradle
java-version: 17
- name: Setup Gradle
uses: gradle/gradle-build-action@c295a4096e1d2c453eaf1f65c6f96686e26bd8be # tag=v2
- name: Assemble debug APKs
run: ./gradlew --no-daemon --info assembleDebug
- name: Split APK release types
run: |
mkdir -p build/jellyfin-publish
mv app/build/outputs/apk/*/*/jellyfin-android-*-libre-debug.apk build/jellyfin-publish/
mv app/build/outputs/apk/*/*/jellyfin-android-*-proprietary-debug.apk build/jellyfin-publish/
- uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8 # tag=v3
run: ./gradlew assembleDebug
- name: Create publish bundle
run: mkdir -p build/gh-app-publish/; find app/build/ -iname "*.apk" -exec mv "{}" build/gh-app-publish/ \;
- name: Upload artifacts
uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8 # tag=v3
with:
name: build-artifacts
retention-days: 14
if-no-files-found: error
path: build/jellyfin-publish
path: build/gh-app-publish/
+11 -5
View File
@@ -1,4 +1,4 @@
name: App Lint
name: App / Lint
on:
push:
@@ -7,9 +7,14 @@ on:
- release-*
pull_request:
permissions:
contents: read
security-events: write
jobs:
lint:
runs-on: ubuntu-20.04
name: Lint
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
@@ -17,10 +22,11 @@ jobs:
uses: actions/setup-java@d854b6da19cdadd9a010605529e522c2393ebd38 # tag=v3
with:
distribution: temurin
java-version: 11
cache: gradle
java-version: 17
- name: Setup Gradle
uses: gradle/gradle-build-action@c295a4096e1d2c453eaf1f65c6f96686e26bd8be # tag=v2
- name: Run detekt and lint tasks
run: ./gradlew --build-cache --no-daemon --info detekt lint
run: ./gradlew detekt lint
- name: Upload SARIF files
uses: github/codeql-action/upload-sarif@86f3159a697a097a813ad9bfa0002412d97690a4 # tag=v2
if: ${{ always() }}
+14 -11
View File
@@ -1,4 +1,4 @@
name: App Publish
name: App / Publish
on:
push:
@@ -6,9 +6,10 @@ on:
- v*
jobs:
build:
runs-on: ubuntu-20.04
if: ${{ github.repository == 'jellyfin/jellyfin-android' }}
publish:
name: Publish
runs-on: ubuntu-22.04
if: ${{ contains(github.repository_owner, 'jellyfin') }}
steps:
- name: Checkout repository
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
@@ -16,11 +17,13 @@ jobs:
uses: actions/setup-java@d854b6da19cdadd9a010605529e522c2393ebd38 # tag=v3
with:
distribution: temurin
java-version: 11
java-version: 17
- name: Setup Gradle
uses: gradle/gradle-build-action@c295a4096e1d2c453eaf1f65c6f96686e26bd8be # tag=v2
- name: Set JELLYFIN_VERSION
run: echo "JELLYFIN_VERSION=$(echo ${GITHUB_REF#refs/tags/v} | tr / -)" >> $GITHUB_ENV
- name: Assemble release APKs and bundle
run: ./gradlew --no-daemon --info assemble bundleProprietaryRelease versionTxt
- name: Assemble release files
run: ./gradlew assemble bundleProprietaryRelease versionTxt
- name: Sign libre APK
id: libreSign
uses: r0adkll/sign-android-release@349ebdef58775b1e0d8099458af0816dc79b6407 # tag=v1
@@ -48,7 +51,7 @@ jobs:
keyStorePassword: ${{ secrets.KEYSTORE_PASSWORD }}
alias: ${{ secrets.KEY_ALIAS }}
keyPassword: ${{ secrets.KEY_PASSWORD }}
- name: Collect APK and bundle artifacts in release directory
- name: Prepare release archive
run: |
mkdir -p build/jellyfin-publish
mv app/build/outputs/apk/*/*/jellyfin-android-*-libre-debug.apk build/jellyfin-publish/
@@ -59,13 +62,13 @@ jobs:
mv ${{ steps.proprietarySign.outputs.signedReleaseFile }} build/jellyfin-publish/jellyfin-android-v${{ env.JELLYFIN_VERSION }}-proprietary-release.apk
mv ${{ steps.proprietaryBundleSign.outputs.signedReleaseFile }} build/jellyfin-publish/jellyfin-android-v${{ env.JELLYFIN_VERSION }}-proprietary-release.aab
mv app/build/version.txt build/jellyfin-publish/
- name: Upload release artifacts
- name: Upload release archive to GitHub release
uses: alexellis/upload-assets@5586bc227f8525a5e3525e6edf64da5350bfb5b1 # tag=0.3.0
env:
GITHUB_TOKEN: ${{ github.token }}
GITHUB_TOKEN: ${{ secrets.JF_BOT_TOKEN }}
with:
asset_paths: '["build/jellyfin-publish/*"]'
- name: Upload to repo.jellyfin.org
- name: Upload release archive to repo.jellyfin.org
uses: burnett01/rsync-deployments@0dc935cdecc5f5e571865e60d2a6cdc673704823 # tag=5.2
with:
switches: -vrptz
+11 -6
View File
@@ -1,4 +1,4 @@
name: App Test
name: App / Test
on:
push:
@@ -7,9 +7,13 @@ on:
- release-*
pull_request:
permissions:
contents: read
jobs:
test:
runs-on: ubuntu-20.04
name: Test
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
@@ -17,7 +21,8 @@ jobs:
uses: actions/setup-java@d854b6da19cdadd9a010605529e522c2393ebd38 # tag=v3
with:
distribution: temurin
java-version: 11
cache: gradle
- name: Run test and assemble tasks
run: ./gradlew --no-daemon --build-cache test
java-version: 17
- name: Setup Gradle
uses: gradle/gradle-build-action@c295a4096e1d2c453eaf1f65c6f96686e26bd8be # tag=v2
- name: Run test task
run: ./gradlew test
+4 -3
View File
@@ -1,4 +1,4 @@
name: Gradle update
name: Gradle / Update wrapper
on:
schedule:
@@ -6,8 +6,9 @@ on:
jobs:
update:
runs-on: ubuntu-20.04
if: github.repository == 'jellyfin/jellyfin-android'
name: Update
runs-on: ubuntu-22.04
if: ${{ contains(github.repository_owner, 'jellyfin') }}
steps:
- name: Checkout repository
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
+6 -2
View File
@@ -1,4 +1,4 @@
name: Gradle validate
name: Gradle / Validate wrapper
on:
push:
@@ -8,9 +8,13 @@ on:
paths:
- '**/gradlе-wrapper.jar'
permissions:
contents: read
jobs:
validate:
runs-on: ubuntu-20.04
name: Validate
runs-on: ubuntu-22.04
steps:
- name: Checkout repository
uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b # tag=v3
@@ -1,4 +1,4 @@
name: Merge conflict labeler
name: Repo / Label merge conflict
on:
push:
@@ -8,8 +8,9 @@ on:
jobs:
triage:
runs-on: ubuntu-20.04
if: github.repository == 'jellyfin/jellyfin-android'
name: Triage
runs-on: ubuntu-22.04
if: ${{ contains(github.repository_owner, 'jellyfin') }}
steps:
- uses: eps1lon/actions-label-merge-conflict@b8bf8341285ec9a4567d4318ba474fee998a6919 # tag=v2.0.1
with:
+7 -6
View File
@@ -1,4 +1,4 @@
name: Issue stale check
name: Repo / Reply stale issue
on:
schedule:
@@ -10,9 +10,10 @@ permissions:
pull-requests: write
jobs:
stale:
runs-on: ubuntu-20.04
if: github.repository == 'jellyfin/jellyfin-android'
triage:
name: Triage
runs-on: ubuntu-22.04
if: ${{ contains(github.repository_owner, 'jellyfin') }}
steps:
- uses: actions/stale@3de2653986ebd134983c79fe2be5d45cc3d9f4e1 # tag=v6
with:
@@ -25,7 +26,7 @@ jobs:
stale-issue-label: stale
stale-issue-message: |-
This issue has gone 120 days without comment. To avoid abandoned issues, it will be closed in 21 days if there are no new comments.
If you're the original submitter of this issue, please comment confirming if this issue still affects you in the latest release or master branch, or close the issue if it has been fixed. If you're another user also affected by this bug, please comment confirming so. Either action will remove the stale label.
This bot exists to prevent issues from becoming stale and forgotten. Jellyfin is always moving forward, and bugs are often fixed as side effects of other changes. We therefore ask that bug report authors remain vigilant about their issues to ensure they are closed if fixed, or re-confirmed - perhaps with fresh logs or reproduction examples - regularly. If you have any questions you can reach us on [Matrix or Social Media](https://docs.jellyfin.org/general/getting-help.html).