dsa-connectors/.github/workflows/status.yml

52 lines
1.9 KiB
YAML

name: PR status checks
on:
# This is so the status check can run on forks.
pull_request_target:
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 }}```"