diff --git a/.github/workflows/Linux_build.yml b/.github/workflows/Linux_build.yml index 3c263a942..2b2c42f34 100644 --- a/.github/workflows/Linux_build.yml +++ b/.github/workflows/Linux_build.yml @@ -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 \ No newline at end of file + path: artifacts + if-no-files-found: error diff --git a/.github/workflows/Windows_build.yml b/.github/workflows/Windows_build.yml index fb961109c..31f02bef4 100644 --- a/.github/workflows/Windows_build.yml +++ b/.github/workflows/Windows_build.yml @@ -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 diff --git a/xenia-build b/xenia-build index 8145fa2da..4d34074f4 100755 --- a/xenia-build +++ b/xenia-build @@ -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('')