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