Skip to content

V2026.1.0

V2026.1.0 #57

Workflow file for this run

on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
types: [ "review_requested", "ready_for_review" ]
workflow_dispatch:
name: Linux
permissions:
id-token: write
contents: read
env:
GNOME_PROJECT_NAME: Nickvision.Desktop.GNOME
TEST_PROJECT_NAME: Nickvision.Desktop.Tests
CI: true
jobs:
build:
name: "Build on Linux"
strategy:
matrix:
variant:
- arch: x64
runner: ubuntu-latest
- arch: arm64
runner: ubuntu-22.04-arm
runs-on: ${{ matrix.variant.runner }}
steps:
- name: "Checkout"
uses: actions/checkout@v6
with:
submodules: recursive
- name: "Setup .NET"
uses: actions/setup-dotnet@v5
with:
dotnet-version: '10.0.x'
- name: "Unlock Keyring"
uses: t1m0thyj/unlock-keyring@v1
- name: "Setup Environment"
run: |
export DEBIAN_FRONTEND=noninteractive
sudo rm -rf /var/lib/apt/lists/*
sudo apt-get clean
sudo apt-get update
sudo apt-get install -y xdg-user-dirs xdg-user-dirs-gtk gettext tzdata locales libnotify-dev libsecret-tools notification-daemon xvfb
xdg-user-dirs-update
xdg-user-dirs-gtk-update
sudo locale-gen en_US.UTF-8
sudo update-locale LANG=en_US.UTF-8
xvfb-run /usr/lib/notification-daemon/notification-daemon --display=:99.0 -r &
- name: "Restore"
run: dotnet restore ${{ env.TEST_PROJECT_NAME }}
- name: "Build"
run: dotnet build ${{ env.TEST_PROJECT_NAME }} -c Release --no-restore
- name: "Test"
run: dotnet test ${{ env.TEST_PROJECT_NAME }} -c Release --no-build
build-gnome:
name: "Build GNOME on Linux"
strategy:
matrix:
variant:
- arch: x64
runner: ubuntu-latest
- arch: arm64
runner: ubuntu-22.04-arm
runs-on: ${{ matrix.variant.runner }}
steps:
- name: "Checkout"
uses: actions/checkout@v6
with:
submodules: recursive
- name: "Setup .NET"
uses: actions/setup-dotnet@v5
with:
dotnet-version: '10.0.x'
- name: "Restore"
run: dotnet restore ${{ env.GNOME_PROJECT_NAME }}
- name: "Build"
run: dotnet build ${{ env.GNOME_PROJECT_NAME }} -c Release --no-restore