Skip to content

Linux

Linux #13

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:
TEST_PROJECT_NAME: Nickvision.Desktop.Tests
DISPLAY: :99.0
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@v5
with:
submodules: recursive
- name: "Setup .NET"
uses: actions/setup-dotnet@v5
with:
dotnet-version: '9.0.x'
- name: "Unlock Keyring"
uses: t1m0thyj/unlock-keyring@v1
- name: "Setup Environment"
run: |
eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
sudo apt-get install xdg-user-dirs xdg-user-dirs-gtk gettext tzdata locales libnotify-dev libsecret-tools notification-daemon xvfb -y
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 -r &
- name: "Restore"
run: dotnet restore
- name: "Build"
run: dotnet build -c Release
- name: "Test"
run: dotnet test -c Release ${{ env.TEST_PROJECT_NAME }}