feat(tests): run in parallel #115
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: Test Suite | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
env: | |
GITHUB_ACTOR: ${{ github.actor }} | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
# Instantiate JVM v22. | |
- name: Set up JDK 17 | |
uses: actions/setup-java@v4 | |
with: | |
java-version: '22' | |
distribution: 'adopt' | |
cache: 'gradle' | |
cache-dependency-path: | # optional | |
orchestrator/*.gradle* | |
orchestrator/**/gradle-wrapper.properties | |
# Include a Protobuf and gRPC code generator. | |
- name: Install Protoc | |
uses: arduino/setup-protoc@v3 | |
# Install hatch to support the Python runtime. | |
- name: Setup Hatch | |
uses: pypa/hatch@install | |
# Install npm in order to support TypeScript and the Node.js runtime. | |
- name: Setup NPM | |
uses: actions/setup-node@v2 | |
with: | |
node-version: '20' | |
# Create a JAR exposing the Orchestrator library to the individual | |
# processors. | |
- name: Create JAR | |
run: ./gradlew shadowJar --console=plain --warning-mode all | |
working-directory: ./orchestrator | |
# Attempt to execute the build step. | |
- name: Build | |
run: ./gradlew installDist --console=plain --warning-mode all | |
working-directory: ./orchestrator | |
# Execute test suite. | |
- name: Run tests | |
run: ./gradlew test --console=plain --warning-mode all | |
working-directory: ./orchestrator |