Skip to content

1.2.0

1.2.0 #21

Workflow file for this run

name: Build Release
on:
release:
# We'll run this workflow when a new GitHub release is created
types: [released]
jobs:
spotless:
name: Spotless
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v2
- uses: gradle/wrapper-validation-action@v1
- name: Set up JDK 17
uses: actions/setup-java@v1
with:
java-version: 17
- uses: actions/cache@v2
with:
path: |
~/.gradle/caches/modules-*
~/.gradle/caches/jars-*
~/.gradle/caches/build-cache-*
key: gradle-${{ runner.os }}-${{ hashFiles('**/build.gradle') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}
- name: spotlessCheck
env:
DEPENDENCY_GITHUB_PACKAGES_PASSWORD: ${{ secrets.DEPENDENCY_GITHUB_PACKAGES_PASSWORD }}
run: |
./gradlew spotlessCheck
assembleRelease:
needs: spotless
name: AssembleRelease
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v2
- uses: gradle/wrapper-validation-action@v1
- name: Set up JDK 17
uses: actions/setup-java@v1
with:
java-version: 17
- uses: actions/cache@v2
with:
path: |
~/.gradle/caches/modules-*
~/.gradle/caches/jars-*
~/.gradle/caches/build-cache-*
key: gradle-${{ runner.os }}-${{ hashFiles('**/build.gradle') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}
- name: assembleRelease -x test
env:
DEPENDENCY_GITHUB_PACKAGES_PASSWORD: ${{ secrets.DEPENDENCY_GITHUB_PACKAGES_PASSWORD }}
run: |
./gradlew --scan --stacktrace \
assembleRelease \
androidSourcesJar -x test
- uses: actions/upload-artifact@v2
with:
name: build-files
path: |
./*/build/
retention-days: 1
testRelease:
needs: [ assembleRelease]
name: TestRelease
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v2
- uses: gradle/wrapper-validation-action@v1
- name: Set up JDK 17
uses: actions/setup-java@v1
with:
java-version: 17
- uses: actions/cache@v2
with:
path: |
~/.gradle/caches/modules-*
~/.gradle/caches/jars-*
~/.gradle/caches/build-cache-*
key: gradle-${{ runner.os }}-${{ hashFiles('**/build.gradle') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}
- uses: actions/download-artifact@v2
with:
name: build-files
- name: testRelease
env:
DEPENDENCY_GITHUB_PACKAGES_PASSWORD: ${{ secrets.DEPENDENCY_GITHUB_PACKAGES_PASSWORD }}
run: |
./gradlew testRelease
lintRelease:
needs: [ assembleRelease ]
name: LintRelease
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- uses: actions/checkout@v2
- uses: gradle/wrapper-validation-action@v1
- name: Set up JDK 17
uses: actions/setup-java@v1
with:
java-version: 17
- uses: actions/cache@v2
with:
path: |
~/.gradle/caches/modules-*
~/.gradle/caches/jars-*
~/.gradle/caches/build-cache-*
key: gradle-${{ runner.os }}-${{ hashFiles('**/build.gradle') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}
- uses: actions/download-artifact@v2
with:
name: build-files
- name: lintRelease
env:
DEPENDENCY_GITHUB_PACKAGES_PASSWORD: ${{ secrets.DEPENDENCY_GITHUB_PACKAGES_PASSWORD }}
run: |
./gradlew lintRelease
connectedCheck:
needs: [ assembleRelease ]
name: ConnectedCheck
runs-on: macOS-latest # enables hardware acceleration in the virtual machine
timeout-minutes: 60
strategy:
matrix:
api-level: [ 23, 24, 25, 26, 27, 28, 29 ]
steps:
- uses: actions/checkout@v2
- uses: gradle/wrapper-validation-action@v1
- name: Set up JDK 17
uses: actions/setup-java@v1
with:
java-version: 17
- uses: actions/cache@v2
with:
path: |
~/.gradle/caches/modules-*
~/.gradle/caches/jars-*
~/.gradle/caches/build-cache-*
key: gradle-${{ runner.os }}-${{ hashFiles('**/build.gradle') }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}
- uses: actions/download-artifact@v2
with:
name: build-files
- name: Run instrumentation tests
uses: reactivecircus/android-emulator-runner@v2
with:
api-level: ${{ matrix.api-level }}
arch: x86
emulator-build: 7425822 # https://github.com/ReactiveCircus/android-emulator-runner/issues/160
disable-animations: true
script: ./gradlew connectedCheck
publish:
needs: [ testRelease, lintRelease, connectedCheck ]
name: Release build and publish
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Set up JDK 17
uses: actions/setup-java@v1
with:
java-version: 17
# Base64 decodes and pipes the GPG key content into the secret file
- name: Prepare environment
env:
GPG_KEY_CONTENTS: ${{ secrets.GPG_KEY_CONTENTS }}
SIGNING_SECRET_KEY_RING_FILE: ${{ secrets.SIGNING_SECRET_KEY_RING_FILE }}
run: |
git fetch --unshallow
sudo bash -c "echo '$GPG_KEY_CONTENTS' | base64 -d > '$SIGNING_SECRET_KEY_RING_FILE'"
- uses: actions/download-artifact@v2
with:
name: build-files
# Runs upload, and then closes & releases the repository
- name: Publish to MavenCentral
run: ./gradlew publishReleasePublicationToSonatypeRepository --max-workers 1 closeAndReleaseRepository
env:
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
SIGNING_KEY_ID: ${{ secrets.SIGNING_KEY_ID }}
SIGNING_PASSWORD: ${{ secrets.SIGNING_PASSWORD }}
SIGNING_SECRET_KEY_RING_FILE: ${{ secrets.SIGNING_SECRET_KEY_RING_FILE }}
SONATYPE_STAGING_PROFILE_ID: ${{ secrets.SONATYPE_STAGING_PROFILE_ID }}
mkdocs-gh-deploy:
needs: [ publish ]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-python@v2
with:
python-version: 3.x
- run: pip install mkdocs-material
- run: mkdocs gh-deploy --force