108 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			YAML
		
	
	
			
		
		
	
	
			108 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			YAML
		
	
	
| name: Path Testing CI
 | ||
| 
 | ||
| on:
 | ||
|   push:
 | ||
|     paths-ignore:
 | ||
|       - "**.md"
 | ||
|   pull_request:
 | ||
|     paths-ignore:
 | ||
|       - "**.md"
 | ||
| 
 | ||
| concurrency:
 | ||
|   group: build-paths-${{ github.event.pull_request.number || github.sha }}
 | ||
|   cancel-in-progress: true
 | ||
| 
 | ||
| jobs:
 | ||
| 
 | ||
|   space-paths-linux:
 | ||
|     runs-on: ubuntu-20.04
 | ||
|     if: github.event_name != 'push' || github.event.ref == 'refs/heads/master' || github.event.repository.full_name != 'vlang/v'
 | ||
|     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
 | ||
|     if: github.event_name != 'push' || github.event.ref == 'refs/heads/master' || github.event.repository.full_name != 'vlang/v'
 | ||
|     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
 | ||
|           ## 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          
 | ||
|       - 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
 | ||
|     if: github.event_name != 'push' || github.event.ref == 'refs/heads/master' || github.event.repository.full_name != 'vlang/v'
 | ||
|     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:
 | ||
|       ####### builder error: cannot write to folder
 | ||
|       ####### D:\a\v\v\你好 my $path, @с интервали: No such file or directory
 | ||
|       ## 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          
 |