more workflow fixes #52
This file contains hidden or 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: Build and demo testrunner | |
| on: | |
| push: | |
| workflow_dispatch: | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: erlef/setup-beam@v1 | |
| with: | |
| elixir-version: '1.16.x' | |
| otp-version: '26.x' | |
| - name: Install dependencies | |
| run: mix deps.get | |
| - name: Compile dependencies | |
| run: mix deps.compile | |
| - name: Build application | |
| run: mix compile | |
| - name: Build escript executable | |
| run: MIX_ENV=prod mix escript.build | |
| - name: Upload testrunner executable | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: 'testrunner' | |
| path: 'out/testrunner' | |
| retention-days: 1 | |
| execute: | |
| runs-on: ubuntu-latest | |
| needs: build | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: erlef/setup-beam@v1 | |
| with: | |
| elixir-version: '1.16.x' | |
| otp-version: '26.x' | |
| - name: Download compiled binary | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: 'testrunner' | |
| - name: Ensure correct file permissions | |
| run: chmod u+x testrunner | |
| # build plt first | |
| - name: Build dialyzer plt | |
| run: dialyzer --build_plt --apps erts kernel stdlib || true | |
| - name: Print dialyzer info | |
| run: dialyzer --version && (dialyzer || true) | |
| - name: Print gradualizer info | |
| run: ./gradualizer --version | |
| - name: Print ety info # has no version yet | |
| run: ./ety || true | |
| - name: Print eqWAlizer info | |
| run: ./elp version | |
| - name: Print timeout info | |
| run: ./timeout -t 10 -m 2000000 echo OK | |
| - name: Execute Runner on test suites | |
| run: ./testrunner -s etylizer-src,dialyzer-src,gradualizer-src,eqwalizer-src | |
| - name: Archive test results | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: test-report | |
| path: test_results.json | |
| reports: | |
| runs-on: ubuntu-latest | |
| needs: execute | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Download test results | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: test-report | |
| path: report-generator/ | |
| - name: Setup Java 21 | |
| uses: actions/setup-java@v4 | |
| with: | |
| distribution: 'temurin' | |
| java-version: '21' | |
| - name: Run report generator | |
| run: ./gradlew run --args="test_results.json" | |
| working-directory: report-generator | |
| - name: Upload plots | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| path: 'report-generator/report-output/' | |
| name: 'report-output' | |
| retention-days: 14 |