mirror of
https://github.com/tauri-apps/tauri-bindgen.git
synced 2026-01-31 00:45:21 +01:00
155 lines
4.5 KiB
YAML
155 lines
4.5 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
schedule: [cron: "40 1 * * *"]
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
env:
|
|
RUSTFLAGS: -Dwarnings
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
pre_ci:
|
|
uses: dtolnay/.github/.github/workflows/pre_ci.yml@master
|
|
|
|
test:
|
|
name: Rust ${{matrix.rust}}
|
|
needs: pre_ci
|
|
if: needs.pre_ci.outputs.continue
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
rust: [nightly, stable, 1.70.0]
|
|
timeout-minutes: 45
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: install native dependecies
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y libwebkit2gtk-4.1-dev libgtk-3-dev libsoup-3.0-dev libjavascriptcoregtk-4.1-dev
|
|
- uses: dtolnay/rust-toolchain@master
|
|
with:
|
|
toolchain: ${{matrix.rust}}
|
|
- uses: Swatinem/rust-cache@v2
|
|
- run: cargo test --workspace
|
|
env:
|
|
RUSTFLAGS: ${{matrix.rustflags}} ${{env.RUSTFLAGS}}
|
|
|
|
msrv:
|
|
name: Rust MSRV
|
|
needs: pre_ci
|
|
if: needs.pre_ci.outputs.continue
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 45
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: install native dependecies
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y libwebkit2gtk-4.1-dev libgtk-3-dev libsoup-3.0-dev libjavascriptcoregtk-4.1-dev
|
|
- uses: dtolnay/rust-toolchain@stable
|
|
with:
|
|
toolchain: 1.70.0 # MSRV
|
|
- uses: Swatinem/rust-cache@v2
|
|
- run: cargo check --workspace --tests
|
|
|
|
clippy:
|
|
name: Clippy
|
|
runs-on: ubuntu-latest
|
|
if: github.event_name != 'pull_request'
|
|
timeout-minutes: 45
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: install native dependecies
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y libwebkit2gtk-4.1-dev libgtk-3-dev libsoup-3.0-dev libjavascriptcoregtk-4.1-dev
|
|
- uses: dtolnay/rust-toolchain@stable
|
|
with:
|
|
components: clippy
|
|
- uses: Swatinem/rust-cache@v2
|
|
- run: cargo clippy --workspace -- -Dclippy::all -Dclippy::pedantic
|
|
|
|
rustfmt:
|
|
name: Rustfmt
|
|
runs-on: ubuntu-latest
|
|
if: github.event_name != 'pull_request'
|
|
timeout-minutes: 45
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Install rustfmt with nightly toolchain
|
|
uses: dtolnay/rust-toolchain@nightly
|
|
with:
|
|
components: rustfmt
|
|
- run: cargo fmt --all -- --check
|
|
|
|
# miri:
|
|
# name: Miri
|
|
# needs: pre_ci
|
|
# if: needs.pre_ci.outputs.continue
|
|
# runs-on: ubuntu-latest
|
|
# timeout-minutes: 45
|
|
# steps:
|
|
# - uses: actions/checkout@v3
|
|
# - name: install native dependecies
|
|
# run: |
|
|
# sudo apt-get update
|
|
# sudo apt-get install -y webkit2gtk-4.0 libgtk-3-dev
|
|
# - uses: dtolnay/rust-toolchain@nightly
|
|
# with:
|
|
# components: miri
|
|
# - uses: Swatinem/rust-cache@v2
|
|
# - run: cargo miri test --workspace
|
|
# env:
|
|
# MIRIFLAGS: -Zmiri-strict-provenance
|
|
|
|
# e2e:
|
|
# name: E2E Test
|
|
# needs: pre_ci
|
|
# if: needs.pre_ci.outputs.continue
|
|
# runs-on: ubuntu-latest
|
|
# timeout-minutes: 45
|
|
# steps:
|
|
# - uses: actions/checkout@v3
|
|
# - name: Install stable toolchain
|
|
# uses: actions-rs/toolchain@v1
|
|
# with:
|
|
# toolchain: stable
|
|
# override: true
|
|
# target: wasm32-unknown-unknown
|
|
# - uses: Swatinem/rust-cache@v1
|
|
# - name: Install native deps
|
|
# run: |
|
|
# sudo apt-get update
|
|
# sudo apt-get install -y webkit2gtk-4.0 at-spi2-core
|
|
# - name: Install Tauri CLI
|
|
# run: |
|
|
# cd examples/test
|
|
# wget -qO- https://github.com/tauri-apps/tauri/releases/download/cli.rs-v1.2.0/cargo-tauri-x86_64-unknown-linux-gnu.tgz | tar -xzf- -C ~/.cargo/bin
|
|
# - name: Install Trunk
|
|
# run: |
|
|
# cd examples/test
|
|
# wget -qO- https://github.com/thedodd/trunk/releases/download/v0.16.0/trunk-x86_64-unknown-linux-gnu.tar.gz | tar -xzf- -C ~/.cargo/bin
|
|
# - name: Run test app
|
|
# run: |
|
|
# cd examples/test
|
|
# export CARGO_UNSTABLE_SPARSE_REGISTRY=true
|
|
# xvfb-run cargo tauri dev --exit-on-panic --config ./src-tauri/ci.tauri.conf.json
|
|
# outdated:
|
|
# name: Outdated
|
|
# runs-on: ubuntu-latest
|
|
# if: github.event_name != 'pull_request'
|
|
# timeout-minutes: 45
|
|
# steps:
|
|
# - uses: actions/checkout@v3
|
|
# - uses: dtolnay/install@cargo-outdated
|
|
# - run: cargo outdated --workspace --exit-code 1
|