mirror of
https://github.com/vlang/v.git
synced 2025-09-13 14:32:26 +03:00
75 lines
1.8 KiB
YAML
75 lines
1.8 KiB
YAML
name: VPM CI
|
|
|
|
on:
|
|
push:
|
|
paths:
|
|
- '**/vpm_ci.yml'
|
|
- '**/cmd/tools/vpm/**'
|
|
pull_request:
|
|
paths:
|
|
- '**/vpm_ci.yml'
|
|
- '**/cmd/tools/vpm/**'
|
|
|
|
concurrency:
|
|
group: vpm-${{ github.workflow }}-${{ github.ref == 'refs/heads/master' && github.sha || github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
setup-vpm:
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-latest, windows-latest, macos-latest]
|
|
fail-fast: false
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
with:
|
|
path: vlang
|
|
- name: Show git version
|
|
run: git version
|
|
- name: Build V
|
|
if: runner.os != 'Windows'
|
|
run: cd vlang && make -j4 && ./v doctor
|
|
- name: Build V (Windows)
|
|
if: runner.os == 'Windows'
|
|
run: cd vlang && ./make.bat && ./v doctor
|
|
- name: Cache V
|
|
uses: actions/cache/save@v4
|
|
with:
|
|
path: vlang
|
|
key: ${{ runner.os }}-${{ github.sha }}
|
|
|
|
test-vpm:
|
|
needs: setup-vpm
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
- os: ubuntu-latest
|
|
cc: tcc
|
|
- os: ubuntu-latest
|
|
cc: gcc
|
|
- os: ubuntu-latest
|
|
cc: clang
|
|
- os: macos-latest
|
|
cc: clang
|
|
- os: windows-latest
|
|
cc: tcc
|
|
- os: windows-latest
|
|
cc: gcc
|
|
- os: windows-latest
|
|
cc: msvc
|
|
fail-fast: false
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- name: Restore V cache
|
|
uses: actions/cache/restore@v4
|
|
with:
|
|
path: vlang
|
|
key: ${{ runner.os }}-${{ github.sha }}
|
|
- name: Show git version
|
|
run: git version
|
|
- name: Build and test VPM
|
|
run: |
|
|
cd vlang
|
|
./v -W -N cmd/tools/vpm
|
|
./v -cc ${{ matrix.cc }} -d network test cmd/tools/vpm
|