Add high-noise/low-noise LoRA support and fuzzy model search #11
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Nightly Build | |
| on: | |
| push: | |
| branches: [main] | |
| schedule: | |
| # Run at 2:00 AM UTC every day | |
| - cron: '0 2 * * *' | |
| workflow_dispatch: | |
| jobs: | |
| check-changes: | |
| # Only check for changes on scheduled runs | |
| if: github.event_name == 'schedule' | |
| runs-on: ubuntu-latest | |
| outputs: | |
| should_build: ${{ steps.check.outputs.should_build }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 2 | |
| - name: Check for changes in last 24 hours | |
| id: check | |
| run: | | |
| LATEST_COMMIT=$(git log -1 --format=%ct) | |
| YESTERDAY=$(date -d '24 hours ago' +%s) | |
| if [ "$LATEST_COMMIT" -gt "$YESTERDAY" ]; then | |
| echo "should_build=true" >> $GITHUB_OUTPUT | |
| else | |
| echo "should_build=false" >> $GITHUB_OUTPUT | |
| fi | |
| build: | |
| needs: check-changes | |
| # Build on push, workflow_dispatch, or if scheduled and has changes | |
| if: always() && (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || needs.check-changes.outputs.should_build == 'true') | |
| strategy: | |
| matrix: | |
| include: | |
| - os: ubuntu-latest | |
| platform: linux | |
| - os: windows-latest | |
| platform: win | |
| - os: macos-latest | |
| platform: mac | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build application | |
| run: npm run build | |
| - name: Build for ${{ matrix.platform }} | |
| run: npm run build:${{ matrix.platform }} | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: wavespeed-desktop-nightly-${{ matrix.platform }} | |
| path: | | |
| dist/*.exe | |
| dist/*.dmg | |
| dist/*.zip | |
| dist/*.AppImage | |
| dist/*.deb | |
| if-no-files-found: ignore | |
| retention-days: 7 | |
| create-nightly-release: | |
| needs: build | |
| # Run if build succeeded (handles skipped check-changes job) | |
| if: always() && needs.build.result == 'success' | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| steps: | |
| - name: Download all artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: artifacts | |
| - name: Get current date | |
| id: date | |
| run: echo "date=$(date +'%Y%m%d')" >> $GITHUB_OUTPUT | |
| - name: Delete existing nightly release | |
| uses: dev-drprasad/[email protected] | |
| with: | |
| tag_name: nightly | |
| github_token: ${{ secrets.GITHUB_TOKEN }} | |
| delete_release: true | |
| continue-on-error: true | |
| - name: Create Nightly Release | |
| uses: softprops/action-gh-release@v1 | |
| with: | |
| tag_name: nightly | |
| name: Nightly Build (${{ steps.date.outputs.date }}) | |
| body: | | |
| ## Nightly Build | |
| Automated nightly build from `main` branch. | |
| **Build Date:** ${{ steps.date.outputs.date }} | |
| **Commit:** ${{ github.sha }} | |
| > This is a pre-release build and may be unstable. | |
| ### Downloads | |
| - **Windows:** `.exe` (installer) or `.zip` | |
| - **macOS:** `.dmg` or `.zip` | |
| - **Linux:** `.AppImage` or `.deb` | |
| files: artifacts/**/* | |
| prerelease: true | |
| draft: false | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |