Fix ascriptions #6
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 file was automatically generated by sbt-github-actions using the | |
# githubWorkflowGenerate task. You should add and commit this file to | |
# your git repository. It goes without saying that you shouldn't edit | |
# this file by hand! Instead, if you wish to make changes, you should | |
# change your sbt build configuration to revise the workflow description | |
# to meet your needs, then regenerate this file. | |
name: Continuous Integration | |
on: | |
pull_request: | |
branches: ['**', '!update/**', '!pr/**'] | |
push: | |
branches: ['**', '!update/**', '!pr/**'] | |
tags: [v*] | |
env: | |
PGP_PASSPHRASE: ${{ secrets.PGP_PASSPHRASE }} | |
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} | |
SONATYPE_CREDENTIAL_HOST: ${{ secrets.SONATYPE_CREDENTIAL_HOST }} | |
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} | |
PGP_SECRET: ${{ secrets.PGP_SECRET }} | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
jobs: | |
build: | |
name: Build and Test | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest] | |
scala: [3.1.3, 2.13.8] | |
java: [temurin@8, temurin@11, temurin@17] | |
project: [rootJS, rootJVM] | |
exclude: | |
- scala: 3.1.3 | |
java: temurin@11 | |
- scala: 3.1.3 | |
java: temurin@17 | |
- project: rootJS | |
java: temurin@11 | |
- project: rootJS | |
java: temurin@17 | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout current branch (full) | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- name: Download Java (temurin@8) | |
id: download-java-temurin-8 | |
if: matrix.java == 'temurin@8' | |
uses: typelevel/download-java@v1 | |
with: | |
distribution: temurin | |
java-version: 8 | |
- name: Setup Java (temurin@8) | |
if: matrix.java == 'temurin@8' | |
uses: actions/setup-java@v2 | |
with: | |
distribution: jdkfile | |
java-version: 8 | |
jdkFile: ${{ steps.download-java-temurin-8.outputs.jdkFile }} | |
- name: Download Java (temurin@11) | |
id: download-java-temurin-11 | |
if: matrix.java == 'temurin@11' | |
uses: typelevel/download-java@v1 | |
with: | |
distribution: temurin | |
java-version: 11 | |
- name: Setup Java (temurin@11) | |
if: matrix.java == 'temurin@11' | |
uses: actions/setup-java@v2 | |
with: | |
distribution: jdkfile | |
java-version: 11 | |
jdkFile: ${{ steps.download-java-temurin-11.outputs.jdkFile }} | |
- name: Download Java (temurin@17) | |
id: download-java-temurin-17 | |
if: matrix.java == 'temurin@17' | |
uses: typelevel/download-java@v1 | |
with: | |
distribution: temurin | |
java-version: 17 | |
- name: Setup Java (temurin@17) | |
if: matrix.java == 'temurin@17' | |
uses: actions/setup-java@v2 | |
with: | |
distribution: jdkfile | |
java-version: 17 | |
jdkFile: ${{ steps.download-java-temurin-17.outputs.jdkFile }} | |
- name: Cache sbt | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/.sbt | |
~/.ivy2/cache | |
~/.coursier/cache/v1 | |
~/.cache/coursier/v1 | |
~/AppData/Local/Coursier/Cache/v1 | |
~/Library/Caches/Coursier/v1 | |
key: ${{ runner.os }}-sbt-cache-v2-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }} | |
- name: Check that workflows are up to date | |
run: sbt 'project ${{ matrix.project }}' '++${{ matrix.scala }}' 'project /' githubWorkflowCheck | |
- name: Check headers and formatting | |
if: matrix.java == 'temurin@8' | |
run: sbt 'project ${{ matrix.project }}' '++${{ matrix.scala }}' headerCheckAll scalafmtCheckAll 'project /' scalafmtSbtCheck | |
- name: scalaJSLink | |
if: matrix.project == 'rootJS' | |
run: sbt 'project ${{ matrix.project }}' '++${{ matrix.scala }}' Test/scalaJSLinkerResult | |
- name: Test | |
run: sbt 'project ${{ matrix.project }}' '++${{ matrix.scala }}' test | |
- name: Check binary compatibility | |
if: matrix.java == 'temurin@8' | |
run: sbt 'project ${{ matrix.project }}' '++${{ matrix.scala }}' mimaReportBinaryIssues | |
- name: Generate API documentation | |
if: matrix.java == 'temurin@8' | |
run: sbt 'project ${{ matrix.project }}' '++${{ matrix.scala }}' doc | |
- name: Check scalafix lints | |
if: matrix.java == 'temurin@8' && !startsWith(matrix.scala, '3.') | |
run: sbt 'project ${{ matrix.project }}' '++${{ matrix.scala }}' 'scalafixAll --check' | |
- name: Check unused compile dependencies | |
if: matrix.java == 'temurin@8' | |
run: sbt 'project ${{ matrix.project }}' '++${{ matrix.scala }}' unusedCompileDependenciesTest | |
- name: Make target directories | |
if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main') | |
run: mkdir -p ember-core/js/target ember-server/js/target client-testkit/js/target examples/ember/target server/jvm/target examples/target scalafix-internal/input/target scalafix-internal/tests/target target examples/docker/target unidocs/target .js/target site/target laws/.jvm/target tests/jvm/target client/js/target scalafix-internal/output/target core/js/target ember-server/jvm/target circe/.js/target laws/.js/target jawn/.js/target tests/js/target .jvm/target scalafix-internal/rules/target .native/target client/jvm/target circe/.jvm/target dsl/.js/target ember-client/jvm/target core/jvm/target dsl/.jvm/target ember-core/jvm/target jawn/.jvm/target server/js/target client-testkit/jvm/target js-artifact-size-test/target ember-client/js/target bench/target project/target | |
- name: Compress target directories | |
if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main') | |
run: tar cf targets.tar ember-core/js/target ember-server/js/target client-testkit/js/target examples/ember/target server/jvm/target examples/target scalafix-internal/input/target scalafix-internal/tests/target target examples/docker/target unidocs/target .js/target site/target laws/.jvm/target tests/jvm/target client/js/target scalafix-internal/output/target core/js/target ember-server/jvm/target circe/.js/target laws/.js/target jawn/.js/target tests/js/target .jvm/target scalafix-internal/rules/target .native/target client/jvm/target circe/.jvm/target dsl/.js/target ember-client/jvm/target core/jvm/target dsl/.jvm/target ember-core/jvm/target jawn/.jvm/target server/js/target client-testkit/jvm/target js-artifact-size-test/target ember-client/js/target bench/target project/target | |
- name: Upload target directories | |
if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main') | |
uses: actions/upload-artifact@v2 | |
with: | |
name: target-${{ matrix.os }}-${{ matrix.java }}-${{ matrix.scala }}-${{ matrix.project }} | |
path: targets.tar | |
publish: | |
name: Publish Artifacts | |
needs: [build] | |
if: github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main') | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
scala: [2.13.8] | |
java: [temurin@8] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout current branch (full) | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- name: Download Java (temurin@8) | |
id: download-java-temurin-8 | |
if: matrix.java == 'temurin@8' | |
uses: typelevel/download-java@v1 | |
with: | |
distribution: temurin | |
java-version: 8 | |
- name: Setup Java (temurin@8) | |
if: matrix.java == 'temurin@8' | |
uses: actions/setup-java@v2 | |
with: | |
distribution: jdkfile | |
java-version: 8 | |
jdkFile: ${{ steps.download-java-temurin-8.outputs.jdkFile }} | |
- name: Download Java (temurin@11) | |
id: download-java-temurin-11 | |
if: matrix.java == 'temurin@11' | |
uses: typelevel/download-java@v1 | |
with: | |
distribution: temurin | |
java-version: 11 | |
- name: Setup Java (temurin@11) | |
if: matrix.java == 'temurin@11' | |
uses: actions/setup-java@v2 | |
with: | |
distribution: jdkfile | |
java-version: 11 | |
jdkFile: ${{ steps.download-java-temurin-11.outputs.jdkFile }} | |
- name: Download Java (temurin@17) | |
id: download-java-temurin-17 | |
if: matrix.java == 'temurin@17' | |
uses: typelevel/download-java@v1 | |
with: | |
distribution: temurin | |
java-version: 17 | |
- name: Setup Java (temurin@17) | |
if: matrix.java == 'temurin@17' | |
uses: actions/setup-java@v2 | |
with: | |
distribution: jdkfile | |
java-version: 17 | |
jdkFile: ${{ steps.download-java-temurin-17.outputs.jdkFile }} | |
- name: Cache sbt | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/.sbt | |
~/.ivy2/cache | |
~/.coursier/cache/v1 | |
~/.cache/coursier/v1 | |
~/AppData/Local/Coursier/Cache/v1 | |
~/Library/Caches/Coursier/v1 | |
key: ${{ runner.os }}-sbt-cache-v2-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }} | |
- name: Download target directories (3.1.3, rootJS) | |
uses: actions/download-artifact@v2 | |
with: | |
name: target-${{ matrix.os }}-${{ matrix.java }}-3.1.3-rootJS | |
- name: Inflate target directories (3.1.3, rootJS) | |
run: | | |
tar xf targets.tar | |
rm targets.tar | |
- name: Download target directories (3.1.3, rootJVM) | |
uses: actions/download-artifact@v2 | |
with: | |
name: target-${{ matrix.os }}-${{ matrix.java }}-3.1.3-rootJVM | |
- name: Inflate target directories (3.1.3, rootJVM) | |
run: | | |
tar xf targets.tar | |
rm targets.tar | |
- name: Download target directories (2.13.8, rootJS) | |
uses: actions/download-artifact@v2 | |
with: | |
name: target-${{ matrix.os }}-${{ matrix.java }}-2.13.8-rootJS | |
- name: Inflate target directories (2.13.8, rootJS) | |
run: | | |
tar xf targets.tar | |
rm targets.tar | |
- name: Download target directories (2.13.8, rootJVM) | |
uses: actions/download-artifact@v2 | |
with: | |
name: target-${{ matrix.os }}-${{ matrix.java }}-2.13.8-rootJVM | |
- name: Inflate target directories (2.13.8, rootJVM) | |
run: | | |
tar xf targets.tar | |
rm targets.tar | |
- name: Import signing key | |
if: env.PGP_SECRET != '' && env.PGP_PASSPHRASE == '' | |
run: echo $PGP_SECRET | base64 -di | gpg --import | |
- name: Import signing key and strip passphrase | |
if: env.PGP_SECRET != '' && env.PGP_PASSPHRASE != '' | |
run: | | |
echo "$PGP_SECRET" | base64 -di > /tmp/signing-key.gpg | |
echo "$PGP_PASSPHRASE" | gpg --pinentry-mode loopback --passphrase-fd 0 --import /tmp/signing-key.gpg | |
(echo "$PGP_PASSPHRASE"; echo; echo) | gpg --command-fd 0 --pinentry-mode loopback --change-passphrase $(gpg --list-secret-keys --with-colons 2> /dev/null | grep '^sec:' | cut --delimiter ':' --fields 5 | tail -n 1) | |
- name: Publish | |
run: sbt '++${{ matrix.scala }}' tlRelease | |
coverage: | |
name: Generate coverage report | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
scala: [2.13.8] | |
java: [temurin@8] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout current branch (full) | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- name: Download Java (temurin@8) | |
id: download-java-temurin-8 | |
if: matrix.java == 'temurin@8' | |
uses: typelevel/download-java@v1 | |
with: | |
distribution: temurin | |
java-version: 8 | |
- name: Setup Java (temurin@8) | |
if: matrix.java == 'temurin@8' | |
uses: actions/setup-java@v2 | |
with: | |
distribution: jdkfile | |
java-version: 8 | |
jdkFile: ${{ steps.download-java-temurin-8.outputs.jdkFile }} | |
- name: Cache sbt | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/.sbt | |
~/.ivy2/cache | |
~/.coursier/cache/v1 | |
~/.cache/coursier/v1 | |
~/AppData/Local/Coursier/Cache/v1 | |
~/Library/Caches/Coursier/v1 | |
key: ${{ runner.os }}-sbt-cache-v2-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }} | |
- run: sbt '++${{ matrix.scala }}' coverage rootJVM/test coverageAggregate | |
- if: github.event_name != 'pull_request' | |
uses: codecov/codecov-action@v2 | |
site: | |
name: Generate Site | |
strategy: | |
matrix: | |
os: [ubuntu-latest] | |
scala: [2.13.8] | |
java: [temurin@8] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout current branch (full) | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- name: Download Java (temurin@8) | |
id: download-java-temurin-8 | |
if: matrix.java == 'temurin@8' | |
uses: typelevel/download-java@v1 | |
with: | |
distribution: temurin | |
java-version: 8 | |
- name: Setup Java (temurin@8) | |
if: matrix.java == 'temurin@8' | |
uses: actions/setup-java@v2 | |
with: | |
distribution: jdkfile | |
java-version: 8 | |
jdkFile: ${{ steps.download-java-temurin-8.outputs.jdkFile }} | |
- name: Download Java (temurin@11) | |
id: download-java-temurin-11 | |
if: matrix.java == 'temurin@11' | |
uses: typelevel/download-java@v1 | |
with: | |
distribution: temurin | |
java-version: 11 | |
- name: Setup Java (temurin@11) | |
if: matrix.java == 'temurin@11' | |
uses: actions/setup-java@v2 | |
with: | |
distribution: jdkfile | |
java-version: 11 | |
jdkFile: ${{ steps.download-java-temurin-11.outputs.jdkFile }} | |
- name: Download Java (temurin@17) | |
id: download-java-temurin-17 | |
if: matrix.java == 'temurin@17' | |
uses: typelevel/download-java@v1 | |
with: | |
distribution: temurin | |
java-version: 17 | |
- name: Setup Java (temurin@17) | |
if: matrix.java == 'temurin@17' | |
uses: actions/setup-java@v2 | |
with: | |
distribution: jdkfile | |
java-version: 17 | |
jdkFile: ${{ steps.download-java-temurin-17.outputs.jdkFile }} | |
- name: Cache sbt | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/.sbt | |
~/.ivy2/cache | |
~/.coursier/cache/v1 | |
~/.cache/coursier/v1 | |
~/AppData/Local/Coursier/Cache/v1 | |
~/Library/Caches/Coursier/v1 | |
key: ${{ runner.os }}-sbt-cache-v2-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }} | |
- name: Generate site | |
run: sbt '++${{ matrix.scala }}' site/tlSite | |
- name: Publish site | |
if: github.event_name != 'pull_request' && github.ref == 'refs/heads/main' | |
uses: peaceiris/[email protected] | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
publish_dir: site/target/docs/site | |
keep_files: true |