Skip to content
Draft
Show file tree
Hide file tree
Changes from 5 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
90 changes: 90 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
name: Release

# Builds Linux AppImages (x86_64 + aarch64) and the Windows NSIS installer with
# sqgipkg, then publishes them as release assets for tags like `v4.2.1`.

on:
push:
tags:
- 'v*'

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

versioning doesnt use a 'v' prefix. It is always x.y.z

workflow_dispatch:

permissions:
contents: write

env:
APPIMAGE_EXTRACT_AND_RUN: '1'

jobs:
build:
runs-on: ubuntu-24.04
steps:
- name: Checkout Jorts
uses: actions/checkout@v4
with:
path: jorts

- name: Checkout sqgi (runtime + sqgipkg)
uses: actions/checkout@v4
with:
repository: supercamel/sqgi
path: sqgi

- name: Install build dependencies
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
build-essential cmake ninja-build pkg-config git file ca-certificates wget \
meson valac gobject-introspection gettext desktop-file-utils appstream \
libglib2.0-dev libgirepository1.0-dev libffi-dev libcairo2-dev \
libgtk-4-dev libgranite-7-dev libgee-0.8-dev libjson-glib-dev libportal-dev \
librsvg2-dev librsvg2-common adwaita-icon-theme hicolor-icon-theme shared-mime-info \
gcc-aarch64-linux-gnu g++-aarch64-linux-gnu qemu-user-static binfmt-support \
mingw-w64 nsis squashfs-tools

- name: Build and install sqgi
run: |
cmake -S sqgi -B sqgi/build -G Ninja -DCMAKE_BUILD_TYPE=Release -DSQ_ENABLE_JIT=ON
cmake --build sqgi/build
sudo cmake --install sqgi/build --prefix /usr/local
sudo ldconfig

- name: Build Linux x86_64 AppImage
working-directory: jorts
run: sqgipkg --target appimage --appimage-arch x86_64 --sqgi-source-dir "$GITHUB_WORKSPACE/sqgi"

- name: Build Linux aarch64 AppImage
working-directory: jorts
run: sqgipkg --target appimage --appimage-arch aarch64 --sqgi-source-dir "$GITHUB_WORKSPACE/sqgi"

- name: Build Windows installer
working-directory: jorts
run: sqgipkg --target win-nsis --sqgi-source-dir "$GITHUB_WORKSPACE/sqgi"

- name: Collect artifacts
working-directory: jorts
run: |
mkdir -p artifacts
cp dist-linux-x86_64/Jorts.AppImage artifacts/Jorts-x86_64.AppImage
cp dist-linux-aarch64/Jorts.AppImage artifacts/Jorts-aarch64.AppImage
cp dist-windows-x86_64/Jorts-Setup.exe artifacts/Jorts-Setup.exe
ls -lh artifacts

- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: jorts-builds
path: jorts/artifacts/*

- name: Publish release assets
if: startsWith(github.ref, 'refs/tags/')
working-directory: jorts
env:
GH_TOKEN: ${{ github.token }}
run: |
gh release create "$GITHUB_REF_NAME" artifacts/* \
--repo "$GITHUB_REPOSITORY" \
--title "$GITHUB_REF_NAME" \
--generate-notes \
|| gh release upload "$GITHUB_REF_NAME" artifacts/* \
--repo "$GITHUB_REPOSITORY" --clobber
8 changes: 7 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,15 @@
!.gitignore
!.valalintignore
!.editorconfig
!.github/
!.github/workflows/
!.github/workflows/*.yml
~*
*~
builddir
build
build-*
dist-*
.sqgipkg/
repo
deploy
deploy
6 changes: 6 additions & 0 deletions data/emotes/face-angel-symbolic.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions data/emotes/face-angry-symbolic.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions data/emotes/face-cool-symbolic.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions data/emotes/face-crying-symbolic.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions data/emotes/face-devilish-symbolic.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions data/emotes/face-embarrassed-symbolic.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions data/emotes/face-kiss-symbolic.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions data/emotes/face-laugh-symbolic.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions data/emotes/face-monkey-symbolic.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions data/emotes/face-plain-symbolic.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions data/emotes/face-raspberry-symbolic.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions data/emotes/face-sad-symbolic.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions data/emotes/face-sick-symbolic.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading