44 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			44 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| name: Rust
 | |
| 
 | |
| on:
 | |
|   push:
 | |
|     branches: [ "main" ]
 | |
|   pull_request:
 | |
|     branches: [ "main" ]
 | |
| 
 | |
| env:
 | |
|   CARGO_TERM_COLOR: always
 | |
| 
 | |
| jobs:
 | |
|   build:
 | |
| 
 | |
|     runs-on: ubuntu-latest
 | |
| 
 | |
|     steps:
 | |
|       - uses: actions/checkout@v4
 | |
|         with:
 | |
|           submodules: 'recursive'
 | |
| 
 | |
|       - name: Update repos
 | |
|         run: sudo apt-get update -qq
 | |
|       - name: Install rust toolchain
 | |
|         run: sudo apt-get install -qy cargo rust-clippy
 | |
|       - name: install lzma
 | |
|         run: sudo apt-get install -qy liblzma-dev
 | |
|       - name: install dotnet
 | |
|         run: sudo apt-get install -qy dotnet-sdk-8.0 ca-certificates libc6 libgcc-s1 libicu74 liblttng-ust1 libssl3 libstdc++6 libunwind8 zlib1g
 | |
| 
 | |
|       - name: generate bindings
 | |
|         run: ./generate-binding.sh
 | |
| 
 | |
|       - name: check that generated files did not change
 | |
|         run: output=$(git status --porcelain) && [ -z "$output" ]
 | |
| 
 | |
|       - name: build solution
 | |
|         run: dotnet publish
 | |
| 
 | |
|       - name: run tests
 | |
|         run: dotnet test
 | |
| 
 | |
|       - name: run example
 | |
|         run: dotnet run --project ServicePoint.Example
 | 
