Merge pull request #25 from FrameworkComputer/readme #115
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: CI | |
on: | |
push: | |
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 | |
- name: Setup Rust toolchain | |
run: rustup show | |
- name: Build Linux tool | |
run: | | |
cargo build | |
cargo build --release | |
- name: Check if Linux tool can start | |
run: cargo run -- --help | |
- name: Upload Linux Debug tool | |
uses: actions/upload-artifact@v3 | |
with: | |
name: qmk_hid_debug_linux | |
path: target/debug/qmk_hid | |
- name: Upload Linux Relase tool | |
uses: actions/upload-artifact@v3 | |
with: | |
name: qmk_hid_linux | |
path: target/release/qmk_hid | |
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 | |
cargo build --release | |
- name: Check if Windows tool can start | |
run: cargo run -- --help | |
- name: Upload Windows Debug App | |
uses: actions/upload-artifact@v3 | |
with: | |
name: qmk_hid_debug_windows | |
path: target/debug/qmk_hid.exe | |
- name: Upload Windows Release App | |
uses: actions/upload-artifact@v3 | |
with: | |
name: qmk_hid_windows | |
path: target/release/qmk_hid.exe | |
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 | |
- name: Setup Rust toolchain | |
run: rustup show | |
- name: Run cargo fmt | |
run: cargo fmt --all -- --check | |
- name: Run cargo clippy | |
run: cargo clippy -- -D warnings | |
build-gui: | |
name: Build GUI | |
runs-on: windows-2022 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Download releases to bundle | |
run: | | |
mkdir releases | |
mkdir releases\0.2.3 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.2.3/framework_ansi_default_v0.2.3.uf2 -OutFile releases\0.2.3\framework_ansi_default.uf2 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.2.3/framework_iso_default_v0.2.3.uf2 -OutFile releases\0.2.3\framework_iso_default.uf2 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.2.3/framework_jis_default_v0.2.3.uf2 -OutFile releases\0.2.3\framework_jis_default.uf2 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.2.3/framework_numpad_default_v0.2.3.uf2 -OutFile releases\0.2.3\framework_numpad_default.uf2 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.2.3/framework_macropad_default_v0.2.3.uf2 -OutFile releases\0.2.3\framework_macropad_default.uf2 | |
mkdir releases\0.2.2 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.2.2/framework_ansi_default_v0.2.2.uf2 -OutFile releases\0.2.2\framework_ansi_default.uf2 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.2.2/framework_iso_default_v0.2.2.uf2 -OutFile releases\0.2.2\framework_iso_default.uf2 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.2.2/framework_jis_default_v0.2.2.uf2 -OutFile releases\0.2.2\framework_jis_default.uf2 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.2.2/framework_numpad_default_v0.2.2.uf2 -OutFile releases\0.2.2\framework_numpad_default.uf2 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.2.2/framework_macropad_default_v0.2.2.uf2 -OutFile releases\0.2.2\framework_macropad_default.uf2 | |
mkdir releases\0.2.1 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.2.1/framework_ansi_default_v0.2.1.uf2 -OutFile releases\0.2.1\framework_ansi_default.uf2 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.2.1/framework_iso_default_v0.2.1.uf2 -OutFile releases\0.2.1\framework_iso_default.uf2 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.2.1/framework_jis_default_v0.2.1.uf2 -OutFile releases\0.2.1\framework_jis_default.uf2 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.2.1/framework_numpad_default_v0.2.1.uf2 -OutFile releases\0.2.1\framework_numpad_default.uf2 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.2.1/framework_macropad_default_v0.2.1.uf2 -OutFile releases\0.2.1\framework_macropad_default.uf2 | |
mkdir releases\0.2.0 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.2.0/framework_ansi_default_v0.2.0.uf2 -OutFile releases\0.2.0\framework_ansi_default.uf2 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.2.0/framework_iso_default_v0.2.0.uf2 -OutFile releases\0.2.0\framework_iso_default.uf2 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.2.0/framework_jis_default_v0.2.0.uf2 -OutFile releases\0.2.0\framework_jis_default.uf2 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.2.0/framework_numpad_default_v0.2.0.uf2 -OutFile releases\0.2.0\framework_numpad_default.uf2 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.2.0/framework_macropad_default_v0.2.0.uf2 -OutFile releases\0.2.0\framework_macropad_default.uf2 | |
mkdir releases\0.1.9 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.1.9/framework_ansi_default_v0.1.9.uf2 -OutFile releases\0.1.9\framework_ansi_default.uf2 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.1.9/framework_iso_default_v0.1.9.uf2 -OutFile releases\0.1.9\framework_iso_default.uf2 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.1.9/framework_jis_default_v0.1.9.uf2 -OutFile releases\0.1.9\framework_jis_default.uf2 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.1.9/framework_numpad_default_v0.1.9.uf2 -OutFile releases\0.1.9\framework_numpad_default.uf2 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.1.9/framework_macropad_default_v0.1.9.uf2 -OutFile releases\0.1.9\framework_macropad_default.uf2 | |
mkdir releases\0.1.8 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.1.8/framework_ansi_default.uf2 -OutFile releases\0.1.8\framework_ansi_default.uf2 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.1.8/framework_iso_default.uf2 -OutFile releases\0.1.8\framework_iso_default.uf2 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.1.8/framework_jis_default.uf2 -OutFile releases\0.1.8\framework_jis_default.uf2 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.1.8/framework_numpad_default.uf2 -OutFile releases\0.1.8\framework_numpad_default.uf2 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.1.8/framework_gridpad_default.uf2 -OutFile releases\0.1.8\framework_gridpad_default.uf2 | |
mkdir releases\0.1.7 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.1.7/framework_ansi_default_v0.1.7.uf2 -OutFile releases\0.1.7\framework_ansi_default.uf2 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.1.7/framework_iso_default_v0.1.7.uf2 -OutFile releases\0.1.7\framework_iso_default.uf2 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.1.7/framework_jis_default_v0.1.7.uf2 -OutFile releases\0.1.7\framework_jis_default.uf2 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.1.7/framework_numpad_default_v0.1.7.uf2 -OutFile releases\0.1.7\framework_numpad_default.uf2 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.1.7/framework_gridpad_default_v0.1.7.uf2 -OutFile releases\0.1.7\framework_gridpad_default.uf2 | |
mkdir releases\0.1.6 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.1.6/framework_ansi_default.uf2 -OutFile releases\0.1.6\framework_ansi_default.uf2 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.1.6/framework_iso_default.uf2 -OutFile releases\0.1.6\framework_iso_default.uf2 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.1.6/framework_jis_default.uf2 -OutFile releases\0.1.6\framework_jis_default.uf2 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.1.6/framework_numpad_default.uf2 -OutFile releases\0.1.6\framework_numpad_default.uf2 | |
Invoke-WebRequest -Uri https://github.com/FrameworkComputer/qmk_firmware/releases/download/v0.1.6/framework_gridpad_default.uf2 -OutFile releases\0.1.6\framework_gridpad_default.uf2 | |
# To run locally, need to make sure to include the pywin32 DLL | |
# pyinstaller --onefile, --name "qmk_gui", --windowed, --add-data "releases;releases" --path C:\users\skype\appdata\local\packages\pythonsoftwarefoundation.python.3.11_qbz5n2kfra8p0\localcache\local-packages\Python311\site-packages\pywin32_system32 --icon=res\logo_cropped_transparent_keyboard_48x48.ico --add-data 'res;res' qmk_gui.py | |
- name: Create Executable | |
uses: JohnAZoidberg/pyinstaller-action@dont-clean | |
with: | |
python_ver: '3.11' | |
spec: qmk_gui.py | |
requirements: 'requirements.txt' | |
upload_exe_with_name: 'qmk_gui.exe' | |
options: --onefile, --name "qmk_gui", --windowed, --add-data "releases;releases" --icon=res/logo_cropped_transparent_keyboard_48x48.ico --add-data 'res;res' |