tests #1370
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
# Workflow for testing Sorald. | |
# | |
# Note that actions are specified by commit hash. This is to avoid the security | |
# risk of someone injecting malicious code into a release and then simply | |
# changing a tag. | |
name: tests | |
on: | |
pull_request: | |
push: | |
branches: master | |
schedule: | |
- cron: "0 0 * * *" | |
env: | |
JAVA_DISTRIBUTION: 'adopt' | |
jobs: | |
tests: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ ubuntu-latest, macos-latest ] | |
steps: | |
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b | |
with: | |
fetch-depth: 2 | |
- uses: actions/setup-java@2c7a4878f5d120bd643426d54ae1209b29cc01a3 | |
with: | |
java-version: 11 | |
java-package: jdk | |
architecture: x64 | |
distribution: ${{ env.JAVA_DISTRIBUTION }} | |
- name: Get date for cache # see https://github.com/actions/cache README | |
id: get-date | |
run: echo "::set-output name=date::$(/bin/date -u "+%Y%m%d")" | |
shell: bash | |
- name: Use Maven dependency cache | |
uses: actions/cache@fd5de65bc895cf536527842281bea11763fefd77 | |
with: | |
path: ~/.m2/repository | |
key: ${{ runner.os }}-${{ steps.get-date.outputs.date }}-${{ hashFiles('**/pom.xml') }} | |
restore-keys: ${{ runner.os }}-maven- | |
- name: Compile | |
run: mvn -B test-compile | |
- name: Run tests | |
run: mvn test | |
- name: Upload coverage report to Codecov | |
uses: codecov/codecov-action@81cd2dc8148241f03f5839d295e000b8f761e378 | |
with: | |
fail_ci_if_error: false | |
file-merge-benchmark: | |
runs-on: ubuntu-latest | |
if: ${{ github.ref == 'refs/heads/master' }} | |
steps: | |
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b | |
with: | |
fetch-depth: 0 # fetch everything | |
- uses: actions/setup-java@2c7a4878f5d120bd643426d54ae1209b29cc01a3 | |
with: | |
java-version: 11 | |
java-package: jdk | |
architecture: x64 | |
distribution: ${{ env.JAVA_DISTRIBUTION }} | |
- uses: actions/setup-python@b55428b1882923874294fa556849718a1d7f2ca5 | |
with: | |
python-version: 3.8 | |
- name: Get date for cache # see https://github.com/actions/cache README | |
id: get-date | |
run: echo "::set-output name=date::$(/bin/date -u "+%Y%m%d")" | |
shell: bash | |
- name: Use Maven dependency cache | |
uses: actions/cache@fd5de65bc895cf536527842281bea11763fefd77 | |
with: | |
path: ~/.m2/repository | |
key: ${{ runner.os }}-${{ steps.get-date.outputs.date }}-${{ hashFiles('**/pom.xml') }} | |
restore-keys: ${{ runner.os }}-maven- | |
- name: Install | |
run: .github/install.sh | |
- name: Add ~/.local/bin to PATH | |
run: echo "$HOME/.local/bin" >> $GITHUB_PATH | |
- name: Benchmark | |
run: run_benchmark | |
check-formatting: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b | |
with: | |
fetch-depth: 0 # fetch everything | |
- uses: actions/setup-java@2c7a4878f5d120bd643426d54ae1209b29cc01a3 | |
with: | |
java-version: 11 | |
java-package: jdk | |
architecture: x64 | |
distribution: ${{ env.JAVA_DISTRIBUTION }} | |
- name: Get date for cache # see https://github.com/actions/cache README | |
id: get-date | |
run: echo "::set-output name=date::$(/bin/date -u "+%Y%m%d")" | |
shell: bash | |
- name: Use Maven dependency cache | |
uses: actions/cache@fd5de65bc895cf536527842281bea11763fefd77 | |
with: | |
path: ~/.m2/repository | |
key: ${{ runner.os }}-${{ steps.get-date.outputs.date }}-${{ hashFiles('**/pom.xml') }} | |
restore-keys: ${{ runner.os }}-maven- | |
- name: Check formatting | |
run: mvn spotless:check |