vw_small

Hardened fork of Vaultwarden (https://github.com/dani-garcia/vaultwarden) with fewer features.
git clone https://git.philomathiclife.com/repos/vw_small
Log | Files | Refs | README

commit 5c6081c4e2d287687a1be185306f6131fca33b4c
parent 88c56de97b48bb5b9b8af350d0d0e0d5f080ff0e
Author: Daniel GarcĂ­a <dani-garcia@users.noreply.github.com>
Date:   Fri, 27 Dec 2019 22:26:01 +0100

Merge pull request #779 from publicarray/master

Add Github build Action
Diffstat:
A.github/workflows/rust-linux.yml | 62++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.github/workflows/rust-mac.yml | 61+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.github/workflows/rust-win.yml | 70++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 193 insertions(+), 0 deletions(-)

diff --git a/.github/workflows/rust-linux.yml b/.github/workflows/rust-linux.yml @@ -0,0 +1,62 @@ +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 }} + diff --git a/.github/workflows/rust-mac.yml b/.github/workflows/rust-mac.yml @@ -0,0 +1,61 @@ +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 }} diff --git a/.github/workflows/rust-win.yml b/.github/workflows/rust-win.yml @@ -0,0 +1,70 @@ +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 }}