committed by
							
								
								GitHub
							
						
					
				
				 3 changed files with 149 additions and 123 deletions
			
			
		@ -1,62 +0,0 @@ | 
				
			|||||
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 }} | 
					 | 
				
			||||
 | 
					 | 
				
			||||
@ -1,61 +0,0 @@ | 
				
			|||||
name: build-mac | 
					 | 
				
			||||
 | 
					 | 
				
			||||
on: [push, pull_request] | 
					 | 
				
			||||
 | 
					 | 
				
			||||
jobs: | 
					 | 
				
			||||
  build: | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    runs-on: macos-latest | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    strategy: | 
					 | 
				
			||||
      matrix: | 
					 | 
				
			||||
        db-backend: [sqlite, mysql, postgresql] | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    steps: | 
					 | 
				
			||||
    - uses: actions/checkout@v1 | 
					 | 
				
			||||
    - name: Install dependencies | 
					 | 
				
			||||
      run: brew install openssl sqlite libpq mysql | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    - 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-apple-darwin | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    - name: Build | 
					 | 
				
			||||
      run: cargo build --verbose --features ${{ matrix.db-backend }} --release --target x86_64-apple-darwin | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    - name: Run tests | 
					 | 
				
			||||
      run: cargo test --features ${{ matrix.db-backend }} | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    - name: Upload macOS artifact | 
					 | 
				
			||||
      uses: actions/upload-artifact@v1.0.0 | 
					 | 
				
			||||
      with: | 
					 | 
				
			||||
        name: x86_64-apple-darwin-${{ matrix.db-backend }}-bitwarden_rs | 
					 | 
				
			||||
        path: target/x86_64-apple-darwin/release/bitwarden_rs | 
					 | 
				
			||||
 | 
					 | 
				
			||||
    - name: Release | 
					 | 
				
			||||
      uses: Shopify/upload-to-release@1.0.0 | 
					 | 
				
			||||
      if: startsWith(github.ref, 'refs/tags/') | 
					 | 
				
			||||
      with: | 
					 | 
				
			||||
        name: x86_64-apple-darwin-${{ matrix.db-backend }}-bitwarden_rs | 
					 | 
				
			||||
        path: target/x86_64-apple-darwin/release/bitwarden_rs | 
					 | 
				
			||||
        repo-token: ${{ secrets.GITHUB_TOKEN }} | 
					 | 
				
			||||
@ -0,0 +1,149 @@ | 
				
			|||||
 | 
					name: Workflow | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					on: | 
				
			||||
 | 
					  push: | 
				
			||||
 | 
					    paths-ignore: | 
				
			||||
 | 
					      - "**.md" | 
				
			||||
 | 
					  pull_request: | 
				
			||||
 | 
					    paths-ignore: | 
				
			||||
 | 
					      - "**.md" | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					jobs: | 
				
			||||
 | 
					  build: | 
				
			||||
 | 
					    name: Build | 
				
			||||
 | 
					    strategy: | 
				
			||||
 | 
					      fail-fast: false | 
				
			||||
 | 
					      matrix: | 
				
			||||
 | 
					        db-backend: [sqlite, mysql, postgresql] | 
				
			||||
 | 
					        target: | 
				
			||||
 | 
					          - x86_64-unknown-linux-gnu | 
				
			||||
 | 
					          # - x86_64-unknown-linux-musl | 
				
			||||
 | 
					          - x86_64-apple-darwin | 
				
			||||
 | 
					          # - x86_64-pc-windows-msvc | 
				
			||||
 | 
					        include: | 
				
			||||
 | 
					          - target: x86_64-unknown-linux-gnu | 
				
			||||
 | 
					            os: ubuntu-latest | 
				
			||||
 | 
					            ext: | 
				
			||||
 | 
					          # - target: x86_64-unknown-linux-musl | 
				
			||||
 | 
					          #   os: ubuntu-latest | 
				
			||||
 | 
					          #   ext: | 
				
			||||
 | 
					          - target: x86_64-apple-darwin | 
				
			||||
 | 
					            os: macOS-latest | 
				
			||||
 | 
					            ext: | 
				
			||||
 | 
					          # - target: x86_64-pc-windows-msvc | 
				
			||||
 | 
					          #   os: windows-latest | 
				
			||||
 | 
					          #   ext: .exe | 
				
			||||
 | 
					    runs-on: ${{ matrix.os }} | 
				
			||||
 | 
					    steps: | 
				
			||||
 | 
					    - uses: actions/checkout@v1 | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    # - name: Cache choco cache | 
				
			||||
 | 
					    #   uses: actions/cache@v1.0.3 | 
				
			||||
 | 
					    #   if: matrix.os == 'windows-latest' | 
				
			||||
 | 
					    #   with: | 
				
			||||
 | 
					    #     path: ~\AppData\Local\Temp\chocolatey | 
				
			||||
 | 
					    #     key: ${{ runner.os }}-choco-cache-${{ matrix.db-backend }} | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    - name: Cache vcpkg installed | 
				
			||||
 | 
					      uses: actions/cache@v1.0.3 | 
				
			||||
 | 
					      if: matrix.os == 'windows-latest' | 
				
			||||
 | 
					      with: | 
				
			||||
 | 
					        path: $VCPKG_ROOT/installed | 
				
			||||
 | 
					        key: ${{ runner.os }}-vcpkg-cache-${{ matrix.db-backend }} | 
				
			||||
 | 
					      env: | 
				
			||||
 | 
					        VCPKG_ROOT: 'C:\vcpkg' | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    - name: Cache vcpkg downloads | 
				
			||||
 | 
					      uses: actions/cache@v1.0.3 | 
				
			||||
 | 
					      if: matrix.os == 'windows-latest' | 
				
			||||
 | 
					      with: | 
				
			||||
 | 
					        path: $VCPKG_ROOT/downloads | 
				
			||||
 | 
					        key: ${{ runner.os }}-vcpkg-cache-${{ matrix.db-backend }} | 
				
			||||
 | 
					      env: | 
				
			||||
 | 
					        VCPKG_ROOT: 'C:\vcpkg' | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    # - name: Cache homebrew | 
				
			||||
 | 
					    #   uses: actions/cache@v1.0.3 | 
				
			||||
 | 
					    #   if: matrix.os == 'macOS-latest' | 
				
			||||
 | 
					    #   with: | 
				
			||||
 | 
					    #     path: ~/Library/Caches/Homebrew | 
				
			||||
 | 
					    #     key: ${{ runner.os }}-brew-cache | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    # - name: Cache apt | 
				
			||||
 | 
					    #   uses: actions/cache@v1.0.3 | 
				
			||||
 | 
					    #   if: matrix.os == 'ubuntu-latest' | 
				
			||||
 | 
					    #   with: | 
				
			||||
 | 
					    #     path: /var/cache/apt/archives | 
				
			||||
 | 
					    #     key: ${{ runner.os }}-apt-cache | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    # Install dependencies | 
				
			||||
 | 
					    - name: Install dependencies macOS | 
				
			||||
 | 
					      run: brew update; brew install openssl sqlite libpq mysql | 
				
			||||
 | 
					      if: matrix.os == 'macOS-latest' | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    - name: Install dependencies Ubuntu | 
				
			||||
 | 
					      run: sudo apt-get update && sudo apt-get install --no-install-recommends openssl sqlite libpq-dev libmysql++-dev | 
				
			||||
 | 
					      if: matrix.os == 'ubuntu-latest' | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    - name: Install dependencies Windows | 
				
			||||
 | 
					      run: vcpkg integrate install; vcpkg install sqlite3:x64-windows openssl:x64-windows libpq:x64-windows libmysql:x64-windows | 
				
			||||
 | 
					      if: matrix.os == 'windows-latest' | 
				
			||||
 | 
					      env: | 
				
			||||
 | 
					        VCPKG_ROOT: 'C:\vcpkg' | 
				
			||||
 | 
					    # End Install dependencies | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    # Install rust nightly toolchain | 
				
			||||
 | 
					    - name: Cache cargo registry | 
				
			||||
 | 
					      uses: actions/cache@v1.0.3 | 
				
			||||
 | 
					      with: | 
				
			||||
 | 
					        path: ~/.cargo/registry | 
				
			||||
 | 
					        key: ${{ runner.os }}-${{matrix.db-backend}}-cargo-registry-${{ hashFiles('**/Cargo.lock') }} | 
				
			||||
 | 
					    - name: Cache cargo index | 
				
			||||
 | 
					      uses: actions/cache@v1.0.3 | 
				
			||||
 | 
					      with: | 
				
			||||
 | 
					        path: ~/.cargo/git | 
				
			||||
 | 
					        key: ${{ runner.os }}-${{matrix.db-backend}}-cargo-index-${{ hashFiles('**/Cargo.lock') }} | 
				
			||||
 | 
					    - name: Cache cargo build | 
				
			||||
 | 
					      uses: actions/cache@v1.0.3 | 
				
			||||
 | 
					      with: | 
				
			||||
 | 
					        path: target | 
				
			||||
 | 
					        key: ${{ runner.os }}-${{matrix.db-backend}}-cargo-build-target-${{ hashFiles('**/Cargo.lock') }} | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    - name: Install latest nightly | 
				
			||||
 | 
					      uses: actions-rs/toolchain@v1 | 
				
			||||
 | 
					      with: | 
				
			||||
 | 
					        toolchain: nightly | 
				
			||||
 | 
					        override: true | 
				
			||||
 | 
					        profile: minimal | 
				
			||||
 | 
					        target: ${{ matrix.target }} | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    # Build | 
				
			||||
 | 
					    - name: Build Win | 
				
			||||
 | 
					      if: matrix.os == 'windows-latest' | 
				
			||||
 | 
					      run: cargo.exe build --features ${{ matrix.db-backend }} --release --target ${{ matrix.target }} | 
				
			||||
 | 
					      env: | 
				
			||||
 | 
					        RUSTFLAGS: -Ctarget-feature=+crt-static | 
				
			||||
 | 
					        VCPKG_ROOT: 'C:\vcpkg' | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    - name: Build macOS / Ubuntu | 
				
			||||
 | 
					      if: matrix.os == 'macOS-latest' || matrix.os == 'ubuntu-latest' | 
				
			||||
 | 
					      run: cargo build --verbose --features ${{ matrix.db-backend }} --release --target ${{ matrix.target }} | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    # Test | 
				
			||||
 | 
					    - name: Run tests | 
				
			||||
 | 
					      run: cargo test --features ${{ matrix.db-backend }} | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    # Upload & Release | 
				
			||||
 | 
					    - name: Upload artifact | 
				
			||||
 | 
					      uses: actions/upload-artifact@v1.0.0 | 
				
			||||
 | 
					      with: | 
				
			||||
 | 
					        name: bitwarden_rs-${{ matrix.db-backend }}-${{ matrix.target }}${{ matrix.ext }} | 
				
			||||
 | 
					        path: target/${{ matrix.target }}/release/bitwarden_rs${{ matrix.ext }} | 
				
			||||
 | 
					
 | 
				
			||||
 | 
					    - name: Release | 
				
			||||
 | 
					      uses: Shopify/upload-to-release@1.0.0 | 
				
			||||
 | 
					      if: startsWith(github.ref, 'refs/tags/') | 
				
			||||
 | 
					      with: | 
				
			||||
 | 
					        name: bitwarden_rs-${{ matrix.db-backend }}-${{ matrix.target }}${{ matrix.ext }} | 
				
			||||
 | 
					        path: target/${{ matrix.target }}/release/bitwarden_rs${{ matrix.ext }} | 
				
			||||
 | 
					        repo-token: ${{ secrets.GITHUB_TOKEN }} | 
				
			||||
					Loading…
					
					
				
		Reference in new issue