name: PR status checks on: pull_request: types: [assigned, opened, synchronize, reopened] jobs: build: runs-on: ubuntu-latest strategy: matrix: node-version: [16.x] steps: - uses: actions/checkout@v2 with: ref: ${{ github.event.pull_request.head.sha }} - name: Use Node.js ${{ matrix.node-version }} uses: actions/setup-node@v1 with: node-version: ${{ matrix.node-version }} - name: Use Cache uses: actions/cache@v2 with: path: | node_modules */*/node_modules key: ${{ runner.os }}-${{ matrix.node_version }}-${{ hashFiles('**/package-lock.json') }} - name: Install and build run: | npm install - name: Run status checks id: status_check run: | # Run status checks, Remove ANSI colors from the text output=$(node ./status-checks | sed 's/\x1B\[[0-9;]\{1,\}[A-Za-z]//g') # Escape newlines so _all_ the output is included in the set-output output="${output//'%'/'%25'}" output="${output//$'\n'/'%0A'}" output="${output//$'\r'/'%0D'}" echo "::set-output name=status_check_output::$output" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Auto Comment Status Check Result # Use with caution uses: bubkoo/auto-comment@v1 with: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} pullRequestSynchronize: "```${{ steps.status_check.outputs.status_check_output }}```" pullRequestAssigned: "```${{ steps.status_check.outputs.status_check_output }}```" pullRequestOpened: "```${{ steps.status_check.outputs.status_check_output }}```" pullRequestReopened: "```${{ steps.status_check.outputs.status_check_output }}```"