Skip to content

main

main #569

Workflow file for this run

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