Property Testings #141
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: | |
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 2>&1| tee output.log | |
test_exit=${PIPESTATUS[0]} | |
cat output.log | sed 's/\x1b\[[0-9;]*[a-zA-Z]//g' | sed 's/\x0//g' > cleaned_output.log | |
sed -n '/Test failed: assertion/,/FAIL/p' cleaned_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: Prepare Slack Message | |
if: ${{ failure() }} | |
run: | | |
MESSAGE="GitHub Actions workflow <https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}|Property Testing #${{ github.run_number }}> Clarity::V${{ matrix.clarity_version }} failed.\n\`\`\`${{ env.failure_section }}\`\`\`" | |
echo 'SLACK_PAYLOAD<<EOF' >> $GITHUB_ENV | |
jq -n --arg msg "$MESSAGE" '{ | |
"blocks": [ | |
{ | |
"type": "section", | |
"text": { | |
"type": "mrkdwn", | |
"text": $msg | |
} | |
} | |
] | |
}' >> $GITHUB_ENV | |
echo 'EOF' >> $GITHUB_ENV | |
- name: Send message to Slack | |
uses: slackapi/slack-github-action@37ebaef184d7626c5f204ab8d3baff4262dd30f0 | |
if: ${{ failure() }} | |
with: | |
channel-id: ${{ secrets.CHANNEL_ID }} | |
payload: ${{ env.SLACK_PAYLOAD }} | |
env: | |
SLACK_BOT_TOKEN: ${{ secrets.SLACK_BOT_TOKEN }} |