wip #639
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
jobs: | |
build: | |
name: Build | |
needs: | |
- checks | |
permissions: | |
actions: read | |
checks: write | |
contents: read | |
runs-on: ubuntu-latest | |
steps: | |
- uses: "actions/checkout@v2" | |
with: | |
submodules: 'true' | |
- name: "~/.sbt\n\"~/.cache/coursier\"\n cache" | |
uses: "actions/cache@v3" | |
with: | |
key: "${{ runner.os }}-sbt-${{ hashFiles('build.sbt', 'project/plugins.sbt', 'project/build.properties') }}" | |
path: | | |
~/.sbt | |
"~/.cache/coursier" | |
restore-keys: | | |
${{ runner.os }}-sbt | |
- name: "java ${{ matrix.java }} setup" | |
uses: "actions/setup-java@v1.4.3" | |
with: | |
architecture: x64 | |
java-package: jdk | |
java-version: "${{ matrix.java }}" | |
- run: "sbt -DJDK_VERSION=${{ matrix.java }} ++${{ matrix.scala }} coverage test coverageReport" | |
- if: "success() || failure()" | |
name: Report test results | |
uses: "dorny/test-reporter@v1.7.0" | |
with: | |
fail-on-error: 'true' | |
name: Test results | |
path: "*/target/test-reports/*.xml" | |
reporter: java-junit | |
- env: | |
CODECOV_TOKEN: "${{ secrets.CODECOV_TOKEN }}" | |
name: Upload coverage reports to Codecov | |
uses: "codecov/codecov-action@v3" | |
strategy: | |
matrix: | |
java: | |
- '8.0.382' | |
- '22.0.1' | |
scala: | |
- '2.13.13' | |
checks: | |
name: Check formatting | |
runs-on: ubuntu-latest | |
steps: | |
- uses: "actions/checkout@v2" | |
with: | |
submodules: 'true' | |
- name: "~/.sbt\n\"~/.cache/coursier\"\n cache" | |
uses: "actions/cache@v3" | |
with: | |
key: "${{ runner.os }}-sbt-${{ hashFiles('build.sbt', 'project/plugins.sbt', 'project/build.properties') }}" | |
path: | | |
~/.sbt | |
"~/.cache/coursier" | |
restore-keys: | | |
${{ runner.os }}-sbt | |
- name: java 17 setup | |
uses: "actions/setup-java@v1.4.3" | |
with: | |
architecture: x64 | |
java-package: jdk | |
java-version: '17' | |
- run: sbt scalafmtCheckAll scalafmtSbtCheck | |
pdftutorial: | |
name: Build and validate the tutorial | |
runs-on: ubuntu-latest | |
steps: | |
- uses: "actions/checkout@v2" | |
with: | |
submodules: 'true' | |
- name: "~/.sbt\n\"~/.cache/coursier\"\n cache" | |
uses: "actions/cache@v3" | |
with: | |
key: "${{ runner.os }}-sbt-${{ hashFiles('build.sbt', 'project/plugins.sbt', 'project/build.properties') }}" | |
path: | | |
~/.sbt | |
"~/.cache/coursier" | |
restore-keys: | | |
${{ runner.os }}-sbt | |
- name: java 17 setup | |
uses: "actions/setup-java@v1.4.3" | |
with: | |
architecture: x64 | |
java-package: jdk | |
java-version: '17' | |
- name: Setup scala-cli | |
uses: "VirtusLab/scala-cli-setup@main" | |
- name: Setup dhall executable | |
uses: "dhall-lang/setup-dhall@v4" | |
with: | |
version: '1.42.0' | |
- name: Setup latex | |
uses: "zauguin/install-texlive@v3" | |
with: | |
packages: scheme-full | |
- run: bash tutorial/make_pdf.sh dryrunx | |
- name: Upload tutorial PDF | |
uses: "actions/upload-artifact@v4" | |
with: | |
if-no-files-found: error | |
name: Tutorial PDF file and logs | |
path: "./tutorial/programming_dhall.pdf\n./tutorial/generated.log\n./tutorial/programming_dhall.log" | |
name: scall_build_and_test | |
on: | |
push: {} |