committed by
GitHub
3 changed files with 193 additions and 0 deletions
@ -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 }} |
||||
|
|
@ -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 }} |
@ -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 }} |
Loading…
Reference in new issue