mirror of
https://github.com/velopack/velopack.git
synced 2025-10-25 15:19:22 +00:00
Try building samples in a matrix
This commit is contained in:
114
.github/workflows/build.yml
vendored
114
.github/workflows/build.yml
vendored
@@ -151,6 +151,7 @@ jobs:
|
||||
|
||||
test-bins:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [macos-latest, windows-latest, ubuntu-latest]
|
||||
include:
|
||||
@@ -166,6 +167,14 @@ jobs:
|
||||
key: "rust-test-${{ matrix.os }}"
|
||||
- name: Install cargo-llvm-cov
|
||||
uses: taiki-e/install-action@cargo-llvm-cov
|
||||
- name: Check lib-rust
|
||||
run: cargo check -p velopack -F async,delta
|
||||
- name: Check lib-nodejs
|
||||
working-directory: src/lib-nodejs
|
||||
run: |
|
||||
npm install
|
||||
npm run build
|
||||
npm run test
|
||||
- name: Test Rust
|
||||
run: cargo llvm-cov ${{ matrix.rust_flags }} --cobertura --output-path ./test/coverage.rust.${{ matrix.os }}.xml
|
||||
- name: Upload Coverage
|
||||
@@ -173,51 +182,92 @@ jobs:
|
||||
with:
|
||||
files: ./test/coverage.rust.${{ matrix.os }}.xml
|
||||
|
||||
check-libs:
|
||||
# check-libs:
|
||||
# strategy:
|
||||
# fail-fast: false
|
||||
# matrix:
|
||||
# os: [macos-latest, windows-latest, ubuntu-latest]
|
||||
# runs-on: ${{ matrix.os }}
|
||||
# steps:
|
||||
# - uses: actions/checkout@v4
|
||||
# with:
|
||||
# fetch-depth: 0
|
||||
# - name: Check lib-rust
|
||||
# run: cargo check -p velopack -F async,delta
|
||||
# # - name: Check RustIced Sample
|
||||
# # working-directory: samples/RustIced
|
||||
# # run: cargo check
|
||||
# - name: Check lib-nodejs
|
||||
# working-directory: src/lib-nodejs
|
||||
# run: |
|
||||
# npm install
|
||||
# npm run build
|
||||
# npm run test
|
||||
# # - name: Check NodeJSElectron Sample
|
||||
# # working-directory: samples/NodeJSElectron
|
||||
# # run: |
|
||||
# # npm install
|
||||
# # npm run typecheck
|
||||
# # - name: Check CPlusPlusWin32 Sample
|
||||
# # working-directory: samples/CPlusPlusWin32
|
||||
# # run: |
|
||||
# # dotnet tool install -g vpk
|
||||
# # .\build.bat 1.0.0
|
||||
# # if: ${{ matrix.os == 'windows-latest' }}
|
||||
# # - name: Install CPlusPlusWidgets Dependencies
|
||||
# # run: |
|
||||
# # sudo apt-cache search libwxgt*
|
||||
# # sudo apt install -y libwxgtk3.0-dev
|
||||
# # if: ${{ matrix.os == 'ubuntu-latest' }}
|
||||
# # - name: Check CPlusPlusWidgets Sample
|
||||
# # working-directory: samples/CPlusPlusWidgets
|
||||
# # run: |
|
||||
# # cargo build -p velopack_libc
|
||||
# # cmake -S . -B build-rel -D CMAKE_BUILD_TYPE=Release
|
||||
# # cmake --build build-rel -j --config Release
|
||||
|
||||
check-samples:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
sample: [CPlusPlusWidgets, CPlusPlusWin32, CSharpAvalonia, CSharpWpf, NodeJSElectron, RustIced]
|
||||
os: [macos-latest, windows-latest, ubuntu-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: Check lib-rust
|
||||
run: cargo check -p velopack -F async,delta
|
||||
- name: Check RustIced Sample
|
||||
working-directory: samples/RustIced
|
||||
run: cargo check
|
||||
- name: Check lib-nodejs
|
||||
working-directory: src/lib-nodejs
|
||||
run: |
|
||||
npm install
|
||||
npm run build
|
||||
npm run test
|
||||
- name: Check NodeJSElectron Sample
|
||||
working-directory: samples/NodeJSElectron
|
||||
run: |
|
||||
npm install
|
||||
npm run typecheck
|
||||
- name: Check CPlusPlusWin32 Sample
|
||||
working-directory: samples/CPlusPlusWin32
|
||||
run: |
|
||||
dotnet tool install -g vpk
|
||||
.\build.bat 1.0.0
|
||||
if: ${{ matrix.os == 'windows-latest' }}
|
||||
- name: Install CPlusPlusWidgets Dependencies
|
||||
- name: Install GTK3
|
||||
run: |
|
||||
sudo apt-cache search libwxgt*
|
||||
sudo apt install -y libwxgtk3.0-dev
|
||||
sudo apt-cache search libgtk*
|
||||
sudo apt install -y libwxgtk3.0-gtk3-dev libgtk-3-dev
|
||||
if: ${{ matrix.os == 'ubuntu-latest' }}
|
||||
- name: Check CPlusPlusWidgets Sample
|
||||
working-directory: samples/CPlusPlusWidgets
|
||||
- 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: |
|
||||
cargo build -p velopack_libc
|
||||
cmake -S. -Bbuild-rel -DCMAKE_BUILD_TYPE=Release
|
||||
cmake --build build-rel -j --config Release
|
||||
|
||||
chmod 755 ./build.sh
|
||||
./build.sh 1.0.0
|
||||
if: ${{ matrix.os == 'macos-latest' || matrix.os == 'ubuntu-latest' }}
|
||||
|
||||
test-vpk:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [macos-latest, windows-latest, ubuntu-latest]
|
||||
runs-on: ${{ matrix.os }}
|
||||
@@ -387,7 +437,7 @@ jobs:
|
||||
|
||||
release:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [package, test-vpk, test-bins, check-libs]
|
||||
needs: [package, test-vpk, test-bins, check-samples]
|
||||
if: github.event_name == 'push' && github.ref == 'refs/heads/master'
|
||||
steps:
|
||||
- name: Invoke Release Workflow
|
||||
|
||||
Reference in New Issue
Block a user