vc: move the regeneration logic to CI (#9597)

pull/9599/head
spaceface 2021-04-04 20:52:27 +02:00 committed by GitHub
parent 0da827f250
commit 519c7194d7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 38 additions and 0 deletions

38
.github/workflows/gen_vc.yml vendored 100644
View File

@ -0,0 +1,38 @@
name: VC gen
on:
push:
branches:
- master
jobs:
build-vc:
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2
- name: Build V
run: make
- name: Regenerate v.c and v_win.c
run: |
COMMIT_HASH=$(git rev-parse --short HEAD)
COMMIT_MSG=$(git log -1 --oneline --pretty='%s' HEAD)
rm -rf vc
git clone https://github.com/vlang/vc
rm -rf vc/v.c vc/v_win.c
./v -o vc/v.c -os cross cmd/v
./v -o vc/v_win.c -os windows cmd/v
sed -i "1s/^/#define V_COMMIT_HASH \"$COMMIT_HASH\"\n/" vc/v.c
sed -i "1s/^/#define V_COMMIT_HASH \"$COMMIT_HASH\"\n/" vc/v_win.c
# ensure the C files are over 5000 lines long, as a safety measure
[ $(wc -l < vc/v.c) -gt 5000 ]
[ $(wc -l < vc/v_win.c) -gt 5000 ]
git -C vc add v.c v_win.c
git -C vc commit -m "[v:master] $COMMIT_HASH - $COMMIT_MSG"
git -C vc push