# SPDX-License-Identifier: GPL-3.0-or-later # SPDX-FileCopyrightText: 2025 ai-ad4 and the FreePDFEditor contributors # # Nightly packaging pipeline (ยง14 step 2): produces artifacts for all nine # formats from day one, even if the app only shows an empty window, so # signing, notarization, dependency bundling, and Wayland quirks are # discovered continuously rather than at 1.0. name: nightly on: schedule: - cron: '0 2 * * *' workflow_dispatch: jobs: linux: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 with: { submodules: recursive, fetch-depth: 0 } - name: Set up vcpkg uses: lukka/run-vcpkg@v11 with: vcpkgGitCommitId: c4467224f8a384b7d52cb7d5e8abfb3f3f463f17 - name: Build run: | cmake --preset default cmake --build --preset default - name: Package (.deb / .rpm / tarball) run: | cpack -G "DEB;RPM;TXZ" --config build/default/CPackConfig.cmake - name: Package (AppImage) run: | packaging/appimage/build-appimage.sh 0.1.0 build/default - uses: actions/upload-artifact@v4 with: name: nightly-linux path: | build/default/*.{deb,rpm,tar.xz,AppImage} windows: runs-on: windows-latest steps: - uses: actions/checkout@v4 with: { submodules: recursive, fetch-depth: 0 } - name: Set up vcpkg uses: lukka/run-vcpkg@v11 with: vcpkgGitCommitId: c4467224f8a384b7d52cb7d5e8abfb3f3f463f17 - name: Build run: | cmake --preset default cmake --build --preset default - name: Package (.msi / .zip) run: | cpack -G "ZIP;WIX" --config build/default/CPackConfig.cmake - uses: actions/upload-artifact@v4 with: name: nightly-windows path: build/default/*.{msi,zip} macos: runs-on: macos-latest steps: - uses: actions/checkout@v4 with: { submodules: recursive, fetch-depth: 0 } - name: Set up vcpkg uses: lukka/run-vcpkg@v11 with: vcpkgGitCommitId: c4467224f8a384b7d52cb7d5e8abfb3f3f463f17 - name: Build run: | cmake --preset default cmake --build --preset default - name: Package (.dmg / .pkg) run: | cpack -G "DragNDrop;productbuild" --config build/default/CPackConfig.cmake - uses: actions/upload-artifact@v4 with: name: nightly-macos path: build/default/*.{dmg,pkg}