name: Build on: workflow_dispatch jobs: buildAssets: runs-on: ubuntu-latest steps: - name: Python Setup uses: actions/setup-python@v5 with: python-version: "3.12" architecture: x64 - name: Install Packages (apt) run: | sudo apt update sudo apt install qttools5-dev-tools latexmk texlive texlive-latex-extra - name: Checkout Source uses: actions/checkout@v4 - name: Install Packages (pip) run: pip install -r docs/source/requirements.txt - name: Build Assets run: python pkgutils.py qtlrelease sample manual - name: Upload Artifacts uses: actions/upload-artifact@v4 with: name: nw-assets path: | novelwriter/assets/sample.zip novelwriter/assets/manual.pdf novelwriter/assets/i18n/*.qm if-no-files-found: error retention-days: 14 buildLinux: needs: buildAssets runs-on: ubuntu-latest env: PYTHON_VERSION: "3.12" LINUX_TAG: "manylinux_2_28_x86_64" steps: - name: Python Setup uses: actions/setup-python@v5 with: python-version: "3.11" architecture: x64 - name: Install Packages (pip) run: pip install python-appimage - name: Checkout Source uses: actions/checkout@v4 - name: Download Artifacts uses: actions/download-artifact@v4 with: name: nw-assets path: novelwriter/assets - name: Build AppImage run: python pkgutils.py build-appimage --linux-tag $LINUX_TAG --python-version $PYTHON_VERSION - name: Upload Artifacts uses: actions/upload-artifact@v4 with: name: Linux-AppImage path: dist_appimage if-no-files-found: error retention-days: 14 buildMac-AMD64: needs: buildAssets # Stay on macos-12 due to https://github.com/create-dmg/create-dmg/issues/143 runs-on: macos-12 env: PYTHON_VERSION: "3.12" PACKAGE_ARCH: x86_64 MINICONDA_ARCH: x86_64 steps: - name: Checkout uses: actions/checkout@v4 - name: Download Artifacts uses: actions/download-artifact@v4 with: name: nw-assets path: novelwriter/assets - name: Build App Bundle run: ./setup/macos/build.sh $PYTHON_VERSION $PACKAGE_ARCH $MINICONDA_ARCH - name: Upload DMG uses: actions/upload-artifact@v4 with: name: MacOS-AMD64-DMG path: dist_macos if-no-files-found: error retention-days: 14 buildMac-M1: needs: buildAssets runs-on: macos-14 env: PYTHON_VERSION: "3.12" PACKAGE_ARCH: aarch64 MINICONDA_ARCH: arm64 steps: - name: Checkout uses: actions/checkout@v4 - name: Download Artifacts uses: actions/download-artifact@v4 with: name: nw-assets path: novelwriter/assets - name: Build App Bundle run: ./setup/macos/build.sh $PYTHON_VERSION $PACKAGE_ARCH $MINICONDA_ARCH - name: Upload DMG uses: actions/upload-artifact@v4 with: name: MacOS-M1-DMG path: dist_macos if-no-files-found: error retention-days: 14