Skip to content

New Crowdin updates #1357

New Crowdin updates

New Crowdin updates #1357

Workflow file for this run

name: Build Notepad Next
on:
push:
branches:
- master
tags:
- '*'
pull_request:
env:
QT_RELEASE_VER: 6.5
jobs:
build:
strategy:
fail-fast: false
matrix:
os: [ubuntu-24.04, windows-latest, macos-latest]
qt_version: ["6.5", "6.8", "6.10"]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout Repository
uses: actions/checkout@v6
- name: Install Qt
uses: jurplel/install-qt-action@v4
with:
version: ${{ matrix.qt_version }}
modules: 'qt5compat'
cache: true
- name: Setup Visual Studio Tools
if: runner.os == 'Windows'
uses: egor-tensin/vs-shell@v2
with:
arch: x64
- name: Install NSIS
if: runner.os == 'Windows'
uses: repolevedavaj/install-nsis@v1.1.0
with:
nsis-version: '3.11'
- name: Setup Linux
if: runner.os == 'Linux'
run: |
echo "DISTRIBUTION=AppImage" >> "$GITHUB_ENV"
sudo apt-get install libxkbcommon-dev libxkbcommon-x11-0 fuse libxcb-cursor-dev libcups2-dev
- name: Configure
run: cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DAPP_DISTRIBUTION=${{ env.DISTRIBUTION }}
- name: Build
run: cmake --build build --parallel
- name: Build Windows Targets
if: runner.os == 'Windows'
run: cmake --build build --target package zip installer --parallel
- name: Build MacOS Targets
if: runner.os == 'macOS'
run: cmake --build build --target dmg --parallel
- name: Build Linux Targets
if: runner.os == 'Linux'
run: cmake --build build --target appimage --parallel
- name: Upload Windows zip Package
uses: actions/upload-artifact@v6
if: runner.os == 'Windows'
with:
name: NotepadNext-Windows-Qt${{ matrix.qt_version }}-Zip
path: ${{ github.workspace }}/build/package/
- name: Upload Windows Installer
uses: actions/upload-artifact@v6
if: runner.os == 'Windows'
with:
name: NotepadNext-Windows-Qt${{ matrix.qt_version }}-Installer
path: ${{ github.workspace }}/installer/NotepadNext*.exe
- name: Upload MacOS dmg
uses: actions/upload-artifact@v6
if: runner.os == 'macOS'
with:
name: NotepadNext-macOS-Qt${{ matrix.qt_version }}
path: ${{ github.workspace }}/build/NotepadNext*.dmg
- name: Upload Linux AppImage
uses: actions/upload-artifact@v6
if: runner.os == 'Linux'
with:
name: NotepadNext-Linux-Qt${{ matrix.qt_version }}-AppImage
path: ${{ github.workspace }}/build/NotepadNext*.AppImage
github:
name: Draft GitHub Release
runs-on: ubuntu-latest
needs: [build]
if: github.repository == 'dail8859/NotepadNext' && github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Checkout Repository
uses: actions/checkout@v6
- name: Create Draft Release
run: |
gh release create ${{ github.ref_name }} --title ${{ github.ref_name }} --generate-notes --draft
- name: Download all artifacts
uses: actions/download-artifact@v7
- name: Upload Windows Installer
run: |
gh release upload ${{ github.ref_name }} NotepadNext-Windows-Qt$QT_RELEASE_VER-Installer/NotepadNext-${{ github.ref_name }}-Installer.exe
# The artifact is unzipped, so need to zip it back up so it can be uploaded
- name: Upload Windows Zip
run: |
cd NotepadNext-Windows-Qt$QT_RELEASE_VER-Zip/
zip -r ../NotepadNext-${{ github.ref_name }}-win64.zip .
cd ..
gh release upload ${{ github.ref_name }} NotepadNext-${{ github.ref_name }}-win64.zip
- name: Upload Linux AppImage
run: |
gh release upload ${{ github.ref_name }} NotepadNext-Linux-Qt$QT_RELEASE_VER-AppImage/NotepadNext-${{ github.ref_name }}-x86_64.AppImage
- name: Upload macOS App
run: |
gh release upload ${{ github.ref_name }} NotepadNext-macOS-Qt$QT_RELEASE_VER/NotepadNext-${{ github.ref_name }}.dmg