Merge pull request #1831 from robstoll/chore/matrix_commons #194
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: Quality Assurance | |
on: [ push, pull_request ] | |
jobs: | |
generate-matrix: | |
runs-on: ubuntu-latest | |
outputs: | |
matrix: ${{ steps.set-matrix.outputs.matrix }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: Generate matrix | |
id: set-matrix | |
run: node .github/workflows/matrix.js | |
build-and-test: | |
needs: generate-matrix | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: ${{ fromJson(needs.generate-matrix.outputs.matrix) }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up JDK ${{ matrix.java_version }} | |
uses: actions/setup-java@v4 | |
with: | |
distribution: ${{ matrix.java_distribution }} | |
java-version: ${{ matrix.java_version }} | |
- name: Setup Gradle | |
uses: gradle/gradle-build-action@v3.5.0 | |
- name: Build using JDK ${{ matrix.java_version }} | |
run: ./gradlew build | |
- name: Upload build code coverage | |
uses: codecov/codecov-action@v4.5.0 | |
if: ${{ github.event_name == 'pull_request' || (github.event_name == 'push' && github.ref == 'refs/heads/main') }} | |
with: | |
token: ${{ secrets.CODECOV_TOKEN }} | |
flags: ${{ matrix.os == 'windows-latest' && 'current_windows' || 'current' }} | |
env_vars: JAVA_VERSION | |
- name: Composite build atrium-samples-test | |
run: ./gradlew build | |
working-directory: misc/tools/atrium-samples-test | |
dexer: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 1 | |
- name: Cache Android jar | |
id: android-cache | |
uses: actions/cache@v4 | |
with: | |
path: android-jar-cache | |
key: ${{ runner.os }}-android-version-26 | |
- name: Download Android SDK's android.jar (or use cached file) | |
if: steps.android-cache.outputs.cache-hit != 'true' | |
run: | | |
mkdir android-jar-cache | |
cd android-jar-cache | |
curl -o android.jar -L "https://github.com/Sable/android-platforms/blob/master/android-26/android.jar?raw=true" | |
echo "cdc1846376a14b0370cc63454a129606b4a52cc50ada75ef0d4cf956b1ad2daa android.jar" > android.sha256 | |
if ! sha256sum -c android.sha256; then | |
echo >&2 "wrong sha256 for android.jar, expected:" | |
cat >&2 android.sha256 | |
echo >&2 "actual:" | |
sha256sum android.jar | |
exit 1; | |
fi | |
- name: Check Atrium's -jvm.jar can be dexed | |
run: ATRIUM_ANDROID_JAR="$PWD/android-jar-cache/android.jar" ./gradlew checkDexer | |
forwardCompatibility: | |
env: | |
JAVA_VERSION: 17 | |
KOTLIN_VERSION: ${{ matrix.kotlin_version }} | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
kotlin_version: [ '1.5', '1.6', '1.7', '1.8', '1.9', '2.0' ] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'adopt' | |
java-version: 17 | |
- name: Setup Gradle | |
uses: gradle/gradle-build-action@v3.5.0 | |
- name: Build using Kotlin ${{ matrix.kotlin_version }} | |
run: ./gradlew build |