forked from mirrors/principia
Also use new `archive: false` for artifact uploading where appropriate to prevent nested zips from happening
58 lines
1.5 KiB
YAML
58 lines
1.5 KiB
YAML
name: linux
|
|
|
|
on:
|
|
push:
|
|
paths:
|
|
- 'src/**'
|
|
- 'lib/**'
|
|
- 'data/**'
|
|
- 'packaging/**'
|
|
- 'CMakeLists.txt'
|
|
- '.github/workflows/linux.yml'
|
|
pull_request:
|
|
paths:
|
|
- 'src/**'
|
|
- 'lib/**'
|
|
- 'data/**'
|
|
- 'packaging/**'
|
|
- 'CMakeLists.txt'
|
|
- '.github/workflows/linux.yml'
|
|
|
|
jobs:
|
|
linux:
|
|
runs-on: ubuntu-latest
|
|
container:
|
|
image: debian:bullseye
|
|
env: { LANG: "C.UTF-8" }
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
|
|
- name: Install deps
|
|
run: |
|
|
apt-get update
|
|
apt-get install -y clang-16 libgtk-3-dev libgl-dev libcurl4-openssl-dev libpng-dev libjpeg-dev libfreetype6-dev cmake ninja-build desktop-file-utils ca-certificates wget file --no-install-recommends
|
|
|
|
wget https://github.com/principia-game/linux-deps/releases/download/latest/deps.tar.gz -O linux-deps.tar.gz
|
|
tar -xaf linux-deps.tar.gz -C /
|
|
|
|
- name: Build
|
|
run: |
|
|
mkdir build; cd build
|
|
../packaging/build-appimage.sh
|
|
env:
|
|
CC: clang-16
|
|
CXX: clang++-16
|
|
|
|
- name: Upload output as artifact
|
|
uses: actions/upload-artifact@v7
|
|
with:
|
|
path: build/Principia-x86_64.AppImage
|
|
archive: false
|
|
if-no-files-found: error
|
|
|
|
- name: Upload debug symbols as artifact
|
|
uses: actions/upload-artifact@v7
|
|
with:
|
|
name: linux-appimage-dbgsym
|
|
path: build/principia.debug
|
|
if-no-files-found: error
|