on: push: branches: main pull_request: branches: main name: CI env: # This is required to enable the web_sys clipboard API which egui_web uses # https://rustwasm.github.io/wasm-bindgen/api/web_sys/struct.Clipboard.html # https://rustwasm.github.io/docs/wasm-bindgen/web-sys/unstable-apis.html RUSTFLAGS: --cfg=web_sys_unstable_apis jobs: check: name: Check runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: nightly override: true - run: sudo apt-get install -y libasound2 libasound2-dev libatk1.0-0 libgtk-3-dev - uses: actions-rs/cargo@v1 with: command: check args: --all-features check_wasm: name: Check wasm32 runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: nightly target: wasm32-unknown-unknown override: true - uses: actions-rs/cargo@v1 with: command: check args: --all-features --lib --target wasm32-unknown-unknown # Welp, i don't really have any tests for now # test: # name: Test Suite # runs-on: ubuntu-latest # steps: # - uses: actions/checkout@v2 # - uses: actions-rs/toolchain@v1 # with: # profile: minimal # toolchain: nightly # override: true # - run: sudo apt-get install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev libssl-dev # - run: sudo apt-get install -y libasound2 libasound2-dev libatk1.0-0 libgtk-3-dev # - uses: actions-rs/cargo@v1 # with: # command: test # args: --lib fmt: name: Rustfmt runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: nightly override: true components: rustfmt - uses: actions-rs/cargo@v1 with: command: fmt args: --all -- --check clippy: name: Clippy runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: nightly override: true components: clippy - run: sudo apt-get install -y libasound2 libasound2-dev libatk1.0-0 libgtk-3-dev - uses: actions-rs/cargo@v1 with: command: clippy args: -- -D warnings trunk-pcmg: name: trunk pcmg runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: nightly target: wasm32-unknown-unknown override: true - name: Download and install Trunk binary run: wget -qO- https://github.com/thedodd/trunk/releases/latest/download/trunk-x86_64-unknown-linux-gnu.tar.gz | tar -xzf- - name: Create dist folder run: mkdir ./dist - name: Build PCMG run: ./trunk build trunk-rack-designer: name: trunk rack-designer runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions-rs/toolchain@v1 with: profile: minimal toolchain: nightly target: wasm32-unknown-unknown override: true - name: Download and install Trunk binary run: wget -qO- https://github.com/thedodd/trunk/releases/latest/download/trunk-x86_64-unknown-linux-gnu.tar.gz | tar -xzf- - name: Create dist folder run: mkdir ./dist - name: Build rack-designer run: cd ./rack-designer && ../trunk build