docs: add screenshots — welcome, song-stats, library, nugs-home, nugs… #65
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: Build & Release | |
| on: | |
| push: | |
| branches: [main] # CI build on every push — artifacts only, no release | |
| tags: | |
| - 'v*' # Full release build + publish when a vX.Y.Z tag is pushed | |
| # Opt into Node.js 24 for action runners now, ahead of the June 2026 forced migration. | |
| env: | |
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true | |
| jobs: | |
| # ── Pure-helper unit tests run first — fast, platform-independent. | |
| # Build + release jobs depend on this passing, so a regression in any | |
| # of the tested helpers blocks the matrix and prevents tagging a bad | |
| # release. | |
| test: | |
| name: Test (helpers) | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Set up Node.js 22 | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '22' | |
| cache: 'npm' | |
| - name: Install npm dependencies | |
| run: npm install --no-audit --no-fund | |
| - name: Run helper tests | |
| run: npm test | |
| build: | |
| name: Build (${{ matrix.os }}) | |
| needs: test | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [macos-latest, windows-latest, ubuntu-latest] | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Set up Node.js 22 | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '22' | |
| cache: 'npm' | |
| - name: Install Linux build dependencies | |
| if: runner.os == 'Linux' | |
| run: | | |
| sudo apt-get update -y | |
| sudo apt-get install -y libdbus-1-dev libglib2.0-dev | |
| - name: Install npm dependencies | |
| run: npm install | |
| - name: Build distributable | |
| run: npm run dist | |
| env: | |
| CSC_IDENTITY_AUTO_DISCOVERY: false | |
| - name: Upload macOS artifacts | |
| if: runner.os == 'macOS' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: dist-mac | |
| path: dist/*.dmg | |
| if-no-files-found: warn | |
| - name: Upload Windows artifacts | |
| if: runner.os == 'Windows' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: dist-windows | |
| path: dist/*.exe | |
| if-no-files-found: warn | |
| - name: Upload Linux artifacts | |
| if: runner.os == 'Linux' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: dist-linux | |
| path: | | |
| dist/*.AppImage | |
| dist/*.deb | |
| if-no-files-found: warn | |
| release: | |
| name: Publish Release | |
| needs: build | |
| if: startsWith(github.ref, 'refs/tags/v') | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| steps: | |
| - name: Download all artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: artifacts | |
| merge-multiple: true | |
| - name: Create GitHub Release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| name: "Days Between ${{ github.ref_name }}" | |
| generate_release_notes: false | |
| body: | | |
| ## Install | |
| | Platform | File | How | | |
| |---|---|---| | |
| | **Linux** (any) | `.AppImage` | `chmod +x` and double-click — no install | | |
| | **Linux** (Debian / Ubuntu) | `.deb` | `sudo dpkg -i Days-Between-*.deb` | | |
| | **macOS** (Apple Silicon) | `.dmg` | Open, drag to Applications. **Unsigned** — right-click → Open the first time to bypass Gatekeeper. | | |
| | **Windows** | `Setup …exe` (installer) or `…exe` (portable) | SmartScreen will warn — click "More info" → "Run anyway". | | |
| > No Electron installation required — everything is bundled. macOS and Windows binaries are unsigned (paid certificates aren't worth it for a personal-use project); the workarounds above are one-time per install. | |
| --- | |
| See [`CHANGELOG.md`](https://github.com/DeceasedCranium/days-between/blob/main/CHANGELOG.md) for the full version history. The [`README`](https://github.com/DeceasedCranium/days-between#readme) has screenshots and a quick tour of what's new. | |
| files: artifacts/**/* | |
| fail_on_unmatched_files: false |