This repository has been archived by the owner on Dec 19, 2023. It is now read-only.
Read stdin interpreter #42
Workflow file for this run
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: Tests | |
on: [pull_request] | |
jobs: | |
compil-check-job-run: | |
runs-on: ubuntu-latest | |
outputs: | |
workflows: ${{ steps.filter.outputs.workflows }} | |
src: ${{ steps.filter.outputs.src }} | |
make: ${{ steps.filter.outputs.make }} | |
package: ${{ steps.filter.outputs.package }} | |
stack: ${{ steps.filter.outputs.stack }} | |
combined: ${{ steps.filter.outputs.workflows == 'true' || steps.filter.outputs.src == 'true' || steps.filter.outputs.make == 'true' }} || steps.filter.outputs.package == 'true' || steps.filter.outputs.stack == 'true' | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Check modified files need re run | |
id: filter | |
uses: dorny/paths-filter@v2 | |
with: | |
filters: | | |
workflows: | |
- '.github/workflows/**' | |
src: | |
- '*.hs' | |
make: | |
- 'Makefile' | |
package: | |
- 'package.yaml' | |
stack: | |
- 'stack.yaml' | |
tests: | |
runs-on: ubuntu-latest | |
needs: [compil-check-job-run] | |
if: needs.compil-check-job-run.outputs.combined | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Install Haskell | |
uses: haskell-actions/setup@v2 | |
with: | |
enable-stack: true | |
stack-version: 'latest' | |
- name: Install dependencies | |
run: sudo ./scripts/InstallDepsLinux.bash | |
- name: Compil | |
run: make | |
- name: Tests | |
id: failedTest | |
run: | | |
if ! stack test &> tests.log; then | |
echo "failedTest=true" >> $GITHUB_OUTPUT | |
else | |
echo "failedTest=false" >> $GITHUB_OUTPUT | |
fi | |
- name: Upload stats | |
uses: actions/upload-artifact@v3 | |
with: | |
name: tests.log | |
path: tests.log | |
- name: Send Test Ok | |
uses: mshick/add-pr-comment@v2 | |
if: steps.failedTest.outputs.failedTest == 'false' | |
with: | |
message: "Tests PASSED" | |
refresh-message-position: true | |
message-id: tests-cicd | |
- name: Send Test KO | |
uses: mshick/add-pr-comment@v2 | |
if: steps.failedTest.outputs.failedTest == 'true' | |
with: | |
message-path: | | |
tests.log | |
refresh-message-position: true | |
message-id: tests-cicd | |
- name: Exit Status | |
run: | | |
if [ ${{ steps.failedTest.outputs.failedTest }} == 'true' ]; then | |
exit 1 | |
fi |