| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- - name: Install dependencies
- env:
- # Build from source for compatibility with macOS 10.13
- ZLIB_VERSION: 1.3.1
- MBEDTLS_VERSION: 3.6.4
- PCRE2_VERSION: 10.45
- CMAKE_BUILD_TYPE: Release
- CMAKE_GENERATOR: Ninja
- run: |
- set -ex
- brew update
- brew bundle --file=tests/Brewfile --no-upgrade
- curl -L https://github.com/madler/zlib/releases/download/v$ZLIB_VERSION/zlib-$ZLIB_VERSION.tar.gz | tar xz
- cd zlib-$ZLIB_VERSION
- cmake -B build -DCMAKE_OSX_ARCHITECTURES=${{ matrix.arch }}
- cmake --build build
- sudo cmake --install build
- cd ..
- curl -L https://github.com/Mbed-TLS/mbedtls/releases/download/mbedtls-$MBEDTLS_VERSION/mbedtls-$MBEDTLS_VERSION.tar.bz2 | tar xz
- cd mbedtls-$MBEDTLS_VERSION
- cmake -B build -DCMAKE_OSX_ARCHITECTURES=${{ matrix.arch }} \
- -DENABLE_TESTING=OFF
- cmake --build build
- sudo cmake --install build
- cd ..
- curl -L https://github.com/PCRE2Project/pcre2/releases/download/pcre2-$PCRE2_VERSION/pcre2-$PCRE2_VERSION.tar.gz | tar xz
- cd pcre2-$PCRE2_VERSION
- cmake -B build -DCMAKE_OSX_ARCHITECTURES=${{ matrix.arch }} \
- -DPCRE2_SUPPORT_JIT=ON \
- -DPCRE2_BUILD_TESTS=OFF \
- -DPCRE2_BUILD_PCRE2GREP=OFF
- cmake --build build
- sudo cmake --install build
- cd ..
- - name: Install Opam
- run: |
- curl -sSL https://github.com/ocaml/opam/releases/download/2.3.0/opam-2.3.0-${{ matrix.arch }}-macos -o $RUNNER_TEMP/opam
- sudo install $RUNNER_TEMP/opam /usr/local/bin/opam
- - name: Install OCaml libraries
- if: steps.cache-opam.outputs.cache-hit != 'true'
- run: |
- set -ex
- opam init -c ${{ env.OCAML_VERSION }}
- opam update
- eval $(opam env)
- opam env
- opam pin add haxe . --no-action
- opam install haxe --deps-only --assume-depexts
- opam list
- ocamlopt -v
- - name: Set ADD_REVISION=1 for non-release
- if: ${{ !startsWith(github.ref, 'refs/tags/') }}
- run: echo "ADD_REVISION=1" >> $GITHUB_ENV
- - name: Build Haxe
- run: |
- set -ex
- eval $(opam env)
- opam exec -- make -s STATICLINK=1 "LIB_PARAMS=\"/usr/local/lib/libz.a\" \"/usr/local/lib/libpcre2-8.a\" \"/usr/local/lib/libmbedtls.a\" \"/usr/local/lib/libmbedcrypto.a\" \"/usr/local/lib/libmbedx509.a\"" haxe
- opam exec -- make -s haxelib
- opam exec -- make -s package_unix package_installer_mac
- ls -l out
- otool -L ./haxe
- otool -L ./haxelib
- - name: Upload artifact (x64)
- if: matrix.arch == 'x86_64'
- uses: actions/upload-artifact@v4
- with:
- name: macX64Binaries
- path: out
- - name: Upload artifact (arm)
- if: matrix.arch == 'arm64'
- uses: actions/upload-artifact@v4
- with:
- name: macArmBinaries
- path: out
|