v2 / .github / workflows / symlink_ci.yml
77 lines · 73 sloc · 1.91 KB · d444f9c25dea51ee70d1a8ec896b34484370e791
Raw
1name: Symlink CI
2
3on:
4 workflow_dispatch:
5 push:
6 paths:
7 - 'cmd/tools/vsymlink/**.v'
8 - '.github/workflows/symlink_ci.yml'
9 pull_request:
10 paths:
11 - 'cmd/tools/vsymlink/**.v'
12 - '.github/workflows/symlink_ci.yml'
13
14concurrency:
15 group: symlink-${{ github.workflow }}-${{ github.ref_name == 'master' && github.sha || github.ref_name }}
16 cancel-in-progress: true
17
18jobs:
19 symlink-unix:
20 runs-on: ${{ matrix.os }}
21 strategy:
22 matrix:
23 os: [ubuntu-latest, macos-latest]
24 fail-fast: false
25 steps:
26 - uses: actions/checkout@v6
27 - name: Build V
28 run: make -j4
29 - name: Symlink
30 run: |
31 ./v symlink
32 cd /tmp/ && v version
33 cd ~ && v version
34 echo 'println(123)' > hi.v
35 v run hi.v
36 - name: Unlink
37 run: |
38 rm "$(which v)"
39 v --version && exit 1 || exit 0
40 - name: Symlink (sudo)
41 run: |
42 sudo ./v symlink
43 cd /tmp/ && v version
44 cd ~ && v version
45 echo 'println(123)' > hi.v
46 v run hi.v
47 - name: Unlink
48 run: |
49 rm "$(which v)"
50 v --version && exit 1 || exit 0
51 - name: Symlink (-githubci)
52 run: ./v symlink -githubci
53 - name: Test after symlink with -githubci (in a separate script)
54 run: |
55 cd /tmp/ && v version
56 cd ~ && v version
57 echo 'println(123)' > hi.v
58 v run hi.v
59
60 symlink-windows:
61 runs-on: windows-2025
62 strategy:
63 matrix:
64 flags: ['', '-githubci']
65 fail-fast: false
66 steps:
67 - uses: actions/checkout@v6
68 - name: Build V
69 run: ./makev.bat
70 - name: Symlink
71 run: ./v symlink ${{ matrix.flags }}
72 - name: Check if V is usable
73 run: |
74 cd $RUNNER_TEMP && pwd && v version
75 cd ~ && pwd && v version
76 echo 'println(123)' > hi.v
77 v run hi.v
78