diff --git a/.github/workflows/yxcvbn.yml b/.github/workflows/yxcvbn.yml new file mode 100644 index 0000000..4a1b815 --- /dev/null +++ b/.github/workflows/yxcvbn.yml @@ -0,0 +1,99 @@ +name: yxcvbn + +on: + pull_request: + branches: + - master + push: + branches: + - master + +jobs: + clippy-rustfmt: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + + - name: Install stable + uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: stable + override: true + components: clippy, rustfmt + + - name: Run rustfmt + uses: actions-rs/cargo@v1 + with: + command: fmt + args: -- --check --verbose + + - name: Lint + uses: actions-rs/clippy-check@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} + args: --all-features --tests --benches + name: lint + + build: + strategy: + matrix: + platform: [ubuntu-latest, windows-latest] + + runs-on: ${{ matrix.platform }} + + steps: + - uses: actions/checkout@v2 + + - name: Install stable + uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: stable + override: true + + - name: Build (default features) + run: cargo build --tests --benches + + - name: Run tests (default features) + run: cargo test + + - name: Build (default features) + run: cargo build --tests --benches + + - name: Run tests (all features) + run: cargo test --all-features + + - name: Generate docs + run: cargo doc --all-features --no-deps + + build-wasm: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + + - name: Install stable + uses: actions-rs/toolchain@v1 + with: + profile: minimal + toolchain: stable + override: true + target: wasm32-unknown-unknown + + - name: Install wasm-pack + uses: jetli/wasm-pack-action@v0.3.0 + with: + version: "latest" + + - name: Build (wasm, default features) + run: cargo build --target wasm32-unknown-unknown --tests --benches + + - name: Run tests (wasm, default features) + run: wasm-pack test --node + + - name: Build (wasm, default features) + run: cargo build --target wasm32-unknown-unknown --tests --benches + + - name: Run tests (wasm, all features) + run: wasm-pack test --node --all-features