mirror of
https://github.com/fleetdm/fleet
synced 2026-05-08 09:40:49 +00:00
This adds a new workflow to CI in order to test that the PR doesn't contain uncommited schema changes, which are the source of many merge conflicts and developer frustration.
43 lines
1.1 KiB
YAML
43 lines
1.1 KiB
YAML
name: Schema Change Tests
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
- patch-*
|
|
pull_request:
|
|
paths:
|
|
- 'server/datastore/mysql/schema.sql'
|
|
- 'server/datastore/mysql/migrations/**.go'
|
|
- '.github/workflows/test-schema-changes.yml'
|
|
workflow_dispatch: # Manual
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
test-schema-changes:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Install Go
|
|
uses: actions/setup-go@84cbf8094393cdc5fe1fe1671ff2647332956b1a # v2
|
|
with:
|
|
go-version: '^1.17.8'
|
|
- name: Checkout Code
|
|
uses: actions/checkout@629c2de402a417ea7690ca6ce3f33229e27606a5 # v2
|
|
|
|
- name: Start Infra Dependencies
|
|
# Use & to background this
|
|
run: docker-compose up -d mysql_test &
|
|
|
|
- name: Dump test schema
|
|
run: make dump-test-schema
|
|
|
|
- name: Verify changes
|
|
run: |
|
|
if [[ $(git diff server/datastore/mysql/schema.sql) ]]; then
|
|
echo "❌ fail: uncommited changes in schema.sql"
|
|
echo "please run make dump-test-schema and commit the changes"
|
|
exit 1
|
|
fi
|
|
|