| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- #!/usr/bin/env bash
- # This script verifies the integrity of *bundled* static assets by re-running the bundling process
- # and checking for changed files. Because bundle output should not change given the same source
- # input, the bundle process shouldn't produce any changes. If they do, it's an indication that
- # the dist files have been altered, or that dist files were not committed. In either case, tests
- # should fail.
- PROJECT_STATIC="$PWD/netbox/project-static"
- DIST="$PROJECT_STATIC/dist/"
- # Bundle static assets.
- bundle() {
- echo "Bundling static assets..."
- yarn --cwd $PROJECT_STATIC bundle >/dev/null 2>&1
- if [[ $? != 0 ]]; then
- echo "Error bundling static assets"
- exit 1
- fi
- }
- # See if any files have changed.
- check_dist() {
- local diff=$(git --no-pager diff $DIST)
- if [[ $diff != "" ]]; then
- local SHA=$(git rev-parse HEAD)
- echo "Commit '$SHA' produced different static assets than were committed"
- exit 1
- fi
- }
- bundle
- check_dist
- if [[ $? = 0 ]]; then
- echo "Static asset check passed"
- exit 0
- else
- echo "Error checking static asset integrity"
- exit 1
- fi
|