v/.github/workflows/gen_vc.yml

48 lines
1.3 KiB
YAML
Raw Normal View History

name: VC gen
on:
push:
2022-05-20 17:27:35 +02:00
branches: [master]
paths-ignore:
- "**.md"
jobs:
build-vc:
runs-on: ubuntu-latest
2021-07-19 12:26:36 +02:00
env:
VREPO: github.com/vlang/vc.git
steps:
2021-07-19 12:26:36 +02:00
- uses: actions/checkout@v2
- name: Build V
run: make
- name: Regenerate v.c and v_win.c
run: |
git config --global user.email "vlang-bot@users.noreply.github.com"
git config --global user.name "vlang-bot"
2021-07-19 12:26:36 +02:00
COMMIT_HASH=$(git rev-parse --short HEAD)
COMMIT_MSG=$(git log -1 --oneline --pretty='%s' HEAD)
2021-07-19 12:26:36 +02:00
rm -rf vc
git clone --depth=1 \
https://vlang-bot:${{ secrets.VLANG_BOT_SECRET }}@$VREPO
2021-07-19 12:26:36 +02:00
rm -rf vc/v.c vc/v_win.c
2021-07-19 12:26:36 +02:00
./v -o vc/v.c -os cross cmd/v
./v -o vc/v_win.c -os windows -cc msvc cmd/v
2021-07-19 12:26:36 +02:00
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
2021-07-19 12:26:36 +02:00
# 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 ]
2021-07-19 12:26:36 +02:00
git -C vc add v.c v_win.c
git -C vc commit -m "[v:master] $COMMIT_HASH - $COMMIT_MSG"
2021-07-19 12:26:36 +02:00
# in case there are recent commits:
git -C vc pull --rebase origin master
git -C vc push