mirror of
https://github.com/austinried/subtracks.git
synced 2026-11-11 15:29:15 +01:00
ci: run the GitHub builds in the nix devshell
Drop setup-java, setup-android and the Gradle wrapper in favour of the flake's pinned JDK, Gradle and Android SDK, restoring the Nix store with cache-nix-action, so the release and next builds share the dev toolchain.
This commit is contained in:
@@ -7,25 +7,22 @@ on:
|
|||||||
permissions:
|
permissions:
|
||||||
contents: read
|
contents: read
|
||||||
|
|
||||||
|
env:
|
||||||
|
NIX_CONFIG: experimental-features = nix-command flakes
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
timeout-minutes: 60
|
timeout-minutes: 60
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- name: Set up JDK
|
- uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
|
||||||
uses: actions/setup-java@v4
|
- uses: nix-community/cache-nix-action@7df957e333c1e5da7721f60227dbba6d06080569 # v7
|
||||||
with:
|
with:
|
||||||
distribution: temurin
|
primary-key: nix-v2-${{ hashFiles('flake.lock', '**/*.nix') }}
|
||||||
java-version: "21"
|
restore-prefixes-first-match: nix-v2-
|
||||||
- name: Set up Android SDK
|
|
||||||
uses: android-actions/setup-android@v4
|
|
||||||
- name: Install platform and build tools
|
|
||||||
run: sdkmanager "platforms;android-37" "build-tools;37.0.0"
|
|
||||||
- name: Build next builds
|
- name: Build next builds
|
||||||
run: |
|
run: nix develop --command gradle :app:assembleDebug :app:assembleNext --no-daemon
|
||||||
chmod +x gradlew
|
|
||||||
./gradlew :app:assembleDebug :app:assembleNext --no-daemon
|
|
||||||
- name: Collect next builds
|
- name: Collect next builds
|
||||||
run: |
|
run: |
|
||||||
cp app/build/outputs/apk/debug/app-debug.apk subtracks-next-debug.apk
|
cp app/build/outputs/apk/debug/app-debug.apk subtracks-next-debug.apk
|
||||||
|
|||||||
@@ -8,21 +8,20 @@ on:
|
|||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
|
|
||||||
|
env:
|
||||||
|
NIX_CONFIG: experimental-features = nix-command flakes
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
release:
|
release:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
timeout-minutes: 60
|
timeout-minutes: 60
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- name: Set up JDK
|
- uses: cachix/install-nix-action@13d8dd58da0234aa297dedd986986ccb8e7f3e24 # v31.11.1
|
||||||
uses: actions/setup-java@v4
|
- uses: nix-community/cache-nix-action@7df957e333c1e5da7721f60227dbba6d06080569 # v7
|
||||||
with:
|
with:
|
||||||
distribution: temurin
|
primary-key: nix-v2-${{ hashFiles('flake.lock', '**/*.nix') }}
|
||||||
java-version: "21"
|
restore-prefixes-first-match: nix-v2-
|
||||||
- name: Set up Android SDK
|
|
||||||
uses: android-actions/setup-android@v4
|
|
||||||
- name: Install platform and build tools
|
|
||||||
run: sdkmanager "platforms;android-37" "build-tools;37.0.0"
|
|
||||||
- name: Decode signing material
|
- name: Decode signing material
|
||||||
id: signing
|
id: signing
|
||||||
env:
|
env:
|
||||||
@@ -39,9 +38,7 @@ jobs:
|
|||||||
RELEASE_KEYSTORE_PASSWORD: ${{ secrets.SUBTRACKS_UPLOAD_STORE_PASSWORD }}
|
RELEASE_KEYSTORE_PASSWORD: ${{ secrets.SUBTRACKS_UPLOAD_STORE_PASSWORD }}
|
||||||
RELEASE_KEY_ALIAS: ${{ steps.signing.outputs.alias }}
|
RELEASE_KEY_ALIAS: ${{ steps.signing.outputs.alias }}
|
||||||
RELEASE_KEY_PASSWORD: ${{ secrets.SUBTRACKS_UPLOAD_KEY_PASSWORD }}
|
RELEASE_KEY_PASSWORD: ${{ secrets.SUBTRACKS_UPLOAD_KEY_PASSWORD }}
|
||||||
run: |
|
run: nix develop --command gradle :app:assembleRelease :app:bundleRelease --no-daemon
|
||||||
chmod +x gradlew
|
|
||||||
./gradlew :app:assembleRelease :app:bundleRelease --no-daemon
|
|
||||||
- name: Read version code
|
- name: Read version code
|
||||||
id: version
|
id: version
|
||||||
run: echo "code=$(grep -oP 'versionCode = \K\d+' app/build.gradle.kts)" >> "$GITHUB_OUTPUT"
|
run: echo "code=$(grep -oP 'versionCode = \K\d+' app/build.gradle.kts)" >> "$GITHUB_OUTPUT"
|
||||||
|
|||||||
Reference in New Issue
Block a user