Skip to content

Property Testings

Property Testings #123

Workflow file for this run

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 }}