Scaling-plan: A scaling plan applied to scale the API for professional use-cases #65
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
# This is a basic workflow to help you get started with Actions | |
name: Build and Test jSnapLoader | |
# Controls when the workflow will run | |
on: | |
# Triggers the workflow on push or pull request events but only for the "master" branch | |
push: | |
branches: [ "master" ] | |
pull_request: | |
branches: [ "master" ] | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
jobs: | |
build-snaploader: | |
# runner images with architectures (variants) | |
runs-on: 'ubuntu-latest' | |
name: Build jSnapLoader | |
# Steps represent a sequence of tasks that will be executed as part of the job | |
steps: | |
- name: Checkout Job | |
uses: actions/checkout@v3 | |
- name: Setup temurin JDK | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '19' | |
- name: Compiling java | |
run: ./gradlew --console="verbose" :snaploader:build | |
- name: Archive build | |
uses: actions/upload-artifact@v3 | |
with: | |
name: snaploader-snapshot | |
path: snaploader/build/libs/ | |
test-doc-generation: | |
# a linux runner image with the ndk installed and llvm ready to compile android native binaries | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ 'ubuntu-latest' ] | |
name: Generating documentation | |
# Steps represent a sequence of tasks that will be executed as part of the job | |
steps: | |
- name: Checkout Job | |
uses: actions/checkout@v3 | |
- name: Setup temurin JDK | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: '19' | |
- name: Generate javadoc | |
run: chmod +rwx ./gradlew && ./gradlew :snaploader:generateJavadocJar | |
test: | |
# runner images with architectures (variants) | |
runs-on: ${{ matrix.os }} | |
needs: build-snaploader | |
name: Testing snaploader on ${{ matrix.os }}-${{ matrix.jdk }} | |
strategy: | |
matrix: | |
os: [ 'ubuntu-latest', 'windows-latest' ] | |
jdk: ['17', '19'] | |
architecture: ['x86_64'] | |
# Steps represent a sequence of tasks that will be executed as part of the job | |
steps: | |
- name: Checkout Job | |
uses: actions/checkout@v3 | |
- name: Setup temurin JDK | |
uses: actions/setup-java@v3 | |
with: | |
distribution: 'temurin' | |
java-version: ${{ matrix.jdk }} | |
- name: Download snaploader-SNAPSHOT.jar library | |
uses: actions/download-artifact@v3 | |
with: | |
name: snaploader-snapshot | |
path: snaploader/build/libs/ | |
- name: Run com.avrsandbox.snaploader.examples.TestBasicFeatures | |
run: ./gradlew :snaploader-examples:TestBasicFeatures :snaploader-examples:run | |
- name: Run com.avrsandbox.snaploader.examples.TestMultipleLoads | |
run: ./gradlew :snaploader-examples:TestMultipleLoads :snaploader-examples:run | |
- name: Run com.avrsandbox.snaploader.examples.TestZipExtractor | |
run: ./gradlew :snaploader-examples:TestZipExtractor :snaploader-examples:run | |
- name: List extracted files | |
run: ls ./snaploader-examples/libs/ |