82 lines
2.4 KiB
YAML
82 lines
2.4 KiB
YAML
name: Linux build
|
|
|
|
on:
|
|
push:
|
|
paths-ignore:
|
|
- '.clang-format'
|
|
- '.drone.star'
|
|
- '.gitattributes'
|
|
- '.gitignore'
|
|
- '.gdbinit'
|
|
- '.github/*'
|
|
- '.github/workflows/Windows_build.yml'
|
|
- '.github/*_TEMPLATE/**'
|
|
- '*.md'
|
|
- '*.yml'
|
|
- '*.txt'
|
|
- 'docs/**'
|
|
- 'src/**/*_windows.*'
|
|
- 'src/**/*_android.*'
|
|
- 'src/**/*_mac.*'
|
|
- 'LICENSE'
|
|
pull_request:
|
|
paths-ignore:
|
|
- '.clang-format'
|
|
- '.drone.star'
|
|
- '.gitattributes'
|
|
- '.gitignore'
|
|
- '.gdbinit'
|
|
- '.github/*'
|
|
- '.github/workflows/Windows_build.yml'
|
|
- '.github/*_TEMPLATE/**'
|
|
- '*.md'
|
|
- '*.yml'
|
|
- '*.txt'
|
|
- 'docs/**'
|
|
- 'src/**/*_windows.*'
|
|
- 'src/**/*_android.*'
|
|
- 'src/**/*_mac.*'
|
|
- 'LICENSE'
|
|
workflow_dispatch:
|
|
|
|
jobs:
|
|
# lint:
|
|
# name: Lint
|
|
# runs-on: ubuntu-24.04
|
|
# steps:
|
|
# - uses: actions/checkout@main
|
|
# - name: Check Clang-Format Version
|
|
# run: clang-format --version
|
|
# - name: Lint
|
|
# run: ./xb lint --all
|
|
|
|
build-linux:
|
|
name: Build (Linux, LLVM ${{ matrix.llvm_version }}) # runner.os can't be used here
|
|
# needs: lint
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
llvm_version: [15] #[15, 16, 17, 18, 19]
|
|
runs-on: ubuntu-24.04
|
|
steps:
|
|
- uses: actions/checkout@main
|
|
with:
|
|
fetch-depth: 0
|
|
- name: Set environment variables
|
|
run: |
|
|
LLVM_VERSION=${{ matrix.llvm_version }}
|
|
echo "LLVM_VERSION=$LLVM_VERSION" >> $GITHUB_ENV
|
|
echo "UBUNTU_BASE=jammy" >> $GITHUB_ENV
|
|
echo "CC=clang-${LLVM_VERSION}" >> $GITHUB_ENV
|
|
echo "CXX=clang++-${LLVM_VERSION}" >> $GITHUB_ENV
|
|
echo "AR=llvm-ar-${LLVM_VERSION}" >> $GITHUB_ENV
|
|
- name: Setup
|
|
run: |
|
|
wget -qO- https://apt.llvm.org/llvm-snapshot.gpg.key | sudo tee /etc/apt/trusted.gpg.d/apt.llvm.org.asc
|
|
sudo apt-add-repository "deb http://apt.llvm.org/${UBUNTU_BASE}/ llvm-toolchain-${UBUNTU_BASE}-$LLVM_VERSION main"
|
|
sudo apt-get -y update
|
|
sudo apt-get -y install mesa-vulkan-drivers valgrind libc++-dev libc++abi-dev libgtk-3-dev libsdl2-dev libvulkan-dev libx11-dev libx11-xcb-dev clang-$LLVM_VERSION clang-format-$LLVM_VERSION llvm-$LLVM_VERSION
|
|
./xb setup
|
|
- name: Build
|
|
run: ./xb build --config=Release
|