main #569
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: main | |
on: | |
push: | |
branches: | |
- '**' | |
pull_request: | |
branches: | |
- '**' | |
schedule: | |
- cron: '0 2 * * *' | |
jobs: | |
testing: | |
runs-on: ubuntu-latest | |
if: github.event_name == 'schedule' && github.ref == 'refs/heads/main' || github.event_name != 'schedule' | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Install dependencies | |
run: npm install | |
- name: Build | |
run: npx tsc | |
- name: Test all | |
run: node dist/index.js ctrf-reports/ctrf-report.json --title All | |
if: github.event_name != 'schedule' | |
- name: Test summary | |
run: node dist/index.js summary ctrf-reports/ctrf-report.json --title Summary | |
if: github.event_name != 'schedule' | |
- name: Test flaky | |
run: node dist/index.js flaky ctrf-reports/ctrf-report.json --title Flaky | |
if: github.event_name != 'schedule' | |
- name: Test failed | |
run: node dist/index.js failed ctrf-reports/ctrf-report.json --title Failed | |
if: github.event_name != 'schedule' | |
- name: Test failed | |
run: node dist/index.js ai ctrf-reports/ctrf-report.json --title "AI Summary" | |
if: github.event_name != 'schedule' | |
- name: Test failed no title | |
run: node dist/index.js failed ctrf-reports/ctrf-report.json | |
if: github.event_name != 'schedule' | |
- name: Test skipped | |
run: node dist/index.js skipped ctrf-reports/ctrf-report.json --title "Skipped" | |
if: github.event_name != 'schedule' | |
- name: Test detailed | |
run: node dist/index.js tests ctrf-reports/ctrf-report.json --title Detailed | |
if: github.event_name != 'schedule' | |
- name: Test default title | |
run: node dist/index.js ctrf-reports/ctrf-report.json --annotate false | |
if: github.event_name != 'schedule' | |
- name: Test no fails or flaky | |
run: node dist/index.js ctrf-reports/ctrf-report-no-fails.json | |
if: github.event_name != 'schedule' | |
- name: Test custom summary hbs file | |
run: node dist/index.js custom ctrf-reports/ctrf-report.json templates/custom-summary.hbs | |
if: github.event_name != 'schedule' | |
- name: Test custom summary string | |
run: node dist/index.js custom ctrf-reports/ctrf-report.json "I'm a custom summary string!" | |
if: github.event_name != 'schedule' | |
- name: Test PR comment | |
run: node dist/index.js ctrf-reports/ctrf-report.json --pr-comment --title "With PR Comment" --annotate false | |
if: github.event_name != 'schedule' | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Test historical | |
run: node dist/index.js historical ctrf-reports/ctrf-report.json --annotate false | |
if: github.event_name != 'schedule' | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Test historical row arg set to 2 | |
run: node dist/index.js historical ctrf-reports/ctrf-report.json --annotate false --rows 2 --title "Historical With Max Rows 2" | |
if: github.event_name != 'schedule' | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Test historical with custom artifact name | |
run: node dist/index.js historical ctrf-reports/ctrf-report-no-fails.json --annotate false --rows 2 --title "Historical With Custom Artifact Name" --artifact-name custom-artifact-name | |
if: github.event_name != 'schedule' | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Test PR comment no fails | |
run: node dist/index.js ctrf-reports/ctrf-report-no-fails.json --pr-comment --title "With PR Comment No Fails" --annotate false | |
if: github.event_name != 'schedule' | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Test PR comment no fails with on fail only true | |
run: node dist/index.js ctrf-reports/ctrf-report-no-fails.json --pr-comment --on-fail-only --title "With PR Comment On Fail Only No Fail" --annotate false | |
if: github.event_name != 'schedule' | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Test PR comment with fails and on fail set to true | |
run: node dist/index.js ctrf-reports/ctrf-report.json --pr-comment --on-fail-only --title "With PR Comment On Fail Only With Fails" --annotate false | |
if: github.event_name != 'schedule' | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Test PR with custom message hbs file | |
run: node dist/index.js ctrf-reports/ctrf-report.json --pr-comment --pr-comment-message "templates/custom-summary.hbs" --title "PR With HandleBars file" --annotate false | |
if: github.event_name != 'schedule' | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Test schedule context | |
run: node dist/index.js ctrf-reports/ctrf-report.json | |
if: github.event_name == 'schedule' | |
- name: Upload test results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ctrf-report | |
path: ctrf-reports/ctrf-report.json | |
- name: Upload test results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: custom-artifact-name | |
path: ctrf-reports/ctrf-report-no-fails.json |