Initial commit with working implementation #232
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
name: Software CI Checks | |
on: | |
push: | |
env: | |
CARGO_TERM_COLOR: always | |
CARGO_NET_GIT_FETCH_WITH_CLI: true | |
jobs: | |
# Enable later | |
#freebsd-cross-build: | |
# name: Cross-Build for FreeBSD | |
# runs-on: 'ubuntu-22.04' | |
# steps: | |
# - uses: actions/checkout@v3 | |
# - name: Setup Rust toolchain | |
# run: rustup show | |
# - name: Install cross compilation tool | |
# run: cargo install cross | |
# - name: Build FreeBSD tool | |
# run: cross build --target=x86_64-unknown-freebsd | |
# - name: Upload FreeBSD App | |
# uses: actions/upload-artifact@v3 | |
# with: | |
# name: qmk_hid_freebsd | |
# path: target/x86_64-unknown-freebsd/debug/qmk_hid | |
build: | |
name: Build Linux | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libudev-dev libasound2-dev | |
- name: Setup Rust toolchain | |
run: rustup show | |
- name: Build Linux tool | |
run: cargo build --release --target x86_64-unknown-linux-gnu -p inputmodule-control | |
- name: Check if Linux tool can start | |
run: cargo run --release --target x86_64-unknown-linux-gnu -p inputmodule-control -- --help | |
- name: Upload Linux tool | |
uses: actions/upload-artifact@v3 | |
with: | |
name: inputmodule-control | |
path: target/x86_64-unknown-linux-gnu/release/inputmodule-control | |
build-windows: | |
name: Build Windows | |
runs-on: windows-2022 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup Rust toolchain | |
run: rustup show | |
- name: Build Windows tool | |
run: cargo build --release --target x86_64-pc-windows-msvc -p inputmodule-control | |
- name: Check if Windows tool can start | |
run: cargo run --release --target x86_64-pc-windows-msvc -p inputmodule-control -- --help | |
- name: Upload Windows App | |
uses: actions/upload-artifact@v3 | |
with: | |
name: inputmodule-control.exe | |
path: target/x86_64-pc-windows-msvc/release/inputmodule-control.exe | |
# Or manually with | |
# pyinstaller --onefile --windowed --add-data 'res;res' ledmatrix_control.py | |
build-gui: | |
name: Build GUI | |
runs-on: windows-latest | |
# runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Create Executable | |
uses: Martin005/pyinstaller-action@main | |
with: | |
python_ver: '3.11' | |
spec: ledmatrix_control.py #'src/build.spec' | |
requirements: 'requirements.txt' | |
upload_exe_with_name: 'ledmatrix_control.py' | |
options: --onefile, --windowed, --add-data 'res;res' | |
lints: | |
name: Lints | |
runs-on: ubuntu-22.04 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libudev-dev libasound2-dev | |
- name: Setup Rust toolchain | |
run: rustup show | |
- name: Run cargo fmt | |
run: cargo fmt -p inputmodule-control -- --check | |
- name: Run cargo clippy | |
run: cargo clippy --target x86_64-unknown-linux-gnu -p inputmodule-control -- -D warnings |