Property Testings #123
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: Property Testings | |
on: | |
schedule: | |
- cron: "*/2 * * * *" | |
workflow_dispatch: | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
property-testing: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
clarity_version: [1, 2, 3] | |
name: Clarity::V${{ matrix.clarity_version }} Property Tests | |
env: | |
PROPTEST_CASES: 2 | |
steps: | |
- name: Checkout PR | |
uses: actions/checkout@v4 | |
- name: Use Rust stable | |
uses: dtolnay/rust-toolchain@stable | |
- name: Install nextest | |
uses: taiki-e/install-action@nextest | |
- name: Run Tests | |
run: | | |
set +e | |
cargo nextest run \ | |
--features test-clarity-v${{ matrix.clarity_version }} \ | |
--test wasm-generation \ | |
--test standard | tee output.log | |
test_exit=${PIPESTATUS[0]} | |
echo "output.log: $(cat output.log)" | |
grep -A 50 'Test failed: assertion' output.log >> failure_section.log | |
echo "failure_section<<EOF" >> $GITHUB_ENV | |
cat failure_section.log >> $GITHUB_ENV | |
echo "EOF" >> $GITHUB_ENV | |
if [ $test_exit -ne 0 ]; then | |
exit 101 | |
fi | |
- name: Create GitHub Issue on Failure | |
uses: jayqi/failed-build-issue-action@v1 | |
if: ${{ failure() }} | |
with: | |
github-token: ${{ secrets.GH_TOKEN }} | |
label-name: "property-testing-failure" | |
title-template: "Property testing failure" | |
body-template: | | |
GitHub Actions workflow [{{workflow}} #{{runNumber}}](https://github.com/{{repo.owner}}/{{repo.repo}}/actions/runs/{{runId}}) failed. | |
```log | |
${{ env.failure_section }} | |
``` | |
- name: Send message to Slack | |
uses: slackapi/slack-github-action@37ebaef184d7626c5f204ab8d3baff4262dd30f0 # v1.27.0 | |
if: ${{ failure() }} | |
with: | |
channel-id: ${{ secrets.CHANNEL_ID }} | |
payload: | | |
{ | |
"blocks": [ | |
{ | |
"type": "section", | |
"text": { | |
"type": "mrkdwn", | |
"text": "GitHub Actions workflow <https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}|Property Testing #${{ github.run_number }}> failed." | |
} | |
} | |
] | |
} | |
env: | |
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} |