chore: Release lan-mouse version 0.5.1 #132
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: "pre-release" | |
on: | |
push: | |
branches: [ "main" ] | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
linux-release-build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- 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: Release Build | |
run: cargo build --release | |
- name: Upload build artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: lan-mouse-linux | |
path: target/release/lan-mouse | |
windows-release-build: | |
runs-on: windows-latest | |
steps: | |
- 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 | |
pipx 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" | |
- uses: actions/checkout@v3 | |
- name: Release Build | |
run: cargo build --release | |
- name: Create Archive | |
run: | | |
mkdir "lan-mouse-windows" | |
Get-Childitem -Path "C:\\gtk-build\\gtk\\x64\\release\\bin\\*.dll" -File -Recurse | Copy-Item -Destination "lan-mouse-windows" | |
Copy-Item -Path "target\release\lan-mouse.exe" -Destination "lan-mouse-windows" | |
Compress-Archive -Path "lan-mouse-windows\*" -DestinationPath lan-mouse-windows.zip | |
- name: Upload build artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: lan-mouse-windows | |
path: lan-mouse-windows.zip | |
macos-release-build: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: install dependencies | |
run: brew install gtk4 libadwaita | |
- name: Release Build | |
run: | | |
cargo build --release | |
cp target/release/lan-mouse lan-mouse-macos-intel | |
- name: Upload build artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: lan-mouse-macos | |
path: lan-mouse-macos-intel | |
pre-release: | |
name: "Pre Release" | |
needs: [windows-release-build, linux-release-build, macos-release-build] | |
runs-on: "ubuntu-latest" | |
steps: | |
- name: Download build artifacts | |
uses: actions/download-artifact@v3 | |
- name: Create Release | |
uses: "marvinpinto/action-automatic-releases@latest" | |
with: | |
repo_token: "${{ secrets.GITHUB_TOKEN }}" | |
automatic_release_tag: "latest" | |
prerelease: true | |
title: "Development Build" | |
files: | | |
lan-mouse-linux/lan-mouse | |
lan-mouse-macos/lan-mouse-macos-intel | |
lan-mouse-windows/lan-mouse-windows.zip |