You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							62 lines
						
					
					
						
							1.8 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							62 lines
						
					
					
						
							1.8 KiB
						
					
					
				
								name: build-linux
							 | 
						|
								
							 | 
						|
								on: [push, pull_request]
							 | 
						|
								
							 | 
						|
								jobs:
							 | 
						|
								  build:
							 | 
						|
								
							 | 
						|
								    runs-on: ubuntu-latest
							 | 
						|
								
							 | 
						|
								    strategy:
							 | 
						|
								      matrix:
							 | 
						|
								        db-backend: [sqlite, mysql, postgresql]
							 | 
						|
								
							 | 
						|
								    steps:
							 | 
						|
								    - uses: actions/checkout@v1
							 | 
						|
								    - name: Install dependencies
							 | 
						|
								      run: sudo apt update && sudo apt install --no-install-recommends openssl sqlite3 libmysql++-dev libpq-dev
							 | 
						|
								
							 | 
						|
								    - name: Cache cargo registry
							 | 
						|
								      uses: actions/cache@v1.0.3
							 | 
						|
								      with:
							 | 
						|
								        path: ~/.cargo/registry
							 | 
						|
								        key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
							 | 
						|
								    - name: Cache cargo index
							 | 
						|
								      uses: actions/cache@v1.0.3
							 | 
						|
								      with:
							 | 
						|
								        path: ~/.cargo/git
							 | 
						|
								        key: ${{ runner.os }}-cargo-index-${{ hashFiles('**/Cargo.lock') }}
							 | 
						|
								    - name: Cache cargo build
							 | 
						|
								      uses: actions/cache@v1.0.3
							 | 
						|
								      with:
							 | 
						|
								        path: target
							 | 
						|
								        key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('**/Cargo.lock') }}
							 | 
						|
								
							 | 
						|
								    - name: Install latest nightly
							 | 
						|
								      uses: actions-rs/toolchain@v1
							 | 
						|
								      with:
							 | 
						|
								            toolchain: nightly
							 | 
						|
								            override: true
							 | 
						|
								            profile: minimal
							 | 
						|
								            target: x86_64-unknown-linux-gnu
							 | 
						|
								
							 | 
						|
								    - name: Build
							 | 
						|
								      run: cargo build --verbose --features ${{ matrix.db-backend }} --release --target x86_64-unknown-linux-gnu
							 | 
						|
								
							 | 
						|
								    - name: Run tests
							 | 
						|
								      run: cargo test --features ${{ matrix.db-backend }}
							 | 
						|
								
							 | 
						|
								    - name: Upload linux artifact
							 | 
						|
								      uses: actions/upload-artifact@v1.0.0
							 | 
						|
								      with:
							 | 
						|
								        name: x86_64-unknown-linux-gnu-${{ matrix.db-backend }}-bitwarden_rs
							 | 
						|
								        path: target/x86_64-unknown-linux-gnu/release/bitwarden_rs
							 | 
						|
								
							 | 
						|
								    - name: Release
							 | 
						|
								      uses: Shopify/upload-to-release@1.0.0
							 | 
						|
								      if: startsWith(github.ref, 'refs/tags/')
							 | 
						|
								      with:
							 | 
						|
								        name: x86_64-unknown-linux-gnu-${{ matrix.db-backend }}-bitwarden_rs
							 | 
						|
								        path: target/x86_64-apple-darwin/release/bitwarden_rs
							 | 
						|
								        repo-token: ${{ secrets.GITHUB_TOKEN }}
							 | 
						|
								
							 | 
						|
								
							 |