name: Nightly Release on: # This can be used to automatically publish nightlies at UTC nighttime schedule: - cron: "0 2 * * *" # run at 2 AM UTC # This can be used to allow manually triggering nightlies from the web interface workflow_dispatch: env: GITHUB_UPLOAD_URL: https://uploads.github.com/repos/TriliumNext/Notes/releases/179589950/assets{?name,label} GITHUB_RELEASE_ID: 179589950 permissions: contents: write jobs: nightly-electron: name: Deploy nightly strategy: fail-fast: false matrix: arch: [x64, arm64] os: - name: macos image: macos-latest extension: [dmg, zip] - name: linux image: ubuntu-latest extension: [deb, rpm, zip, flatpak] - name: windows image: windows-latest extension: [exe, zip] runs-on: ${{ matrix.os.image }} steps: - uses: actions/checkout@v4 - name: Set up node & dependencies uses: actions/setup-node@v4 with: node-version: 20 - name: Install dependencies shell: bash run: npm ci - name: Update nightly version run: npm run chore:ci-update-nightly-version - name: Run the build uses: ./.github/actions/build-electron with: os: ${{ matrix.os.name }} arch: ${{ matrix.arch }} extension: ${{ join(matrix.os.extension, ' ') }} env: APPLE_APP_CERTIFICATE_BASE64: ${{ secrets.APPLE_APP_CERTIFICATE_BASE64 }} APPLE_APP_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_APP_CERTIFICATE_PASSWORD }} APPLE_INSTALLER_CERTIFICATE_BASE64: ${{ secrets.APPLE_INSTALLER_CERTIFICATE_BASE64 }} APPLE_INSTALLER_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_INSTALLER_CERTIFICATE_PASSWORD }} APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }} APPLE_ID: ${{ secrets.APPLE_ID }} APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }} - name: Publish release uses: softprops/action-gh-release@v2 with: make_latest: false prerelease: true draft: false fail_on_unmatched_files: true files: upload/*.* tag_name: nightly name: Nightly Build nightly-server: name: Deploy server nightly strategy: fail-fast: false matrix: arch: [x64, arm64] include: - arch: x64 runs-on: ubuntu-latest - arch: arm64 runs-on: ubuntu-24.04-arm runs-on: ${{ matrix.runs-on }} steps: - uses: actions/checkout@v4 - name: Run the build uses: ./.github/actions/build-server with: os: linux arch: ${{ matrix.arch }} - name: Publish release uses: softprops/action-gh-release@v2 with: make_latest: false prerelease: true draft: false fail_on_unmatched_files: true files: upload/*.* tag_name: nightly name: Nightly Build