chore(main): release 0.2.2-SNAPSHOT #79
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: CI | |
on: | |
pull_request: | |
branches: [ main ] | |
jobs: | |
jvm: | |
runs-on: ubuntu-latest | |
env: | |
TEST_API_KEY: ${{ secrets.ALPHA_TEST_AUTH_TOKEN }} | |
TEST_CACHE_NAME: kotlin-integration-test-jvm-ci-${{ github.sha }} | |
steps: | |
- name: Checkout project | |
uses: actions/checkout@v4 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: 17 | |
distribution: 'corretto' | |
# The Android SDK is required to build the project, even if we are not running Android tests. | |
- name: Setup Android SDK | |
uses: android-actions/setup-android@v3 | |
- name: Verify README generation | |
uses: momentohq/standards-and-practices/github-actions/oss-readme-template@gh-actions-v2 | |
with: | |
project_status: incubating | |
project_stability: alpha | |
project_type: sdk | |
sdk_language: Kotlin | |
dev_docs_slug: kotlin | |
- name: Commitlint and Other Shared Build Steps | |
uses: momentohq/standards-and-practices/github-actions/shared-build@gh-actions-v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Build and test project | |
uses: gradle/[email protected] | |
with: | |
arguments: clean build | |
android: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
api-level: [ 26 ] | |
env: | |
TEST_API_KEY: ${{ secrets.ALPHA_TEST_AUTH_TOKEN }} | |
TEST_CACHE_NAME: kotlin-integration-test-android-ci-${{ github.sha }} | |
steps: | |
- name: Checkout project | |
uses: actions/checkout@v4 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: 17 | |
distribution: 'corretto' | |
- name: Setup Android SDK | |
uses: android-actions/setup-android@v3 | |
- name: Build project | |
uses: gradle/[email protected] | |
with: | |
arguments: clean build -x jvmTest -x testDebugUnitTest -x testReleaseUnitTest | |
# Required for hardware accelerated Android emulation on linux | |
# See https://github.com/ReactiveCircus/android-emulator-runner | |
- name: Enable KVM | |
run: | | |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules | |
sudo udevadm control --reload-rules | |
sudo udevadm trigger --name-match=kvm | |
- name: run tests | |
uses: reactivecircus/android-emulator-runner@v2 | |
with: | |
api-level: ${{ matrix.api-level }} | |
script: ./gradlew connectedCheck | |
examples: | |
runs-on: ubuntu-latest | |
env: | |
MOMENTO_API_KEY: ${{ secrets.ALPHA_TEST_AUTH_TOKEN }} | |
steps: | |
- name: Checkout project | |
uses: actions/checkout@v4 | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: 17 | |
distribution: 'corretto' | |
- name: Run doc examples | |
id: validation | |
run: | | |
cd examples | |
./gradlew docExamples readmeExample cheatSheetExample basic | |
- name: Send CI failure mail | |
if: ${{ steps.validation.outcome == 'failure' }} | |
uses: momentohq/standards-and-practices/github-actions/error-email-action@gh-actions-v1 | |
with: | |
username: ${{secrets.MOMENTO_ROBOT_GMAIL_USERNAME}} | |
password: ${{secrets.MOMENTO_ROBOT_GMAIL_PASSWORD}} | |
- name: Flag Job Failure | |
if: ${{ steps.validation.outcome == 'failure' }} | |
run: exit 1 |