Skip to content

Commit c26f04b

Browse files
testing build
1 parent 23efda1 commit c26f04b

File tree

1 file changed

+42
-52
lines changed

1 file changed

+42
-52
lines changed

.github/workflows/build-zauth.yaml

Lines changed: 42 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -5,69 +5,59 @@ on:
55

66
name: Build zAuth Rust binary for ARM64
77
jobs:
8-
build:
8+
build-macos-arm:
99
runs-on: ubuntu-latest
10+
env:
11+
OSXCROSS_TARGET: ${{ github.workspace }}/osxcross
12+
SDK_VERSION: 15.5
13+
TARGET: aarch64-apple-darwin
1014
steps:
11-
- name: Checkout repository
12-
uses: actions/checkout@v4
15+
- uses: actions/checkout@v4
1316

14-
- name: Set up Rust
15-
uses: dtolnay/rust-toolchain@stable
16-
with:
17-
targets: aarch64-apple-darwin
17+
- name: Install dependencies
18+
run: sudo apt-get update && sudo apt-get install -y clang build-essential cmake git curl xz-utils
1819

19-
- name: Set up osxcross toolchain
20+
- name: Setup osxcross
2021
uses: Timmmm/setup-osxcross@v2
2122
with:
22-
osx-version: "15.5"
23+
osx-version: ${{ env.SDK_VERSION }}
24+
25+
- name: Download macOS SDK
26+
run: |
27+
mkdir -p $OSXCROSS_TARGET/SDK
28+
curl -L -o $OSXCROSS_TARGET/SDK/MacOSX${SDK_VERSION}.sdk.tar.xz \
29+
https://github.com/tpoechtrager/osxcross/raw/master/tarballs/MacOSX${SDK_VERSION}.sdk.tar.xz
30+
tar -xJf $OSXCROSS_TARGET/SDK/MacOSX${SDK_VERSION}.sdk.tar.xz -C $OSXCROSS_TARGET/SDK
31+
shell: bash
2332

24-
- name: Configure environment for macOS ARM cross-compiling
33+
- name: Setup cross compile env
2534
run: |
26-
export TRIPLE="aarch64-apple-darwin24.5"
27-
export ARCHFLAG="-arch arm64"
28-
29-
echo "CC=${TRIPLE}-clang" >> $GITHUB_ENV
30-
echo "CXX=${TRIPLE}-clang++" >> $GITHUB_ENV
31-
echo "AR=${TRIPLE}-ar" >> $GITHUB_ENV
32-
echo "TARGET=aarch64-apple-darwin" >> $GITHUB_ENV
33-
echo "CFLAGS=-isysroot /usr/local/osxcross/target/SDK/MacOSX15.5.sdk -mmacosx-version-min=11.0 ${ARCHFLAG}" >> $GITHUB_ENV
34-
echo "LDFLAGS=-isysroot /usr/local/osxcross/target/SDK/MacOSX15.5.sdk ${ARCHFLAG}" >> $GITHUB_ENV
35-
echo "RUSTFLAGS=-C linker=${TRIPLE}-clang" >> $GITHUB_ENV
36-
echo "MACOSX_DEPLOYMENT_TARGET=11.0" >> $GITHUB_ENV
37-
echo "OSXCROSS_NO_INCLUDE_PATHS=1" >> $GITHUB_ENV
38-
echo "SDKROOT=/usr/local/osxcross/target/SDK/MacOSX15.5.sdk" >> $GITHUB_ENV
39-
echo "PKG_CONFIG_ALLOW_CROSS=1" >> $GITHUB_ENV
40-
echo "ac_cv_func_malloc_0_nonnull=yes" >> $GITHUB_ENV
41-
echo "ac_cv_func_realloc_0_nonnull=yes" >> $GITHUB_ENV
35+
export SDKROOT=$OSXCROSS_TARGET/SDK/MacOSX${SDK_VERSION}.sdk
36+
export CC=$OSXCROSS_TARGET/bin/aarch64-apple-darwin24.5-clang
37+
export CXX=$OSXCROSS_TARGET/bin/aarch64-apple-darwin24.5-clang++
38+
export AR=$OSXCROSS_TARGET/bin/aarch64-apple-darwin24.5-ar
39+
export CFLAGS="-isysroot $SDKROOT -mmacosx-version-min=11.0 -arch arm64"
40+
export LDFLAGS="-isysroot $SDKROOT -arch arm64"
41+
export RUSTFLAGS="-C linker=$CC"
42+
echo "SDKROOT=$SDKROOT" >> $GITHUB_ENV
43+
echo "CC=$CC" >> $GITHUB_ENV
44+
echo "CXX=$CXX" >> $GITHUB_ENV
45+
echo "AR=$AR" >> $GITHUB_ENV
46+
echo "CFLAGS=$CFLAGS" >> $GITHUB_ENV
47+
echo "LDFLAGS=$LDFLAGS" >> $GITHUB_ENV
48+
echo "RUSTFLAGS=$RUSTFLAGS" >> $GITHUB_ENV
4249
43-
- name: Verify compiler
50+
- name: Build zauth
4451
run: |
45-
which $CC
46-
$CC --version
47-
echo "int main() {return 0;}" | $CC -v $CFLAGS -x c -o /dev/null -
52+
cargo build --release --target $TARGET
4853
49-
- name: Build libzauth (Rust + C + libsodium-sys)
54+
- name: Copy zauth binary
5055
run: |
51-
echo "Building for aarch64-apple-darwin..."
52-
make libzauth
53-
env:
54-
TARGET: aarch64-apple-darwin
55-
CC: ${{ env.CC }}
56-
CXX: ${{ env.CXX }}
57-
AR: ${{ env.AR }}
58-
CFLAGS: ${{ env.CFLAGS }}
59-
LDFLAGS: ${{ env.LDFLAGS }}
60-
RUSTFLAGS: ${{ env.RUSTFLAGS }}
61-
MACOSX_DEPLOYMENT_TARGET: 11.0
62-
OSXCROSS_NO_INCLUDE_PATHS: 1
63-
SDKROOT: /usr/local/osxcross/target/SDK/MacOSX15.5.sdk
64-
PKG_CONFIG_ALLOW_CROSS: 1
65-
ac_cv_func_malloc_0_nonnull: yes
66-
ac_cv_func_realloc_0_nonnull: yes
56+
mkdir -p build-artifacts
57+
cp target/$TARGET/release/zauth build-artifacts/
6758
68-
- name: Upload compiled artifact
69-
uses: actions/upload-artifact@v4
59+
- name: Upload zauth macOS ARM binary
60+
uses: actions/upload-artifact@v3
7061
with:
71-
name: libzauth-aarch64-apple-darwin
72-
path: |
73-
libs/libzauth/libzauth-c/target/aarch64-apple-darwin/release
62+
name: zauth-macos-arm
63+
path: build-artifacts/zauth

0 commit comments

Comments
 (0)