🎨 Optimize the icon issues under Windows and Linux during release
This commit is contained in:
81
.github/workflows/quality-and-test.yml
vendored
81
.github/workflows/quality-and-test.yml
vendored
@@ -146,10 +146,83 @@ jobs:
|
||||
fi
|
||||
echo "Integration test completed (expected to timeout)"
|
||||
|
||||
release-build-test:
|
||||
name: Release Build Test (${{ matrix.os }})
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-latest, windows-latest, macos-latest]
|
||||
fail-fast: false
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 22
|
||||
cache: "npm"
|
||||
|
||||
- name: Install Rust (Ubuntu)
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
uses: dtolnay/rust-toolchain@stable
|
||||
with:
|
||||
toolchain: stable
|
||||
target: x86_64-unknown-linux-gnu
|
||||
|
||||
- name: Install Rust (Windows)
|
||||
if: matrix.os == 'windows-latest'
|
||||
uses: dtolnay/rust-toolchain@stable
|
||||
with:
|
||||
toolchain: stable-x86_64-msvc
|
||||
target: x86_64-pc-windows-msvc
|
||||
|
||||
- name: Install Rust (macOS)
|
||||
if: matrix.os == 'macos-latest'
|
||||
uses: dtolnay/rust-toolchain@stable
|
||||
with:
|
||||
toolchain: stable
|
||||
target: x86_64-apple-darwin
|
||||
|
||||
- name: Add macOS targets
|
||||
if: matrix.os == 'macos-latest'
|
||||
run: |
|
||||
rustup target add aarch64-apple-darwin
|
||||
rustup target add x86_64-apple-darwin
|
||||
|
||||
- name: Install system dependencies (Ubuntu)
|
||||
if: matrix.os == 'ubuntu-latest'
|
||||
uses: awalsh128/cache-apt-pkgs-action@v1.4.3
|
||||
with:
|
||||
packages: libdbus-1-dev libsoup-3.0-dev libjavascriptcoregtk-4.1-dev libwebkit2gtk-4.1-dev build-essential curl wget file libxdo-dev libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-dev gnome-video-effects gnome-video-effects-extra
|
||||
version: 1.1
|
||||
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Build CLI
|
||||
run: npm run cli:build
|
||||
|
||||
- name: Run Release Build Test
|
||||
run: ./tests/release.js
|
||||
timeout-minutes: 30
|
||||
env:
|
||||
CI: true
|
||||
NODE_ENV: test
|
||||
|
||||
- name: List generated files
|
||||
shell: bash
|
||||
run: |
|
||||
echo "Generated files in project root:"
|
||||
find . -maxdepth 1 \( -name "*.dmg" -o -name "*.app" -o -name "*.msi" -o -name "*.deb" -o -name "*.AppImage" \) || echo "No direct output files found"
|
||||
echo ""
|
||||
echo "Generated files in target directories:"
|
||||
find src-tauri/target -name "*.dmg" -o -name "*.app" -o -name "*.msi" -o -name "*.deb" -o -name "*.AppImage" 2>/dev/null || echo "No target output files found"
|
||||
|
||||
summary:
|
||||
name: Quality Summary
|
||||
runs-on: ubuntu-latest
|
||||
needs: [formatting, rust-quality, cli-tests]
|
||||
needs: [formatting, rust-quality, cli-tests, release-build-test]
|
||||
if: always()
|
||||
steps:
|
||||
- name: Generate Summary
|
||||
@@ -174,3 +247,9 @@ jobs:
|
||||
else
|
||||
echo "❌ **CLI Tests**: FAILED" >> $GITHUB_STEP_SUMMARY
|
||||
fi
|
||||
|
||||
if [ "${{ needs.release-build-test.result }}" == "success" ]; then
|
||||
echo "✅ **Release Build Test**: PASSED" >> $GITHUB_STEP_SUMMARY
|
||||
else
|
||||
echo "❌ **Release Build Test**: FAILED" >> $GITHUB_STEP_SUMMARY
|
||||
fi
|
||||
|
||||
15
.github/workflows/release.yml
vendored
15
.github/workflows/release.yml
vendored
@@ -55,21 +55,20 @@ jobs:
|
||||
id: read-apps-config
|
||||
run: |
|
||||
echo "apps_name=$(jq -c '[.[] | .name]' default_app_list.json)" >> $GITHUB_OUTPUT
|
||||
echo "apps_config=$(jq -c '[.[]]' default_app_list.json)" >> $GITHUB_OUTPUT
|
||||
echo "apps_config=$(jq -c '.' default_app_list.json)" >> $GITHUB_OUTPUT
|
||||
|
||||
build-popular-apps:
|
||||
needs: release-apps
|
||||
if: needs.release-apps.result == 'success'
|
||||
strategy:
|
||||
matrix:
|
||||
name: ${{ fromJson(needs.release-apps.outputs.apps_name) }}
|
||||
include: ${{ fromJSON(needs.release-apps.outputs.apps_config) }}
|
||||
uses: ./.github/workflows/pake_build_single_app.yaml
|
||||
config: ${{ fromJSON(needs.release-apps.outputs.apps_config) }}
|
||||
uses: ./.github/workflows/single-app.yaml
|
||||
with:
|
||||
name: ${{ matrix.name }}
|
||||
title: ${{ matrix.title }}
|
||||
name_zh: ${{ matrix.name_zh }}
|
||||
url: ${{ matrix.url }}
|
||||
name: ${{ matrix.config.name }}
|
||||
title: ${{ matrix.config.title }}
|
||||
name_zh: ${{ matrix.config.name_zh }}
|
||||
url: ${{ matrix.config.url }}
|
||||
|
||||
# Publish Docker image (runs in parallel with app builds)
|
||||
publish-docker:
|
||||
|
||||
Reference in New Issue
Block a user