72 lines
2.1 KiB
YAML
72 lines
2.1 KiB
YAML
name: Asset Build Verification
|
|
|
|
on:
|
|
push:
|
|
branches: ["main"]
|
|
pull_request:
|
|
branches: ["main"]
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
asset_verification:
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
|
|
with:
|
|
persist-credentials: false
|
|
|
|
- name: build essential
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y build-essential
|
|
|
|
- uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
|
|
with:
|
|
node-version: '24.11.0'
|
|
- uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v6.1.0
|
|
with:
|
|
go-version: '1.25.4'
|
|
|
|
- name: install node deps
|
|
run: |
|
|
npm ci
|
|
|
|
- name: Check for uncommitted changes before asset build
|
|
id: check-changes-before
|
|
run: |
|
|
if [[ -n $(git status --porcelain) ]]; then
|
|
echo "has_changes=true" >> $GITHUB_OUTPUT
|
|
else
|
|
echo "has_changes=false" >> $GITHUB_OUTPUT
|
|
fi
|
|
|
|
- name: Fail if there are uncommitted changes before build
|
|
if: steps.check-changes-before.outputs.has_changes == 'true'
|
|
run: |
|
|
echo "There are uncommitted changes before running npm run assets"
|
|
git status
|
|
exit 1
|
|
|
|
- name: Run asset build
|
|
run: |
|
|
npm run assets
|
|
|
|
- name: Check for uncommitted changes after asset build
|
|
id: check-changes-after
|
|
run: |
|
|
if [[ -n $(git status --porcelain) ]]; then
|
|
echo "has_changes=true" >> $GITHUB_OUTPUT
|
|
else
|
|
echo "has_changes=false" >> $GITHUB_OUTPUT
|
|
fi
|
|
|
|
- name: Fail if assets generated changes
|
|
if: steps.check-changes-after.outputs.has_changes == 'true'
|
|
run: |
|
|
echo "npm run assets generated uncommitted changes. This indicates the repository has outdated generated files."
|
|
echo "Please run 'npm run assets' locally and commit the changes."
|
|
git status
|
|
git diff
|
|
exit 1
|