Skip to content

Commit 03801a7

Browse files
committed
Added an action to build buildcache for Windows, Linux Intel/ARM, and macOS Intel/ARM.
1 parent a50b89d commit 03801a7

1 file changed

Lines changed: 54 additions & 0 deletions

File tree

.github/workflows/binaries.yml

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: buildcache
2+
3+
on:
4+
workflow_dispatch:
5+
6+
jobs:
7+
buildcache:
8+
name: ${{ matrix.name }}
9+
runs-on: ${{ matrix.os }}
10+
strategy:
11+
fail-fast: false
12+
matrix:
13+
include:
14+
- name: 'Windows'
15+
os: windows-2022
16+
buildcache_ext: .exe
17+
archive_extra: windows
18+
- name: 'Linux (Intel)'
19+
os: ubuntu-22.04
20+
archive_extra: linux-intel
21+
- name: 'Linux (ARM)'
22+
os: ubuntu-22.04-arm
23+
archive_extra: linux-arm
24+
- name: 'macOS (Intel)'
25+
os: macos-13
26+
archive_extra: macos-intel
27+
- name: 'macOS (ARM)'
28+
os: macos-14
29+
archive_extra: macos-arm
30+
env:
31+
BUILDCACHE_VERSION: 0.31.3
32+
steps:
33+
- name: Install CMake and Ninja
34+
uses: lukka/get-cmake@latest
35+
- name: Configure MSVC
36+
if: ${{ runner.os == 'Windows' }}
37+
uses: ilammy/msvc-dev-cmd@v1
38+
- name: Retrieve buildcache
39+
run: |
40+
curl -Ls https://gitlab.com/bits-n-bites/buildcache/-/archive/v${{ env.BUILDCACHE_VERSION }}/buildcache-v${{ env.BUILDCACHE_VERSION }}.zip -o buildcache-v${{ env.BUILDCACHE_VERSION }}.zip
41+
unzip -qq buildcache-v${{ env.BUILDCACHE_VERSION }}.zip
42+
- name: Build buildcache
43+
run: |
44+
cd buildcache-v${{ env.BUILDCACHE_VERSION }}
45+
mkdir build
46+
cd build
47+
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release ../src
48+
ninja
49+
tar -czf ${{ github.workspace }}/buildcache-${{ matrix.archive_extra }}.tar.gz buildcache${{ matrix.buildcache_ext }}
50+
- name: Upload buildcache artifact
51+
uses: actions/upload-artifact@v4
52+
with:
53+
name: buildcache-${{ matrix.archive_extra }}
54+
path: ${{ github.workspace }}/buildcache-${{ matrix.archive_extra }}.tar.gz

0 commit comments

Comments
 (0)