[CI] Linux lint

This commit is contained in:
Margen67 2025-01-24 07:24:10 -08:00
parent 6f0a736c6c
commit dbe645e16e
3 changed files with 34 additions and 27 deletions

View File

@ -42,47 +42,56 @@ on:
jobs:
lint:
name: Lint
runs-on: windows-latest
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@main
- name: Setup
run: |
LLVM_VERSION=18 # Same as Windows
UBUNTU_BASE=jammy
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 clang-format-$LLVM_VERSION
- name: Lint
run: ./xb lint --all
build-linux:
name: Build (Linux) # runner.os can't be used here
build:
name: Build (LLVM ${{ matrix.LLVM_VERSION }})
needs: lint
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
LLVM_VERSION: [19]
steps:
- uses: actions/checkout@main
with:
fetch-depth: 0
- name: Set environment variables
run: |
LLVM_VERSION=19
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: |
UBUNTU_BASE=jammy
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-add-repository "deb http://apt.llvm.org/${UBUNTU_BASE}/ llvm-toolchain-${UBUNTU_BASE}-${{ matrix.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 ninja-build cmake
sudo apt-get -y install mesa-vulkan-drivers valgrind libc++-dev libc++abi-dev libgtk-3-dev libsdl2-dev libvulkan-dev libx11-xcb-dev clang-${{ matrix.LLVM_VERSION }} llvm-${{ matrix.LLVM_VERSION }} ninja-build
./xb setup
- name: Build
env:
CC: clang-${{ matrix.LLVM_VERSION }}
CXX: clang++-${{ matrix.LLVM_VERSION }}
AR: llvm-ar-${{ matrix.LLVM_VERSION }}
run: ./xb build --config=Release
- name: Prepare artifacts
id: prepare_artifacts
run: |
mkdir artifacts
cp build/bin/Linux/Release/xenia_canary artifacts/xenia_canary
mkdir -p artifacts
cp -r build/bin/Linux/Release/xenia_canary LICENSE artifacts
- name: Upload xenia canary artifacts
if: steps.prepare_artifacts.outcome == 'success'
id: upload_artifacts
uses: actions/upload-artifact@main
with:
name: xenia_canary_linux
path: artifacts/
if-no-files-found: error
path: artifacts
if-no-files-found: error

View File

@ -51,19 +51,17 @@ jobs:
lint:
name: Lint
runs-on: windows-latest
env:
POWERSHELL_TELEMETRY_OPTOUT: 1
steps:
- uses: actions/checkout@main
- name: Lint
run: .\xb lint --all
build-windows:
name: Build (Windows, VS${{ matrix.vsver }}) # runner.os can't be used here
build:
name: Build
needs: lint
strategy:
fail-fast: false
matrix:
vsver: [2022]
runs-on: windows-${{ matrix.vsver }}
runs-on: windows-2025
env:
POWERSHELL_TELEMETRY_OPTOUT: 1
steps:
@ -85,7 +83,7 @@ jobs:
id: upload_artifacts
uses: actions/upload-artifact@main
with:
name: xenia_canary_vs${{ matrix.vsver }}
name: xenia_canary_windows
path: artifacts\xenia_canary
if-no-files-found: error
- name: Create release

View File

@ -854,8 +854,8 @@ class BaseBuildCommand(Command):
'-Sbuild',
'-Bbuild/build_%s' % (args['config']),
'-DCMAKE_BUILD_TYPE=%s' % (args['config'].title()),
'-DCMAKE_C_COMPILER=clang',
'-DCMAKE_CXX_COMPILER=clang++',
'-DCMAKE_C_COMPILER=' + os.environ.get('CC', 'clang'),
'-DCMAKE_CXX_COMPILER=' + os.environ.get('CXX', 'clang++'),
'-GNinja'
] + pass_args, shell=False, env=dict(os.environ))
print('')