fix: allow decimal values in FPS input fields #7
Workflow file for this run
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: Release | |
| # Trigger the workflow when a new tag is created | |
| # The tag should follow semantic versioning (e.g., v1.3.0, 1.4.0) | |
| on: | |
| push: | |
| tags: | |
| - 'v*' | |
| - '*.*.*' | |
| jobs: | |
| build: | |
| runs-on: ${{ matrix.os }} | |
| # Permissions needed in case electron-builder tries to publish | |
| permissions: | |
| contents: read | |
| # Build for multiple platforms in parallel | |
| strategy: | |
| matrix: | |
| os: [windows-latest, macos-latest, ubuntu-latest] | |
| include: | |
| - os: windows-latest | |
| platform: win | |
| - os: macos-latest | |
| platform: mac | |
| - os: ubuntu-latest | |
| platform: linux | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '18' | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Build application | |
| run: npm run build | |
| env: | |
| # Disable automatic publishing by electron-builder | |
| # We handle releases through the release job instead | |
| PUBLISH: never | |
| - name: Extract version from package.json | |
| id: get_version | |
| run: | | |
| VERSION=$(node -p "require('./package.json').version") | |
| echo "version=$VERSION" >> $GITHUB_OUTPUT | |
| echo "Extracted version: $VERSION" | |
| shell: bash | |
| - name: Prepare release artifacts | |
| shell: bash | |
| run: | | |
| # Create a directory for artifacts | |
| mkdir -p release-artifacts | |
| # Copy built files based on platform | |
| if [ "${{ matrix.platform }}" == "win" ]; then | |
| # Windows: Copy NSIS installer and related files | |
| cp "dist/Frame Chopper Setup ${{ steps.get_version.outputs.version }}.exe" release-artifacts/ || true | |
| cp "dist/latest.yml" release-artifacts/ || true | |
| # Also copy the blockmap if it exists | |
| cp "dist/"*.blockmap release-artifacts/ || true | |
| elif [ "${{ matrix.platform }}" == "mac" ]; then | |
| # macOS: Copy DMG file | |
| cp "dist/"*.dmg release-artifacts/ || true | |
| cp "dist/latest.yml" release-artifacts/ || true | |
| elif [ "${{ matrix.platform }}" == "linux" ]; then | |
| # Linux: Copy AppImage file | |
| cp "dist/"*.AppImage release-artifacts/ || true | |
| cp "dist/latest.yml" release-artifacts/ || true | |
| fi | |
| - name: Upload build artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ matrix.platform }}-build-${{ steps.get_version.outputs.version }} | |
| path: release-artifacts/* | |
| retention-days: 30 | |
| release: | |
| needs: build | |
| runs-on: ubuntu-latest | |
| if: github.ref_type == 'tag' | |
| # Permissions needed to create releases | |
| permissions: | |
| contents: write | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Extract version from package.json | |
| id: get_version | |
| run: | | |
| VERSION=$(node -p "require('./package.json').version") | |
| echo "version=$VERSION" >> $GITHUB_OUTPUT | |
| echo "Extracted version: $VERSION" | |
| - name: Download Windows build artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: win-build-${{ steps.get_version.outputs.version }} | |
| path: ./release-artifacts/win | |
| - name: Download macOS build artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: mac-build-${{ steps.get_version.outputs.version }} | |
| path: ./release-artifacts/mac | |
| continue-on-error: true | |
| - name: Download Linux build artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: linux-build-${{ steps.get_version.outputs.version }} | |
| path: ./release-artifacts/linux | |
| continue-on-error: true | |
| - name: List downloaded artifacts | |
| shell: bash | |
| run: | | |
| echo "Windows artifacts:" | |
| ls -la ./release-artifacts/win/ || echo "No Windows artifacts found" | |
| echo "" | |
| echo "macOS artifacts:" | |
| ls -la ./release-artifacts/mac/ || echo "No macOS artifacts found" | |
| echo "" | |
| echo "Linux artifacts:" | |
| ls -la ./release-artifacts/linux/ || echo "No Linux artifacts found" | |
| - name: Create Release | |
| uses: softprops/action-gh-release@v1 | |
| with: | |
| tag_name: ${{ github.ref_name }} | |
| name: Release ${{ steps.get_version.outputs.version }} | |
| body: | | |
| ## Frame Chopper ${{ steps.get_version.outputs.version }} | |
| ### Changes | |
| - See commit history for details | |
| ### Downloads | |
| - Windows installer available in the assets below | |
| - macOS installer available in the assets below (if built) | |
| - Linux AppImage available in the assets below (if built) | |
| ### Installation | |
| 1. Download the installer for your platform | |
| 2. Run the installer and follow the on-screen instructions | |
| 3. Make sure FFmpeg is installed on your system before using the app | |
| **Note**: FFmpeg must be installed separately. See the README for installation instructions. | |
| files: | | |
| release-artifacts/win/* | |
| release-artifacts/mac/* | |
| release-artifacts/linux/* | |
| fail_on_unmatched_files: false | |
| draft: false | |
| prerelease: false | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |