Encryption #938
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: Rust | |
on: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
branches: [ "main" ] | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
build-linux: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install libx11-dev libxtst-dev | |
sudo apt-get install libadwaita-1-dev libgtk-4-dev | |
- name: Build | |
run: cargo build --verbose | |
- name: Run tests | |
run: cargo test --verbose | |
- name: Check Formatting | |
run: cargo fmt --check | |
- name: Clippy | |
run: cargo clippy --all-features --all-targets -- --deny warnings | |
- name: Upload build artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: lan-mouse | |
path: target/debug/lan-mouse | |
build-windows: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: '3.11' | |
# needed for cache restore | |
- name: create gtk dir | |
run: mkdir C:\gtk-build\gtk\x64\release | |
- uses: actions/cache@v3 | |
id: cache | |
with: | |
path: c:/gtk-build/gtk/x64/release/** | |
key: gtk-windows-build | |
restore-keys: gtk-windows-build | |
- name: Update path | |
run: | | |
echo "PKG_CONFIG=C:\gtk-build\gtk\x64\release\bin\pkgconf.exe" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append | |
echo "C:\pkg-config-lite-0.28-1\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | |
echo "C:\gtk-build\gtk\x64\release\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | |
echo $env:GITHUB_PATH | |
echo $env:PATH | |
- name: Install dependencies | |
if: steps.cache.outputs.cache-hit != 'true' | |
run: | | |
# choco install msys2 | |
# choco install visualstudio2022-workload-vctools | |
# choco install pkgconfiglite | |
py -m venv .venv | |
.venv\Scripts\activate.ps1 | |
py -m pip install gvsbuild | |
# see https://github.com/wingtk/gvsbuild/pull/1004 | |
Move-Item "C:\Program Files\Git\usr\bin" "C:\Program Files\Git\usr\notbin" | |
Move-Item "C:\Program Files\Git\bin" "C:\Program Files\Git\notbin" | |
gvsbuild build --msys-dir=C:\msys64 gtk4 libadwaita librsvg | |
Move-Item "C:\Program Files\Git\usr\notbin" "C:\Program Files\Git\usr\bin" | |
Move-Item "C:\Program Files\Git\notbin" "C:\Program Files\Git\bin" | |
- name: Build | |
run: cargo build --verbose | |
- name: Run tests | |
run: cargo test --verbose | |
- name: Check Formatting | |
run: cargo fmt --check | |
- name: Clippy | |
run: cargo clippy --all-features --all-targets -- --deny warnings | |
- name: Copy Gtk Dlls | |
run: Get-Childitem -Path "C:\\gtk-build\\gtk\\x64\\release\\bin\\*.dll" -File -Recurse | Copy-Item -Destination "target\\debug" | |
- name: Upload build artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: lan-mouse-windows | |
path: | | |
target/debug/lan-mouse.exe | |
target/debug/*.dll | |
build-macos: | |
runs-on: macos-13 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: install dependencies | |
run: brew install gtk4 libadwaita | |
- name: Build | |
run: cargo build --verbose | |
- name: Run tests | |
run: cargo test --verbose | |
- name: Check Formatting | |
run: cargo fmt --check | |
- name: Clippy | |
run: cargo clippy --all-features --all-targets -- --deny warnings | |
- name: Upload build artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: lan-mouse-macos | |
path: target/debug/lan-mouse | |
build-macos-aarch64: | |
runs-on: macos-14 | |
steps: | |
- uses: actions/checkout@v4 | |
- name: install dependencies | |
run: brew install gtk4 libadwaita | |
- name: Build | |
run: cargo build --verbose | |
- name: Run tests | |
run: cargo test --verbose | |
- name: Check Formatting | |
run: cargo fmt --check | |
- name: Clippy | |
run: cargo clippy --all-features --all-targets -- --deny warnings | |
- name: Upload build artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: lan-mouse-macos-aarch64 | |
path: target/debug/lan-mouse |