4 changed files with 145 additions and 193 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 }} | 
				
			|||
@ -1,70 +0,0 @@ | 
				
			|||
name: build-windows | 
				
			|||
 | 
				
			|||
on: [push, pull_request] | 
				
			|||
 | 
				
			|||
jobs: | 
				
			|||
  build: | 
				
			|||
 | 
				
			|||
    runs-on: windows-latest | 
				
			|||
 | 
				
			|||
    strategy: | 
				
			|||
      matrix: | 
				
			|||
        db-backend: [sqlite, mysql, postgresql] | 
				
			|||
 | 
				
			|||
    steps: | 
				
			|||
    - uses: actions/checkout@v1 | 
				
			|||
 | 
				
			|||
    - name: Cache choco cache | 
				
			|||
      uses: actions/cache@v1.0.3 | 
				
			|||
      with: | 
				
			|||
        path: ~\AppData\Local\Temp\chocolatey | 
				
			|||
        key: ${{ runner.os }}-choco-cache | 
				
			|||
 | 
				
			|||
    - name: Install dependencies | 
				
			|||
      run: choco install openssl sqlite postgresql12 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-pc-windows-msvc | 
				
			|||
 | 
				
			|||
    - name: Build | 
				
			|||
      run: cargo.exe build --verbose --features ${{ matrix.db-backend }} --release --target x86_64-pc-windows-msvc | 
				
			|||
      env: | 
				
			|||
        OPENSSL_DIR: C:\Program Files\OpenSSL-Win64\ | 
				
			|||
 | 
				
			|||
    - name: Run tests | 
				
			|||
      run: cargo test --features ${{ matrix.db-backend }} | 
				
			|||
 | 
				
			|||
    - name: Upload windows artifact | 
				
			|||
      uses: actions/upload-artifact@v1.0.0 | 
				
			|||
      with: | 
				
			|||
        name: x86_64-pc-windows-msvc-${{ matrix.db-backend }}-bitwarden_rs | 
				
			|||
        path: target/release/bitwarden_rs.exe | 
				
			|||
 | 
				
			|||
    - name: Release | 
				
			|||
      uses: Shopify/upload-to-release@1.0.0 | 
				
			|||
      if: startsWith(github.ref, 'refs/tags/') | 
				
			|||
      with: | 
				
			|||
        name: x86_64-pc-windows-msvc-${{ matrix.db-backend }}-bitwarden_rs | 
				
			|||
        path: target/release/bitwarden_rs.exe | 
				
			|||
        repo-token: ${{ secrets.GITHUB_TOKEN }} | 
				
			|||
@ -0,0 +1,145 @@ | 
				
			|||
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_DIR/installed | 
				
			|||
        key: ${{ runner.os }}-vcpkg-cache-${{ matrix.db-backend }} | 
				
			|||
 | 
				
			|||
    - name: Cache vcpkg downloads | 
				
			|||
      uses: actions/cache@v1.0.3 | 
				
			|||
      if: matrix.os == 'windows-latest' | 
				
			|||
      with: | 
				
			|||
        path: $VCPKG_DIR/downloads | 
				
			|||
        key: ${{ runner.os }}-vcpkg-cache-${{ matrix.db-backend }} | 
				
			|||
 | 
				
			|||
    # - 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' | 
				
			|||
    # 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: | 
				
			|||
        OPENSSL_DIR: C:\Program Files\OpenSSL\ | 
				
			|||
        MYSQLCLIENT_LIB_DIR: C:\Program Files\MySQL\MySQL Server 8.0\lib | 
				
			|||
        PQ_LIB_DIR: C:\Program Files\PostgreSQL\12\lib | 
				
			|||
        RUSTFLAGS: -Ctarget-feature=+crt-static | 
				
			|||
 | 
				
			|||
    - 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