WIP #828
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
paths-ignore: | |
- "**.md" | |
- "**.rst" | |
pull_request: | |
paths-ignore: | |
- "**.md" | |
- "**.rst" | |
concurrency: | |
group: ci-${{ github.event.pull_request.number || github.sha }} | |
cancel-in-progress: true | |
jobs: | |
tests: | |
name: Tests | |
runs-on: macos-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up V version latest | |
uses: vlang/[email protected] | |
with: | |
check-latest: true | |
- name: Verify fmt | |
run: make fmt-verify | |
- name: Verify docs | |
run: | | |
export PIP_BREAK_SYSTEM_PACKAGES=1 | |
pip install sphinx sphinx_rtd_theme | |
cd docs && python3 -m pip install -r requirements.txt && cd - | |
make clean-docs docs | |
git diff --exit-code | |
- name: Run SQL and B-tree tests | |
run: make test | |
- name: Run examples | |
run: make examples | |
- name: Run CLI tests | |
run: make cli-test | |
macos-binary: | |
name: Build for macOS | |
runs-on: macos-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up V version latest | |
uses: vlang/[email protected] | |
with: | |
check-latest: true | |
- name: Build macOS binaries | |
run: | | |
.github/workflows/set_version.sh | |
make bin/vsql | |
zip -j vsql-macos.zip bin/vsql | |
- name: Release | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
files: | | |
vsql-macos.zip | |
linux-binary: | |
name: Build for Linux | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up V version latest | |
uses: vlang/[email protected] | |
with: | |
check-latest: true | |
- name: Build linux binaries | |
run: | | |
.github/workflows/set_version.sh | |
make bin/vsql | |
zip -j vsql-linux.zip bin/vsql | |
- name: Release | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
files: | | |
vsql-linux.zip | |
# I know it seems pretty silly that we're using macOS and cross compling for | |
# Windows. But I couldn't get window-latest to work. If you use windows please | |
# put in a PR to fix this. | |
windows-binary: | |
name: Build for Windows | |
runs-on: macos-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up V version latest | |
uses: vlang/[email protected] | |
with: | |
check-latest: true | |
- name: Build Windows binaries | |
run: | | |
brew install mingw-w64 | |
make bin/vsql.exe | |
zip -j vsql-windows.zip bin/vsql.exe | |
- name: Release | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
files: | | |
vsql-windows.zip |