This repository has been archived by the owner on Oct 18, 2024. It is now read-only.
chore(deps): update plugin com.mooltiverse.oss.nyx to v2.5.1 #190
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and test | |
on: | |
push: | |
branches: [ "dev", "main" ] | |
paths-ignore: | |
- '**.md' | |
pull_request: | |
branches: [ "dev" ] | |
paths-ignore: | |
- '**.md' | |
workflow_dispatch: { } | |
jobs: | |
build_apk: | |
name: Build APK | |
runs-on: ubuntu-latest | |
steps: | |
- name: Cancel previous runs | |
uses: styfle/[email protected] | |
with: | |
access_token: ${{ github.token }} | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
submodules: true | |
- name: Setup NDK | |
uses: nttld/setup-ndk@v1 | |
id: setup-ndk | |
with: | |
ndk-version: r25 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v3 | |
with: | |
java-version: '17' | |
distribution: 'temurin' | |
- name: Install dependencies | |
run: sudo apt-get install build-essential cargo nodejs cmake ninja-build | |
- name: Change Gradle wrapper permissions | |
run: chmod +x ./gradlew | |
- name: Restore cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.gradle/caches | |
~/.gradle/wrapper | |
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }} | |
restore-keys: | | |
${{ runner.os }}-gradle- | |
- name: Assemble Release | |
run: ./gradlew assembleRelease | |
env: | |
ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }} | |
PublishToMaven: ${{ github.ref == 'refs/heads/main' }} | |
- name: Upload APK | |
uses: actions/upload-artifact@v3 | |
with: | |
name: app-release | |
path: app/build/outputs/apk/release/app-release.apk | |
unit_test_debug: | |
name: Run local tests | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
submodules: true | |
- name: Setup NDK | |
uses: nttld/setup-ndk@v1 | |
id: setup-ndk | |
with: | |
ndk-version: r25 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v3 | |
with: | |
java-version: '17' | |
distribution: 'temurin' | |
- name: Install dependencies | |
run: sudo apt-get install build-essential cargo nodejs cmake ninja-build | |
- name: Change Gradle wrapper permissions | |
run: chmod +x ./gradlew | |
- name: Restore cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.gradle/caches | |
~/.gradle/wrapper | |
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }} | |
restore-keys: | | |
${{ runner.os }}-gradle- | |
- name: Run debug tests | |
run: ./gradlew testDebug --continue | |
env: | |
ANDROID_NDK_HOME: ${{ steps.setup-ndk.outputs.ndk-path }} | |
- name: Upload test reports | |
if: ${{ always() }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: test-reports | |
path: '**/build/reports/tests/' | |
publish: | |
name: Publish release | |
runs-on: ubuntu-latest | |
needs: [ build_apk, unit_test_debug ] | |
if: ${{ always() && github.event_name != 'pull_request' && github.ref == 'refs/heads/main' && needs.build_apk.result == 'success' && needs.unit_test_debug.result == 'success' }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
submodules: true | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v3 | |
with: | |
java-version: '17' | |
distribution: 'temurin' | |
- name: Install dependencies | |
run: sudo apt-get install build-essential cargo nodejs cmake ninja-build | |
- name: Change Gradle wrapper permissions | |
run: chmod +x ./gradlew | |
- name: Restore cache | |
uses: actions/cache@v3 | |
with: | |
path: | | |
~/.gradle/caches | |
~/.gradle/wrapper | |
key: ${{ runner.os }}-gradle-${{ hashFiles('**/*.gradle*') }} | |
restore-keys: | | |
${{ runner.os }}-gradle- | |
- name: Publish release | |
id: publish_release | |
run: | | |
./gradlew nyxMake nyxMark nyxPublish release --stacktrace | |
echo ::set-output name=exit_code::$? | |
env: | |
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.MVN_USERNAME }} | |
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.MVN_PASSWORD }} | |
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.MVN_SIGNING_KEY }} | |
ORG_GRADLE_PROJECT_signingInMemoryKeyId: ${{ secrets.MVN_SIGNING_KEY_ID }} | |
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.MVN_SIGNING_KEY_PASSWORD }} | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
PublishToMaven: ${{ github.ref == 'refs/heads/main' }} | |
- name: Close and release | |
if: steps.publish_release.outputs.exit_code == 0 | |
run: ./gradlew closeAndReleaseRepository --stacktrace | |
env: | |
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.MVN_USERNAME }} | |
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.MVN_PASSWORD }} | |
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.MVN_SIGNING_KEY }} | |
ORG_GRADLE_PROJECT_signingInMemoryKeyId: ${{ secrets.MVN_SIGNING_KEY_ID }} | |
ORG_GRADLE_PROJECT_signingInMemoryKeyPassword: ${{ secrets.MVN_SIGNING_KEY_PASSWORD }} | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
PublishToMaven: ${{ github.ref == 'refs/heads/main' }} | |
- name: Archive Nyx state file | |
uses: actions/upload-artifact@v3 | |
if: ${{ always() }} | |
with: | |
name: .nyx-state-${{ github.job }}.json | |
path: build/nyx-state.json |