2022-01-23 13:50:19 +03:00
|
|
|
|
name: Path Testing CI
|
|
|
|
|
|
|
|
|
|
on:
|
|
|
|
|
push:
|
|
|
|
|
paths-ignore:
|
|
|
|
|
- "**.md"
|
|
|
|
|
pull_request:
|
|
|
|
|
paths-ignore:
|
|
|
|
|
- "**.md"
|
|
|
|
|
|
|
|
|
|
concurrency:
|
2022-01-24 15:36:42 +03:00
|
|
|
|
group: build-paths-${{ github.event.pull_request.number || github.sha }}
|
2022-01-23 13:50:19 +03:00
|
|
|
|
cancel-in-progress: true
|
|
|
|
|
|
|
|
|
|
jobs:
|
|
|
|
|
|
|
|
|
|
space-paths-linux:
|
|
|
|
|
runs-on: ubuntu-20.04
|
|
|
|
|
timeout-minutes: 30
|
|
|
|
|
env:
|
|
|
|
|
MY_V_PATH: '你好 my $path, @с интервали'
|
|
|
|
|
steps:
|
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
|
with:
|
|
|
|
|
path: ${{env.MY_V_PATH}}
|
|
|
|
|
- name: Build V
|
|
|
|
|
run: |
|
|
|
|
|
echo '${{env.MY_V_PATH}}'
|
|
|
|
|
ls -la
|
|
|
|
|
cd '${{env.MY_V_PATH}}'
|
|
|
|
|
ls -la
|
|
|
|
|
make
|
|
|
|
|
- name: v doctor
|
|
|
|
|
run: |
|
|
|
|
|
cd '${{env.MY_V_PATH}}'
|
|
|
|
|
./v doctor
|
|
|
|
|
- name: v tests
|
|
|
|
|
run: |
|
|
|
|
|
cd '${{env.MY_V_PATH}}'
|
|
|
|
|
./v test vlib/builtin vlib/os
|
|
|
|
|
|
|
|
|
|
space-paths-macos:
|
|
|
|
|
runs-on: macOS-latest
|
|
|
|
|
timeout-minutes: 30
|
|
|
|
|
env:
|
|
|
|
|
MY_V_PATH: '你好 my $path, @с интервали'
|
|
|
|
|
steps:
|
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
|
with:
|
|
|
|
|
path: ${{env.MY_V_PATH}}
|
|
|
|
|
- name: Build V
|
|
|
|
|
run: |
|
|
|
|
|
echo '${{env.MY_V_PATH}}'
|
|
|
|
|
ls -la
|
|
|
|
|
cd '${{env.MY_V_PATH}}'
|
|
|
|
|
ls -la
|
|
|
|
|
make
|
2022-01-30 17:42:57 +03:00
|
|
|
|
## prebuild cmd/tools/builders/js_builder, to minimise the
|
|
|
|
|
## chances of a sporadic "Killed" when running the tests later
|
|
|
|
|
./v -b js run examples/hello_world.v
|
2022-01-23 13:50:19 +03:00
|
|
|
|
- name: v doctor
|
|
|
|
|
run: |
|
|
|
|
|
cd '${{env.MY_V_PATH}}'
|
|
|
|
|
./v doctor
|
|
|
|
|
- name: v tests
|
|
|
|
|
run: |
|
|
|
|
|
cd '${{env.MY_V_PATH}}'
|
|
|
|
|
./v test vlib/builtin vlib/os
|
|
|
|
|
|
|
|
|
|
space-paths-windows:
|
|
|
|
|
runs-on: windows-2022
|
|
|
|
|
timeout-minutes: 30
|
|
|
|
|
env:
|
|
|
|
|
MY_V_PATH: 'path with some $punctuation, and some spaces'
|
|
|
|
|
|
|
|
|
|
## NB: the following paths do not work for now:
|
|
|
|
|
##### MY_V_PATH: '你好 my $path, @с интервали'
|
|
|
|
|
##### MY_V_PATH: 'path with some $punctuation, and some spaces '
|
|
|
|
|
## tcc has a problem interpreting paths with non latin letters in them,
|
|
|
|
|
## by default, but that can be solved with passing -Bthirdparty/tcc
|
|
|
|
|
## but after that V fails self building with:
|
2022-01-24 15:36:42 +03:00
|
|
|
|
####### builder error: cannot write to folder
|
|
|
|
|
####### D:\a\v\v\你好 my $path, @с интервали: No such file or directory
|
2022-01-23 13:50:19 +03:00
|
|
|
|
## and that happens even for gcc builds, not just tcc ones
|
|
|
|
|
|
|
|
|
|
steps:
|
|
|
|
|
- uses: actions/checkout@v2
|
|
|
|
|
with:
|
|
|
|
|
path: ${{env.MY_V_PATH}}
|
|
|
|
|
- name: Build V
|
|
|
|
|
run: |
|
|
|
|
|
echo '${{env.MY_V_PATH}}'
|
|
|
|
|
dir
|
|
|
|
|
cd '${{env.MY_V_PATH}}'
|
|
|
|
|
dir
|
|
|
|
|
.\make.bat -tcc
|
|
|
|
|
- name: v doctor
|
|
|
|
|
run: |
|
|
|
|
|
cd '${{env.MY_V_PATH}}'
|
|
|
|
|
./v doctor
|
|
|
|
|
- name: v tests
|
|
|
|
|
run: |
|
|
|
|
|
cd '${{env.MY_V_PATH}}'
|
|
|
|
|
./v test vlib/builtin vlib/os
|