apply clippy #52
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
on: [push, pull_request] | |
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: Cargo Check x86_64 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- run: sudo apt-get install librust-atk-dev libgtk-3-dev | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: check | |
args: --all-features | |
check_wasm: | |
name: Cargo Check wasm32 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
target: wasm32-unknown-unknown | |
override: true | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: check | |
args: --all-features --lib --target wasm32-unknown-unknown | |
test: | |
name: Unit Tests | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- run: sudo apt-get install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev libssl-dev librust-atk-dev 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: stable | |
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: stable | |
override: true | |
components: clippy | |
- run: sudo apt-get install librust-atk-dev libgtk-3-dev | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: clippy | |
args: -- -D warnings | |
trunk: | |
name: Build for Web | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
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: Build | |
run: ./trunk build --release | |
- name: Rename artifacts | |
run: mv dist vds-web | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: vds-web | |
path: ${{github.workspace}}/vds-web | |
build_linux_x86_64: | |
name: Build for Linux x86_64 (Ubuntu) | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
toolchain: stable | |
override: true | |
- run: sudo apt-get install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev libssl-dev librust-atk-dev libgtk-3-dev | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
args: --release | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: vds-linux-x86-64 | |
path: ${{github.workspace}}/target/release/vds | |
build_macos_intel: | |
name: Build for macOS (Intel) | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
target: x86_64-apple-darwin | |
toolchain: stable | |
override: true | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
args: --release --target x86_64-apple-darwin | |
- name: Build App Bundle | |
run: sh assets/macos_bundle/build_app_bundle.sh | |
# TODO: Needs proper a signature to work on other peoples computers | |
# - name: Install create-dmg | |
# run: brew install create-dmg | |
# - name: Create Disk Image | |
# run: sh assets/macos_bundle/build_dmg.sh | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: vds-macos-intel | |
path: "${{github.workspace}}/bundle" | |
build_macos_arm64: | |
name: Build for macOS (arm64) | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
target: aarch64-apple-darwin | |
toolchain: stable | |
override: true | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
args: --release --target aarch64-apple-darwin | |
- name: Build App Bundle | |
run: sh assets/macos_bundle/build_app_bundle.sh | |
# TODO: Needs proper a signature to work on other peoples computers | |
- name: Install create-dmg | |
run: brew install create-dmg | |
- name: Create Disk Image | |
run: sh assets/macos_bundle/build_dmg.sh | |
# It appears that the .zip process of GitHub itself breaks App Bundle and removes the executable properties | |
- name: Zip App Bundle | |
run: zip -r vds.zip bundle | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: vds-macos-arm64-zip | |
path: "${{github.workspace}}/vds.zip" | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: vds-macos-arm64-bin | |
path: "${{github.workspace}}/target/aarch64-apple-darwin/release/vds" | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: vds-macos-arm64 | |
path: "${{github.workspace}}/bundle" | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: vds-macos-arm64-dmg | |
path: "${{github.workspace}}/Volume Data Suite.dmg" | |
build_windows: | |
name: Build for Windows | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
profile: minimal | |
target: x86_64-pc-windows-msvc | |
toolchain: stable | |
override: true | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
args: --release --target x86_64-pc-windows-msvc | |
- name: Upload artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: vds-windows | |
path: ${{github.workspace}}/target/x86_64-pc-windows-msvc/release/vds.exe |