Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: BuildLinux
name: BuildAppimage

on: workflow_dispatch

Expand Down
41 changes: 41 additions & 0 deletions .github/workflows/test_fedora.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
name: Fedora

on:
push:
branches:
- main
- release
pull_request:
branches:
- main
- release

jobs:
testFedora:
runs-on: ubuntu-latest
container:
image: fedora:rawhide
steps:
- name: Install Packages (dnf)
run: |
dnf -y update
dnf -y install adobe-source-sans-pro-fonts hunspell-en hunspell-en-GB hunspell-en-US
dnf -y install enchant2-devel git hunspell-devel qt6-qttools-devel qt6-qtsvg-devel
dnf -y install python3-devel
- name: Checkout Source
uses: actions/checkout@v4
- name: Install Dependencies (pip)
run: |
pip install -U -r requirements.txt -r tests/requirements.txt
- name: Run Build Commands
run: |
python pkgutils.py qtlrelease
python pkgutils.py sample
- name: Run Tests
run: |
export QT_QPA_PLATFORM=offscreen
python -m pytest -v --cov=novelwriter --timeout=60
- name: Upload to Codecov
uses: codecov/codecov-action@v5
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Linux
name: Ubuntu

on:
push:
Expand Down
13 changes: 12 additions & 1 deletion utils/assets.py
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,14 @@ def updateTranslationSources(args: argparse.Namespace) -> None:
return


def getLReleaseExec() -> str | None:
"""Look for the lrelease executable."""
for entry in ["lrelease-qt6", "lrelease"]:
if subprocess.call(f"type {entry}", shell=True) == 0:
return entry
return None


def buildTranslationAssets(args: argparse.Namespace | None = None) -> None:
"""Build the lang.qm files for Qt Linguist."""
print("")
Expand All @@ -184,7 +192,10 @@ def buildTranslationAssets(args: argparse.Namespace | None = None) -> None:
print("")

try:
subprocess.call(["lrelease", "-verbose", *srcList])
if lrelease := getLReleaseExec():
subprocess.call([lrelease, "-verbose", *srcList])
else:
raise FileNotFoundError("No lrelease executable found")
except Exception as exc:
print("Qt Linguist tools seem to be missing")
print("On Debian/Ubuntu, install: qttools5-dev-tools")
Expand Down