v2 / .github / workflows / paths_ci.yml
115 lines · 110 sloc · 3.53 KB · d444f9c25dea51ee70d1a8ec896b34484370e791
Raw
1name: Path Testing CI
2
3on:
4 workflow_dispatch:
5 push:
6 paths-ignore:
7 - '**.md'
8 - '**.yml'
9 - '!**/paths_ci.yml'
10 - 'cmd/tools/**'
11 - '!cmd/tools/builders/**.v'
12 pull_request:
13 paths-ignore:
14 - '**.md'
15 - '**.yml'
16 - '!**/paths_ci.yml'
17 - 'cmd/tools/**'
18 - '!cmd/tools/builders/**.v'
19
20concurrency:
21 group: paths-${{ github.workflow }}-${{ github.ref == 'refs/heads/master' && github.sha || github.ref }}
22 cancel-in-progress: true
23
24jobs:
25 space-paths-linux:
26 runs-on: ubuntu-24.04
27 timeout-minutes: 20
28 steps:
29 - uses: actions/checkout@v6
30 with:
31 persist-credentials: false
32 path: '你好 my $path, @с интервали'
33 - name: Build V
34 run: |
35 # shellcheck disable=SC2016
36 echo '你好 my $path, @с интервали'
37 ls -la
38 # shellcheck disable=SC2016
39 cd '你好 my $path, @с интервали'
40 ls -la
41 make
42 - name: v doctor
43 run: |
44 # shellcheck disable=SC2016
45 cd '你好 my $path, @с интервали'
46 ./v doctor
47 - name: v tests
48 run: |
49 # shellcheck disable=SC2016
50 cd '你好 my $path, @с интервали'
51 ./v test vlib/builtin vlib/os
52
53 space-paths-macos:
54 runs-on: macos-14
55 timeout-minutes: 30
56 steps:
57 - uses: actions/checkout@v6
58 with:
59 path: '你好 my $path, @с интервали'
60 persist-credentials: false
61 - name: Build V
62 run: |
63 # shellcheck disable=SC2016
64 echo '你好 my $path, @с интервали'
65 ls -la
66 # shellcheck disable=SC2016
67 cd '你好 my $path, @с интервали'
68 ls -la
69 make
70 ## prebuild cmd/tools/builders/js_builder, to minimise the
71 ## chances of a sporadic "Killed" when running the tests later
72 ./v -b js run examples/hello_world.v
73 - name: v doctor
74 run: |
75 # shellcheck disable=SC2016
76 cd '你好 my $path, @с интервали'
77 ./v doctor
78 - name: v tests
79 run: |
80 # shellcheck disable=SC2016
81 cd '你好 my $path, @с интервали'
82 ./v test vlib/builtin vlib/os
83
84 space-paths-windows:
85 runs-on: windows-2022
86 timeout-minutes: 30
87 ## NB: the following paths do not work for now:
88 ##### MY_V_PATH: '你好 my $path, @с интервали'
89 ##### MY_V_PATH: 'path with some $punctuation, and some spaces '
90 ## tcc has a problem interpreting paths with non latin letters in them,
91 ## by default, but that can be solved with passing -Bthirdparty/tcc
92 ## but after that V fails self building with:
93 ####### builder error: cannot write to folder
94 ####### D:\a\v\v\你好 my $path, @с интервали: No such file or directory
95 ## and that happens even for gcc builds, not just tcc ones
96 steps:
97 - uses: actions/checkout@v6
98 with:
99 path: 'path with some $punctuation, and some spaces'
100 persist-credentials: false
101 - name: Build V
102 run: |
103 echo 'path with some $punctuation, and some spaces'
104 dir
105 cd 'path with some $punctuation, and some spaces'
106 dir
107 .\makev.bat -tcc
108 - name: v doctor
109 run: |
110 cd 'path with some $punctuation, and some spaces'
111 ./v doctor
112 - name: v tests
113 run: |
114 cd 'path with some $punctuation, and some spaces'
115 ./v test vlib/builtin vlib/os
116