domus

One damus client to rule them all
git clone git://jb55.com/domus
Log | Files | Refs | README

rust.yml (2766B)


      1 on: [push, pull_request]
      2 
      3 name: CI
      4 
      5 env:
      6   # This is required to enable the web_sys clipboard API which egui_web uses
      7   # https://rustwasm.github.io/wasm-bindgen/api/web_sys/struct.Clipboard.html
      8   # https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html
      9   RUSTFLAGS: --cfg=web_sys_unstable_apis
     10 
     11 jobs:
     12   check:
     13     name: Check
     14     runs-on: ubuntu-latest
     15     steps:
     16       - uses: actions/checkout@v2
     17       - uses: actions-rs/toolchain@v1
     18         with:
     19           profile: minimal
     20           toolchain: stable
     21           override: true
     22       - uses: actions-rs/cargo@v1
     23         with:
     24           command: check
     25           args: --all-features
     26 
     27   check_wasm:
     28     name: Check wasm32
     29     runs-on: ubuntu-latest
     30     steps:
     31       - uses: actions/checkout@v2
     32       - uses: actions-rs/toolchain@v1
     33         with:
     34           profile: minimal
     35           toolchain: stable
     36           target: wasm32-unknown-unknown
     37           override: true
     38       - uses: actions-rs/cargo@v1
     39         with:
     40           command: check
     41           args: --all-features --lib --target wasm32-unknown-unknown
     42 
     43   test:
     44     name: Test Suite
     45     runs-on: ubuntu-latest
     46     steps:
     47       - uses: actions/checkout@v2
     48       - uses: actions-rs/toolchain@v1
     49         with:
     50           profile: minimal
     51           toolchain: stable
     52           override: true
     53       - run: sudo apt-get install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libspeechd-dev libxkbcommon-dev libssl-dev
     54       - uses: actions-rs/cargo@v1
     55         with:
     56           command: test
     57           args: --lib
     58 
     59   fmt:
     60     name: Rustfmt
     61     runs-on: ubuntu-latest
     62     steps:
     63       - uses: actions/checkout@v2
     64       - uses: actions-rs/toolchain@v1
     65         with:
     66           profile: minimal
     67           toolchain: stable
     68           override: true
     69           components: rustfmt
     70       - uses: actions-rs/cargo@v1
     71         with:
     72           command: fmt
     73           args: --all -- --check
     74 
     75   clippy:
     76     name: Clippy
     77     runs-on: ubuntu-latest
     78     steps:
     79       - uses: actions/checkout@v2
     80       - uses: actions-rs/toolchain@v1
     81         with:
     82           profile: minimal
     83           toolchain: stable
     84           override: true
     85           components: clippy
     86       - uses: actions-rs/cargo@v1
     87         with:
     88           command: clippy
     89           args: -- -D warnings
     90 
     91   trunk:
     92     name: trunk
     93     runs-on: ubuntu-latest
     94     steps:
     95       - uses: actions/checkout@v2
     96       - uses: actions-rs/toolchain@v1
     97         with:
     98           profile: minimal
     99           toolchain: 1.61.0
    100           target: wasm32-unknown-unknown
    101           override: true
    102       - name: Download and install Trunk binary
    103         run: wget -qO- https://github.com/thedodd/trunk/releases/latest/download/trunk-x86_64-unknown-linux-gnu.tar.gz | tar -xzf-
    104       - name: Build
    105         run: ./trunk build