72 lines
1.6 KiB
YAML
72 lines
1.6 KiB
YAML
name: xmake
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
paths:
|
|
- ".github/workflows/xmake.yml"
|
|
- "include/**"
|
|
- "src/**"
|
|
- "tests/**"
|
|
- "xmake.lua"
|
|
|
|
pull_request:
|
|
branches: [main]
|
|
paths:
|
|
- ".github/workflows/xmake.yml"
|
|
- "include/**"
|
|
- "src/**"
|
|
- "tests/**"
|
|
- "config/**"
|
|
- "xmake.lua"
|
|
|
|
jobs:
|
|
build:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [windows-2025, ubuntu-24.04, macos-15]
|
|
build_type: [debug, releasedbg]
|
|
exclude:
|
|
- os: windows-2025
|
|
build_type: debug
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Setup xmake
|
|
uses: xmake-io/github-action-setup-xmake@v1
|
|
with:
|
|
xmake-version: 3.0.5
|
|
actions-cache-folder: ".xmake-cache"
|
|
actions-cache-key: ${{ matrix.os }}
|
|
package-cache: true
|
|
package-cache-key: ${{ matrix.os }}-pixi
|
|
build-cache: true
|
|
build-cache-key: ${{ matrix.os }}-${{ matrix.build_type }}
|
|
|
|
- name: Setup Pixi
|
|
uses: prefix-dev/setup-pixi@v0.9.3
|
|
with:
|
|
pixi-version: v0.61.0
|
|
environments: develop
|
|
activate-environment: true
|
|
cache: true
|
|
locked: true
|
|
|
|
- name: Build
|
|
run: |
|
|
pixi run ci-xmake-build ${{ matrix.build_type }}
|
|
|
|
- name: Test
|
|
run: |
|
|
pixi run xmake-test
|
|
|
|
# Clean up llvm package to reduce cache size
|
|
- name: Remove llvm package (Linux)
|
|
if: runner.os == 'Linux'
|
|
run: xmake require --uninstall clice-llvm
|