Skip to content

Update: synced file(s) with happyprime/projects #18

Update: synced file(s) with happyprime/projects

Update: synced file(s) with happyprime/projects #18

Workflow file for this run

# This file is managed in https://github.com/happyprime/projects
name: Verify build (Node 20)
on: [ pull_request ]
# The GITHUB_TOKEN used by Dependabot has read-only permissions
# by default, so we provide write permissions to this workflow
# so that comments can be left on the pull request.
# https://docs.github.com/en/code-security/dependabot/working-with-dependabot/automating-dependabot-with-github-actions#changing-github_token-permissions
permissions:
contents: read
pull-requests: write
jobs:
build:
name: Check built files
runs-on: ubuntu-latest
steps:
- name: Checkout project
uses: actions/checkout@v4
with:
fetch-depth: 2
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'npm'
- name: Verify Node dependency cache
uses: actions/cache@v4
with:
path: ./node_modules
key: node-dependencies-${{ hashFiles('package-lock.json') }}
restore-keys: node-dependencies-
- name: Install Node dependencies
run: npm install
- name: Build
run: npm run build
- name: Capture Git status
id: git
shell: bash
run: |
echo 'changes<<EOF' >> $GITHUB_OUTPUT
echo "$(git status --porcelain --untracked-files=all)" >> $GITHUB_OUTPUT
echo 'EOF' >> $GITHUB_OUTPUT
echo "nodeVersion=$(node --version)" >> $GITHUB_OUTPUT
echo "npmVersion=$(npm --version)" >> $GITHUB_OUTPUT
- name: Fail if changes detected
shell: bash
run: |
if [[ -n "${{ steps.git.outputs.changes }}" ]]; then
exit 1
fi
- name: Comment on pull request
if: failure()
uses: actions/github-script@v7
with:
script: |
const output = `Changed files were detected after build. Please run project build workflows and check \`git status\` for any missed changes.
\`\`\`
${{ steps.git.outputs.changes }}
\`\`\`
You may need to update your local NPM configuration if different than below:
* Node ${{ steps.git.outputs.nodeVersion }}
* NPM ${{ steps.git.outputs.npmVersion }}
`;
github.rest.issues.createComment({
...context.repo,
issue_number: context.payload.pull_request.number,
body: output
})