Skip to content

Rename the Find in Files function to Replace in Files and then build Replace in Files #1257

Rename the Find in Files function to Replace in Files and then build Replace in Files

Rename the Find in Files function to Replace in Files and then build Replace in Files #1257

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.9"]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout Repository
uses: actions/checkout@v6
with:
submodules: true
- name: Install Qt
uses: jurplel/install-qt-action@v4
with:
version: ${{ matrix.qt_version }}
modules: 'qt5compat'
cache: true
- name: Get number of CPU cores
if: runner.os != 'Windows'
uses: SimenB/github-actions-cpu-cores@v2
id: cpu-cores
- name: Setup Visual Studio Tools
if: runner.os == 'Windows'
uses: egor-tensin/vs-shell@v2
with:
arch: x64
- name: Install jom
if: runner.os == 'Windows'
run: choco install jom
- 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: Run QMake
run: |
mkdir build
cd build
qmake ../src/NotepadNext.pro "DISTRIBUTION=$DISTRIBUTION"
- name: Compile for Windows
if: runner.os == 'Windows'
run: |
cd build
jom
- name: Compile for Linux/macOS
if: runner.os != 'Windows'
run: |
cd build
make -j${{ steps.cpu-cores.outputs.count }}
- name: Create Windows zip Package
if: runner.os == 'Windows'
run: |
cd build
jom package
- name: Install NSIS
if: runner.os == 'Windows'
uses: repolevedavaj/[email protected]
with:
nsis-version: '3.11'
- name: Create Windows Installer
if: runner.os == 'Windows'
run: |
cd build
jom installer
- name: Create DMG
if: runner.os == 'macOS'
run: |
cd build
make dmg
- name: Create AppImage
if: runner.os == 'Linux'
run: |
cd build
make appimage
- name: Upload Windows zip Package
uses: actions/upload-artifact@v5
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@v5
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@v5
if: runner.os == 'macOS'
with:
name: NotepadNext-macOS-Qt${{ matrix.qt_version }}
path: ${{ github.workspace }}/build/NotepadNext/NotepadNext*.dmg
- name: Upload Linux AppImage
uses: actions/upload-artifact@v5
if: runner.os == 'Linux'
with:
name: NotepadNext-Linux-Qt${{ matrix.qt_version }}-AppImage
path: ${{ github.workspace }}/build/NotepadNext/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@v6
- 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