Update nightly.yaml #106
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Copyright 2024 the Cartero authors | |
# | |
# This program is free software: you can redistribute it and/or modify | |
# it under the terms of the GNU General Public License as published by | |
# the Free Software Foundation, either version 3 of the License, or | |
# (at your option) any later version. | |
# | |
# This program is distributed in the hope that it will be useful, | |
# but WITHOUT ANY WARRANTY; without even the implied warranty of | |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
# GNU General Public License for more details. | |
# | |
# You should have received a copy of the GNU General Public License | |
# along with this program. If not, see <https://www.gnu.org/licenses/>. | |
# | |
# SPDX-License-Identifier: GPL-3.0-or-later | |
on: | |
push: | |
branches: | |
- trunk | |
- 'fix/*' | |
- 'release/*' | |
name: Nightly build | |
jobs: | |
flatpak: | |
runs-on: ubuntu-latest | |
container: | |
image: bilelmoussaoui/flatpak-github-actions:gnome-46 | |
options: --privileged | |
strategy: | |
matrix: | |
arch: [x86_64, aarch64] | |
fail-fast: false | |
name: "Flatpak (${{ matrix.arch }})" | |
steps: | |
- uses: actions/checkout@v4 | |
- name: (ARM) Install Docker | |
if: ${{ matrix.arch != 'x86_64' }} | |
run: | | |
dnf -y install docker | |
- name: (ARM) Set up QEMU | |
if: ${{ matrix.arch != 'x86_64' }} | |
id: qemu | |
uses: docker/setup-qemu-action@v2 | |
with: | |
platforms: arm64 | |
- uses: flatpak/flatpak-github-actions/flatpak-builder@v6 | |
with: | |
bundle: es.danirod.Cartero.Devel.flatpak | |
manifest-path: build-aux/es.danirod.Cartero.Devel.json | |
cache-key: flatpak-builder-${{ github.sha }} | |
build-bundle: true | |
arch: ${{ matrix.arch }} | |
windows: | |
name: "Windows" | |
runs-on: windows-latest | |
defaults: | |
run: | |
shell: msys2 {0} | |
steps: | |
- uses: msys2/setup-msys2@v2 | |
with: | |
update: true | |
install: >- | |
git | |
msystem: ucrt64 | |
- uses: actions/checkout@v4 | |
- name: Build Windows version | |
run: | | |
export PATH=/c/Users/$USER/.cargo/bin:$PATH | |
rustup toolchain install stable-gnu | |
rustup default stable-gnu | |
build-aux/msys-build.sh devel | |
- uses: Minionguyjpro/Inno-Setup-Action@v1.2.2 | |
name: Create Windows installer | |
with: | |
path: build/win32-installer.iss | |
- uses: actions/upload-artifact@v4 | |
name: Upload Windows version | |
with: | |
name: es.danirod.Cartero-windows-x86_64 | |
path: build/cartero-win32 | |
- uses: actions/upload-artifact@v4 | |
name: Upload Windows version | |
with: | |
name: es.danirod.Cartero-windows-x86_64-installer | |
path: build/Output/cartero.exe | |
macos: | |
strategy: | |
matrix: | |
os: [macos-13, macos-14, macos-15] | |
fail-fast: false | |
name: "macOS (${{ matrix.os }})" | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install dependencies | |
run: brew unlink pkg-config && brew install pkg-config meson gtk4 gtksourceview5 desktop-file-utils pygobject3 libadwaita adwaita-icon-theme gettext shared-mime-info && brew link pkgconf | |
- name: Fix PYTHONPATH for blueprint-compiler | |
run: echo "PYTHONPATH=$(brew --prefix)/lib/python3.13/site-packages:$PYTHONPATH" >> $GITHUB_ENV | |
- name: Build macOS version | |
run: build-aux/macos-build.sh devel | |
- name: Build installer | |
run: build-aux/macos-installer.sh | |
- uses: actions/upload-artifact@v4 | |
name: Upload macOS version | |
with: | |
name: es.danirod.Cartero-${{ matrix.os }}-${{ runner.arch }} | |
path: build/Cartero-*.dmg | |
appimage: | |
name: "AppImage (GNU/Linux, Ubuntu)" | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Install dependencies | |
run: | | |
sudo apt install --no-install-recommends libfuse2 | |
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" | |
brew install meson gtk4 gtksourceview5 desktop-file-utils pygobject3 libadwaita adwaita-icon-theme gettext shared-mime-info | |
- uses: actions/checkout@v4 | |
- name: Build | |
run: | | |
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" | |
export VENDOR_BASE="$(brew --prefix)" | |
export LD_LIBRARY_PATH="$(brew --prefix)/lib" | |
build-aux/appimage-build.sh devel | |
- name: Upload | |
uses: actions/upload-artifact@v4 | |
with: | |
name: es.danirod.Cartero.Devel-AppImage | |
path: build/appimagetool/Cartero-x86_64.AppImage | |
appimage-rocky: | |
name: "AppImage (GNU/Linux, Rocky)" | |
runs-on: ubuntu-22.04 | |
container: rockylinux:9 | |
steps: | |
- name: Install dependencies | |
run: | | |
dnf install -y git | |
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" | |
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" | |
brew install meson gtk4 gtksourceview5 desktop-file-utils pygobject3 libadwaita adwaita-icon-theme gettext shared-mime-info | |
- uses: actions/checkout@v4 | |
- name: Build | |
run: | | |
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)" | |
export VENDOR_BASE="$(brew --prefix)" | |
export LD_LIBRARY_PATH="$(brew --prefix)/lib" | |
build-aux/appimage-build.sh devel | |
- name: Upload | |
uses: actions/upload-artifact@v4 | |
with: | |
name: es.danirod.Cartero.Devel-AppImage | |
path: build/appimagetool/Cartero-x86_64-RHEL9.AppImage |