mirror of
https://github.com/feschber/lan-mouse.git
synced 2026-03-07 11:59:59 +03:00
The gtk frontend can now be built in windows! The github workflow is updated to build GTK and add it to the releases section.
110 lines
3.5 KiB
YAML
110 lines
3.5 KiB
YAML
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: Copy Gtk Dlls
|
|
run: Get-Childitem -Path "C:\\gtk-build\\gtk\\x64\\release\\bin\\*.dll" -File -Recurse | Copy-Item -Destination "target\\release"
|
|
- name: Upload build artifact
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: lan-mouse-windows
|
|
path: |
|
|
target/release/lan-mouse.exe
|
|
target/release/*.dll
|
|
|
|
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
|
|
- name: Upload build artifact
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: lan-mouse-macos
|
|
path: target/release/lan-mouse
|
|
|
|
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-windows/lan-mouse.exe
|
|
lan-mouse-macos/lan-mouse
|