mirror of
https://github.com/velopack/velopack.git
synced 2025-10-25 15:19:22 +00:00
84 lines
3.1 KiB
YAML
84 lines
3.1 KiB
YAML
name: Build Samples
|
|
on:
|
|
workflow_call:
|
|
|
|
jobs:
|
|
samples:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
sample:
|
|
- CPlusPlusWidgets
|
|
- CPlusPlusWin32
|
|
- CSharpAvalonia
|
|
- CSharpUno
|
|
- CSharpWpf
|
|
- NodeJSElectron
|
|
- PythonWXPython
|
|
- RustIced
|
|
os: [windows-latest, ubuntu-latest, macos-latest]
|
|
exclude:
|
|
- os: ubuntu-latest
|
|
sample: CPlusPlusWin32
|
|
- os: macos-latest
|
|
sample: CPlusPlusWin32
|
|
- os: ubuntu-latest
|
|
sample: CSharpWpf
|
|
- os: macos-latest
|
|
sample: CSharpWpf
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0
|
|
- name: Install wxWidgets (Windows)
|
|
working-directory: samples/${{ matrix.sample }}
|
|
run: |
|
|
curl -L -o wxWidgets-3.2.6-headers.7z https://github.com/wxWidgets/wxWidgets/releases/download/v3.2.6/wxWidgets-3.2.6-headers.7z
|
|
curl -L -o wxMSW-3.2.6_vc14x_x64_Dev.7z https://github.com/wxWidgets/wxWidgets/releases/download/v3.2.6/wxMSW-3.2.6_vc14x_x64_Dev.7z
|
|
curl -L -o wxMSW-3.2.6_vc14x_x64_ReleaseDLL.7z https://github.com/wxWidgets/wxWidgets/releases/download/v3.2.6/wxMSW-3.2.6_vc14x_x64_ReleaseDLL.7z
|
|
7z x wxWidgets-3.2.6-headers.7z -o".\wxWidgets" -y
|
|
7z x wxMSW-3.2.6_vc14x_x64_Dev.7z -o".\wxWidgets" -y
|
|
7z x wxMSW-3.2.6_vc14x_x64_ReleaseDLL.7z -o".\wxWidgets" -y
|
|
dir wxWidgets
|
|
if: ${{ matrix.sample == 'CPlusPlusWidgets' && matrix.os == 'windows-latest' }}
|
|
- name: Install wxWidgets (MacOS)
|
|
run: brew install wxwidgets
|
|
if: ${{ matrix.sample == 'CPlusPlusWidgets' && matrix.os == 'macos-latest' }}
|
|
- name: Install wxWidgets (Linux)
|
|
run: |
|
|
sudo apt update
|
|
sudo apt-cache search libwxgt*
|
|
sudo apt-cache search libgtk*
|
|
sudo apt install -y libwxgtk3.2-dev libgtk-3-dev
|
|
if: ${{ matrix.sample == 'CPlusPlusWidgets' && matrix.os == 'ubuntu-latest' }}
|
|
- name: Install uv
|
|
run: |
|
|
pip install uv
|
|
if: ${{ matrix.sample == 'PythonWXPython' }}
|
|
- name: Refresh uv.lock for wxPython
|
|
working-directory: samples/${{ matrix.sample }}
|
|
run: |
|
|
rm uv.lock
|
|
uv sync --find-links https://extras.wxpython.org/wxPython4/extras/linux/gtk3/ubuntu-24.04
|
|
if: ${{ matrix.sample == 'PythonWXPython' && matrix.os == 'ubuntu-latest' }}
|
|
- name: Setup dotnet
|
|
uses: actions/setup-dotnet@v4
|
|
with:
|
|
dotnet-version: |
|
|
6.0.x
|
|
8.0.x
|
|
9.0.x
|
|
if: ${{ startsWith(matrix.sample, 'CSharp') }}
|
|
- name: Install VPK
|
|
run: dotnet tool install -g vpk
|
|
- name: Pack Sample (Windows)
|
|
working-directory: samples/${{ matrix.sample }}
|
|
run: .\build.bat 1.0.0
|
|
if: ${{ matrix.os == 'windows-latest' }}
|
|
- name: Pack Sample (Unix)
|
|
working-directory: samples/${{ matrix.sample }}
|
|
run: |
|
|
chmod 755 ./build.sh
|
|
./build.sh 1.0.0
|
|
if: ${{ matrix.os == 'macos-latest' || matrix.os == 'ubuntu-latest' }} |