Unit Tests #661
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: Unit Tests | |
on: | |
pull_request: | |
push: | |
branches: | |
- main | |
- release-* | |
tags-ignore: [ v.* ] | |
schedule: | |
- cron: '0 2 * * *' # every day 2am | |
jobs: | |
test: | |
name: Build and Test | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- { javaVersion: 8, scalaVersion: 2.12.18, sbtOpts: '' } | |
- { javaVersion: 11, scalaVersion: 2.12.18, sbtOpts: '-J-XX:+UnlockExperimentalVMOptions -J-XX:+UseJVMCICompiler' } | |
- { javaVersion: 8, scalaVersion: 2.13.11, sbtOpts: '' } | |
- { javaVersion: 11, scalaVersion: 2.13.11, sbtOpts: '-J-XX:+UnlockExperimentalVMOptions -J-XX:+UseJVMCICompiler' } | |
- { javaVersion: 8, scalaVersion: 3.3.0, sbtOpts: '' } | |
- { javaVersion: 11, scalaVersion: 3.3.0, sbtOpts: '-J-XX:+UnlockExperimentalVMOptions -J-XX:+UseJVMCICompiler' } | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Checkout GitHub merge | |
if: github.event.pull_request | |
run: |- | |
git fetch origin pull/${{ github.event.pull_request.number }}/merge:scratch | |
git checkout scratch | |
- name: Setup Java ${{ matrix.javaVersion }} | |
uses: actions/setup-java@v3 | |
with: | |
distribution: temurin | |
java-version: ${{ matrix.javaVersion }} | |
- name: Cache Coursier cache | |
uses: coursier/cache-action@v6.4.0 | |
# hack to solve "Cannot assign requested address" issue - https://gh.neting.ccmunity/t/github-action-and-oserror-errno-99-cannot-assign-requested-address/173973/1 | |
- name: Add the current IP address, long hostname and short hostname record to /etc/hosts file | |
run: | | |
echo -e "$(ip addr show eth0 | grep "inet\b" | awk '{print $2}' | cut -d/ -f1)\t$(hostname -f) $(hostname -s)" | sudo tee -a /etc/hosts | |
- name: Check code formatted | |
run: sbt javafmtCheckAll | |
- name: Compile integration test | |
run: sbt "++${{ matrix.scalaVersion }} IntegrationTest/compile" ${{ matrix.sbtOpts }} | |
- name: Run tests with Scala ${{ matrix.scalaVersion }} and Java ${{ matrix.javaVersion }} | |
run: sbt "++${{ matrix.scalaVersion }} test" ${{ matrix.sbtOpts }} | |
- name: Print logs on failure | |
if: ${{ failure() }} | |
run: find . -name "*.log" -exec ./scripts/cat-log.sh {} \; | |
docs: | |
name: Docs compile | |
runs-on: ubuntu-20.04 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Checkout GitHub merge | |
if: github.event.pull_request | |
run: |- | |
git fetch origin pull/${{ github.event.pull_request.number }}/merge:scratch | |
git checkout scratch | |
- name: Setup Java 11 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: temurin | |
java-version: 11 | |
- name: Cache Coursier cache | |
uses: coursier/cache-action@v6.4.0 | |
- name: Create all API docs for artifacts/website and all reference docs | |
run: sbt "unidoc; docs/paradox" |