Skip to content

Commit 64e064e

Browse files
biryukovmaximthomwiggers
authored andcommitted
Add CI job to verify generated code is up-to-date
1 parent ea05906 commit 64e064e

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed

.github/workflows/ci.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,4 +128,55 @@ jobs:
128128
# cargo wasi build --features cryptographically-insecure
129129
# #cargo wasi test -- --nocapture
130130

131+
generated-code-is-up-to-date:
132+
runs-on: ubuntu-latest
133+
134+
env:
135+
PIPENV_VENV_IN_PROJECT: 1
136+
137+
steps:
138+
- uses: actions/checkout@v4
139+
with:
140+
submodules: true
141+
142+
- name: Install Python
143+
uses: actions/setup-python@v5
144+
with:
145+
python-version: '3.13'
146+
cache: 'pip'
147+
148+
- name: Restore Pipenv virtualenv cache
149+
uses: actions/cache@v4
150+
with:
151+
path: .venv
152+
key: pipenv-venv-${{ runner.os }}-${{ hashFiles('Pipfile.lock') }}
153+
restore-keys: |
154+
pipenv-venv-${{ runner.os }}-
155+
156+
- name: Install Pipenv
157+
run: pip install --upgrade pipenv
158+
159+
- name: Install dependencies (Pipfile.lock)
160+
run: pipenv sync --dev
161+
162+
- name: Regenerate all crates
163+
run: pipenv run python generate-implementations.py
164+
165+
- name: Check for uncommitted changes
166+
run: |
167+
if ! git diff --exit-code --quiet; then
168+
echo "❌ ERROR: Generated files are out of date!"
169+
git diff --name-only
170+
git diff --color
171+
exit 1
172+
fi
173+
174+
if ! git diff --cached --exit-code --quiet; then
175+
echo "❌ ERROR: Staged changes detected!"
176+
git diff --cached --name-only
177+
git diff --cached --color
178+
exit 1
179+
fi
180+
181+
echo "✅ All generated files are up-to-date!"
131182
# vim: set ft=yaml ts=2 sw=2 tw=0 et :

0 commit comments

Comments
 (0)