* Add artifact collection and upload steps to workflow * Change artifact upload method in test workflow Replaced the upload-artifact action with a custom bash script to handle artifact uploads. * Refactor artifact upload process in CI workflow Removed artifact collection step and added separate upload steps for macOS, Linux, and Windows artifacts.
79 lines
2.8 KiB
YAML
79 lines
2.8 KiB
YAML
name: "Build pull request"
|
|
on:
|
|
pull_request:
|
|
types: ['opened', 'synchronize']
|
|
|
|
jobs:
|
|
publish-tauri:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- platform: 'macos-latest'
|
|
args: '--target universal-apple-darwin'
|
|
- platform: 'ubuntu-22.04'
|
|
args: ''
|
|
- platform: 'windows-latest'
|
|
args: ''
|
|
|
|
runs-on: ${{ matrix.platform }}
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
with:
|
|
submodules: true
|
|
- name: Setup node
|
|
uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
|
|
with:
|
|
node-version-file: ".node-version"
|
|
package-manager-cache: false
|
|
- name: install Rust stable
|
|
uses: dtolnay/rust-toolchain@stable # They use branch based releases
|
|
with:
|
|
targets: ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }}
|
|
- name: Install dependencies (ubuntu only)
|
|
if: matrix.platform == 'ubuntu-22.04'
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
|
|
- name: Install cinny dependencies
|
|
run: cd cinny && npm ci
|
|
- name: Install tauri dependencies
|
|
run: npm ci
|
|
- name: Build desktop app with Tauri
|
|
uses: tauri-apps/tauri-action@73fb865345c54760d875b94642314f8c0c894afa # v0.6.1
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
NODE_OPTIONS: "--max_old_space_size=4096"
|
|
with:
|
|
args: ${{ matrix.args }} --config '{"bundle":{"createUpdaterArtifacts":false}}'
|
|
- name: Upload macOS artifacts
|
|
if: matrix.platform == 'macos-latest'
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
with:
|
|
name: release-artifacts-macos
|
|
path: |
|
|
src-tauri/target/universal-apple-darwin/release/bundle/macos/Cinny*.app
|
|
if-no-files-found: warn
|
|
|
|
- name: Upload Linux artifacts
|
|
if: matrix.platform == 'ubuntu-22.04'
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
with:
|
|
name: release-artifacts-linux
|
|
path: |
|
|
src-tauri/target/release/bundle/deb/Cinny_*.deb
|
|
src-tauri/target/release/bundle/rpm/Cinny-*.rpm
|
|
src-tauri/target/release/bundle/appimage/Cinny_*.AppImage
|
|
if-no-files-found: warn
|
|
|
|
- name: Upload Windows artifacts
|
|
if: matrix.platform == 'windows-latest'
|
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
|
with:
|
|
name: release-artifacts-windows
|
|
path: |
|
|
src-tauri/target/release/bundle/msi/Cinny_*_x64_*.msi
|
|
src-tauri/target/release/bundle/nsis/Cinny_*_x64-setup.exe
|
|
if-no-files-found: warn
|