mirror of
				https://github.com/iv-org/invidious.git
				synced 2025-10-30 12:48:29 -05:00 
			
		
		
		
	There is no way to cache Crystal unfortunately. See https://github.com/oprypin/install-crystal/issues/2
		
			
				
	
	
		
			61 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| name: Invidious CI
 | |
| 
 | |
| on:
 | |
|   push:
 | |
|     branches:
 | |
|       - "master"
 | |
|       - "api-only"
 | |
|   pull_request:
 | |
|     branches: "*"
 | |
| 
 | |
| jobs:
 | |
|   build:
 | |
|     
 | |
|     runs-on: ubuntu-latest
 | |
|     
 | |
|     steps:
 | |
|       - uses: actions/checkout@v2
 | |
|       
 | |
|       - name: Install Crystal
 | |
|         uses: oprypin/install-crystal@v1.2.4
 | |
|       
 | |
|       - name: Cache Shards
 | |
|         uses: actions/cache@v2
 | |
|         with:
 | |
|           path: ./lib
 | |
|           key: shards-${{ hashFiles('shard.lock') }}
 | |
|       
 | |
|       - name: Install Shards
 | |
|         run: |
 | |
|           if ! shards check; then
 | |
|             shards install
 | |
|           fi
 | |
|       
 | |
|       - name: Run tests
 | |
|         run: crystal spec
 | |
|       
 | |
|       - name: Run lint
 | |
|         run: |
 | |
|           if ! crystal tool format --check; then
 | |
|             crystal tool format
 | |
|             git diff
 | |
|             exit 1
 | |
|           fi
 | |
|       
 | |
|       - name: Build
 | |
|         run: crystal build --warnings all --error-on-warnings --error-trace src/invidious.cr
 | |
|       
 | |
|   build-docker:
 | |
|     
 | |
|     runs-on: ubuntu-latest
 | |
|     
 | |
|     steps:
 | |
|       - uses: actions/checkout@v2
 | |
|       
 | |
|       - name: Build Docker
 | |
|         run: docker-compose up -d
 | |
|       
 | |
|       - name: Test Docker
 | |
|         run: while curl -Isf http://localhost:3000; do sleep 1; done
 | |
| 
 |