Skip to content

Commit 63b6319

Browse files
committed
build: use pixi in package ci
1 parent b8da7e7 commit 63b6319

File tree

3 files changed

+16
-60
lines changed

3 files changed

+16
-60
lines changed

.github/workflows/package.yml

Lines changed: 11 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -43,78 +43,32 @@ jobs:
4343
runs-on: ${{ matrix.os }}
4444

4545
steps:
46-
- name: Free disk space (Linux)
47-
if: runner.os == 'Linux'
48-
uses: jlumbroso/free-disk-space@main
49-
50-
- name: Increase swap file size (Linux)
51-
if: runner.os == 'Linux'
52-
run: |
53-
echo "===== Initial Status ====="
54-
sudo swapon --show
55-
free -h
56-
57-
echo "===== Creating Swap File ====="
58-
sudo swapoff -a
59-
sudo fallocate -l 16G /mnt/swapfile
60-
sudo chmod 600 /mnt/swapfile
61-
sudo mkswap /mnt/swapfile
62-
sudo swapon /mnt/swapfile
63-
64-
echo "===== Final Status ====="
65-
sudo swapon --show
66-
free -h
67-
df -h
68-
69-
- name: Setup dependencies (Linux)
70-
if: runner.os == 'Linux'
71-
run: |
72-
sudo apt update
73-
sudo apt install -y gcc-14 g++-14 libstdc++-14-dev cmake ninja-build
74-
75-
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 100
76-
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-14 100
77-
sudo update-alternatives --set gcc /usr/bin/gcc-14
78-
sudo update-alternatives --set g++ /usr/bin/g++-14
79-
80-
wget https://apt.llvm.org/llvm.sh
81-
chmod +x llvm.sh
82-
sudo ./llvm.sh 20 all
83-
84-
- name: Setup dependencies (MacOS)
85-
if: runner.os == 'macOS'
86-
env:
87-
HOMEBREW_NO_AUTO_UPDATE: 1
88-
run: |
89-
brew install llvm@20 lld@20
90-
9146
- name: Checkout repository
9247
uses: actions/checkout@v4
9348

9449
- name: Setup xmake
9550
uses: xmake-io/github-action-setup-xmake@v1
9651
with:
97-
xmake-version: 3.0.4
52+
xmake-version: 3.0.5
9853
actions-cache-folder: ".xmake-cache"
9954
actions-cache-key: ${{ matrix.os }}
10055
package-cache: true
10156
package-cache-key: ${{ matrix.os }}-pkg-release-v1
10257
build-cache: true
10358
build-cache-key: ${{ matrix.os }}-build-release-v1
10459

60+
- name: Setup Pixi
61+
uses: prefix-dev/setup-pixi@v0.9.3
62+
with:
63+
pixi-version: v0.61.0
64+
environments: develop
65+
activate-environment: true
66+
cache: true
67+
locked: true
68+
10569
- name: Configure and Package
106-
shell: bash
10770
run: |
108-
if [[ "${{ runner.os }}" == "Windows" ]]; then
109-
xmake config --yes --enable_test=n --dev=n --release=y --mode=releasedbg --toolchain=${{ matrix.toolchain }} -p windows
110-
elif [[ "${{ runner.os }}" == "Linux" ]]; then
111-
xmake config --yes --enable_test=n --dev=n --release=y --mode=releasedbg --toolchain=${{ matrix.toolchain }}
112-
elif [[ "${{ runner.os }}" == "macOS" ]]; then
113-
export PATH="/opt/homebrew/opt/llvm@20/bin:/opt/homebrew/opt/lld@20/bin:$PATH"
114-
xmake config --yes --enable_test=n --dev=n --release=y --mode=releasedbg --toolchain=${{ matrix.toolchain }} --sdk=/opt/homebrew/opt/llvm@20
115-
fi
116-
117-
xmake pack -v
71+
pixi run package
11872
11973
- name: Upload Main Package to Release
12074
if: github.event_name == 'push'

pixi.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,3 +115,6 @@ cmd = [
115115
# delete all workflows generated by "file_name"
116116
args = ["file_name"]
117117
cmd = ["scripts/delete-artifacts.bash", "{{ file_name }}"]
118+
119+
[tasks.package]
120+
cmd = "xmake config --yes --enable_test=n --dev=n --release=y --mode=releasedbg && xmake pack -verbose"

xmake.lua

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ local libuv_require = "libuv"
3131
if has_config("release") then
3232
set_policy("build.optimization.lto", true)
3333
set_policy("package.cmake_generator.ninja", true)
34+
-- Don't fetch system package
35+
set_policy("package.install_only", true)
3436

3537
if is_plat("windows") then
3638
set_runtimes("MT")
@@ -54,9 +56,6 @@ if is_plat("macosx") then
5456
cxflags = "-D_LIBCPP_DISABLE_AVAILABILITY=1",
5557
},
5658
})
57-
elseif is_plat("linux") then
58-
-- don't fetch system package
59-
set_policy("package.install_only", true)
6059
end
6160

6261
add_defines("TOML_EXCEPTIONS=0")

0 commit comments

Comments
 (0)