|
@@ -24,7 +24,7 @@ jobs:
|
|
|
rm C:\msys64\usr\bin\bash.exe
|
|
|
|
|
|
- name: choco install nsis
|
|
|
- uses: nick-invision/retry@v2
|
|
|
+ uses: nick-invision/retry@v3
|
|
|
with:
|
|
|
timeout_minutes: 10
|
|
|
max_attempts: 10
|
|
@@ -114,7 +114,7 @@ jobs:
|
|
|
[ $(ls -1 out | wc -l) -eq "3" ]
|
|
|
|
|
|
- name: Upload artifact
|
|
|
- uses: actions/upload-artifact@v3
|
|
|
+ uses: actions/upload-artifact@v4
|
|
|
with:
|
|
|
name: win${{env.ARCH}}Binaries
|
|
|
path: out
|
|
@@ -136,7 +136,7 @@ jobs:
|
|
|
|
|
|
- name: Cache opam
|
|
|
id: cache-opam
|
|
|
- uses: actions/cache@v3.0.11
|
|
|
+ uses: actions/cache@v4
|
|
|
with:
|
|
|
path: ~/.opam/
|
|
|
key: ${{ runner.os }}-${{ matrix.ocaml }}-${{ hashFiles('./haxe.opam', './libs/') }}
|
|
@@ -213,13 +213,13 @@ jobs:
|
|
|
EOL
|
|
|
|
|
|
- name: Upload artifact
|
|
|
- uses: actions/upload-artifact@v3
|
|
|
+ uses: actions/upload-artifact@v4
|
|
|
with:
|
|
|
name: linuxBinaries${{ (matrix.ocaml == '5.0.0' && '_ocaml5') || '' }}
|
|
|
path: out
|
|
|
|
|
|
- name: Upload xmldoc artifact
|
|
|
- uses: actions/upload-artifact@v3
|
|
|
+ uses: actions/upload-artifact@v4
|
|
|
if: matrix.ocaml == '4.08.1'
|
|
|
with:
|
|
|
name: xmldoc
|
|
@@ -251,7 +251,7 @@ jobs:
|
|
|
- uses: actions/checkout@main
|
|
|
with:
|
|
|
submodules: recursive
|
|
|
- - uses: actions/download-artifact@v3
|
|
|
+ - uses: actions/download-artifact@v4
|
|
|
with:
|
|
|
name: linuxBinaries${{ (matrix.ocaml == '5.0.0' && '_ocaml5') || '' }}
|
|
|
path: linuxBinaries
|
|
@@ -321,13 +321,13 @@ jobs:
|
|
|
with:
|
|
|
submodules: recursive
|
|
|
|
|
|
- - uses: actions/download-artifact@v3
|
|
|
+ - uses: actions/download-artifact@v4
|
|
|
with:
|
|
|
name: linuxBinaries
|
|
|
path: linuxBinaries
|
|
|
|
|
|
- name: Download xmldoc artifact
|
|
|
- uses: actions/download-artifact@v3
|
|
|
+ uses: actions/download-artifact@v4
|
|
|
with:
|
|
|
name: xmldoc
|
|
|
path: xmldoc
|
|
@@ -396,7 +396,7 @@ jobs:
|
|
|
FORCE_COLOR: 1
|
|
|
steps:
|
|
|
- name: Login to GitHub Container Registry
|
|
|
- uses: docker/login-action@v2
|
|
|
+ uses: docker/login-action@v3
|
|
|
with:
|
|
|
registry: ghcr.io
|
|
|
username: ${{ github.actor }}
|
|
@@ -407,7 +407,7 @@ jobs:
|
|
|
|
|
|
- name: Set up QEMU
|
|
|
id: qemu
|
|
|
- uses: docker/setup-qemu-action@v2
|
|
|
+ uses: docker/setup-qemu-action@v3
|
|
|
with:
|
|
|
image: tonistiigi/binfmt:latest
|
|
|
platforms: all
|
|
@@ -439,17 +439,23 @@ jobs:
|
|
|
EARTHLY_REMOTE_CACHE: "ghcr.io/${{env.CONTAINER_REG}}_cache:build-${{env.CONTAINER_TAG}}-arm64"
|
|
|
|
|
|
- name: Upload artifact
|
|
|
- uses: actions/upload-artifact@v3
|
|
|
+ uses: actions/upload-artifact@v4
|
|
|
with:
|
|
|
name: linuxArm64Binaries
|
|
|
path: out/linux/arm64
|
|
|
|
|
|
mac-build:
|
|
|
- runs-on: macos-latest
|
|
|
+ strategy:
|
|
|
+ fail-fast: false
|
|
|
+ matrix:
|
|
|
+ os: [macos-latest, macos-14]
|
|
|
+ runs-on: ${{ matrix.os }}
|
|
|
env:
|
|
|
PLATFORM: mac
|
|
|
OPAMYES: 1
|
|
|
MACOSX_DEPLOYMENT_TARGET: 10.13
|
|
|
+ OCAML_VERSION: 5.1.1
|
|
|
+ CTYPES: 0.21.1
|
|
|
steps:
|
|
|
- uses: actions/checkout@main
|
|
|
with:
|
|
@@ -457,10 +463,10 @@ jobs:
|
|
|
|
|
|
- name: Cache opam
|
|
|
id: cache-opam
|
|
|
- uses: actions/cache@v3.0.11
|
|
|
+ uses: actions/cache@v4
|
|
|
with:
|
|
|
path: ~/.opam/
|
|
|
- key: ${{ runner.os }}-${{ hashFiles('./haxe.opam', './libs/') }}
|
|
|
+ key: ${{ matrix.os }}-${{ hashFiles('./haxe.opam', './libs/') }}
|
|
|
|
|
|
- name: Install Neko from S3
|
|
|
run: |
|
|
@@ -494,16 +500,16 @@ jobs:
|
|
|
curl -L https://github.com/madler/zlib/releases/download/v$ZLIB_VERSION/zlib-$ZLIB_VERSION.tar.gz | tar xz
|
|
|
cd zlib-$ZLIB_VERSION
|
|
|
./configure
|
|
|
- make && make install
|
|
|
+ sudo make && sudo make install
|
|
|
cd ..
|
|
|
curl -L https://github.com/ARMmbed/mbedtls/archive/v$MBEDTLS_VERSION.tar.gz | tar xz
|
|
|
cd mbedtls-$MBEDTLS_VERSION
|
|
|
- make && make install
|
|
|
+ sudo make && sudo make install
|
|
|
cd ..
|
|
|
curl -L https://github.com/PCRE2Project/pcre2/releases/download/pcre2-$PCRE2_VERSION/pcre2-$PCRE2_VERSION.tar.gz | tar xz
|
|
|
cd pcre2-$PCRE2_VERSION
|
|
|
./configure --enable-unicode --enable-pcre2-8 --enable-pcre2-16 --enable-pcre2-32 --enable-unicode-properties --enable-pcre2grep-libz --enable-pcre2grep-libbz2 --enable-jit
|
|
|
- make && make install
|
|
|
+ sudo make && sudo make install
|
|
|
cd ..
|
|
|
|
|
|
- name: Install OCaml libraries
|
|
@@ -512,10 +518,10 @@ jobs:
|
|
|
set -ex
|
|
|
opam init # --disable-sandboxing
|
|
|
opam update
|
|
|
- opam switch create 4.08.1
|
|
|
+ opam switch create ${{env.OCAML_VERSION}}
|
|
|
eval $(opam env)
|
|
|
opam env
|
|
|
- opam pin add ctypes 0.17.1 --yes
|
|
|
+ opam pin add ctypes ${{env.CTYPES}} --yes
|
|
|
opam pin add haxe . --no-action
|
|
|
opam install haxe --deps-only --assume-depexts
|
|
|
opam list
|
|
@@ -536,10 +542,18 @@ jobs:
|
|
|
otool -L ./haxe
|
|
|
otool -L ./haxelib
|
|
|
|
|
|
- - name: Upload artifact
|
|
|
- uses: actions/upload-artifact@v3
|
|
|
+ - name: Upload artifact (x64)
|
|
|
+ if: matrix.os == 'macos-latest'
|
|
|
+ uses: actions/upload-artifact@v4
|
|
|
with:
|
|
|
- name: macBinaries
|
|
|
+ name: macX64Binaries
|
|
|
+ path: out
|
|
|
+
|
|
|
+ - name: Upload artifact (arm)
|
|
|
+ if: matrix.os == 'macos-14'
|
|
|
+ uses: actions/upload-artifact@v4
|
|
|
+ with:
|
|
|
+ name: macArmBinaries
|
|
|
path: out
|
|
|
|
|
|
|
|
@@ -561,7 +575,7 @@ jobs:
|
|
|
- uses: actions/checkout@main
|
|
|
with:
|
|
|
submodules: recursive
|
|
|
- - uses: actions/download-artifact@v3
|
|
|
+ - uses: actions/download-artifact@v4
|
|
|
with:
|
|
|
name: win${{env.ARCH}}Binaries
|
|
|
path: win${{env.ARCH}}Binaries
|
|
@@ -578,7 +592,7 @@ jobs:
|
|
|
- name: Print Neko version
|
|
|
run: neko -version 2>&1
|
|
|
|
|
|
- - uses: actions/setup-node@v3
|
|
|
+ - uses: actions/setup-node@v4
|
|
|
with:
|
|
|
node-version: 18.17.1
|
|
|
|
|
@@ -639,9 +653,43 @@ jobs:
|
|
|
working-directory: ${{github.workspace}}/tests
|
|
|
|
|
|
|
|
|
- mac-test:
|
|
|
+ mac-build-universal:
|
|
|
needs: mac-build
|
|
|
runs-on: macos-latest
|
|
|
+ steps:
|
|
|
+ - name: Checkout the repository
|
|
|
+ uses: actions/checkout@main
|
|
|
+ - uses: actions/download-artifact@v4
|
|
|
+ with:
|
|
|
+ name: macX64Binaries
|
|
|
+ path: macX64Binaries
|
|
|
+ - uses: actions/download-artifact@v4
|
|
|
+ with:
|
|
|
+ name: macArmBinaries
|
|
|
+ path: macArmBinaries
|
|
|
+
|
|
|
+ - name: Make universal binary
|
|
|
+ run: |
|
|
|
+ set -ex
|
|
|
+ tar -xf macX64Binaries/*_bin.tar.gz -C macX64Binaries --strip-components=1
|
|
|
+ tar -xf macArmBinaries/*_bin.tar.gz -C macArmBinaries --strip-components=1
|
|
|
+ lipo -create -output haxe macX64Binaries/haxe macArmBinaries/haxe
|
|
|
+ # there is only x64 haxelib
|
|
|
+ mv macX64Binaries/haxelib .
|
|
|
+ make -s package_unix package_installer_mac
|
|
|
+ ls -l out
|
|
|
+ otool -L ./haxe
|
|
|
+ otool -L ./haxelib
|
|
|
+
|
|
|
+ - name: Upload artifact (universal)
|
|
|
+ uses: actions/upload-artifact@v4
|
|
|
+ with:
|
|
|
+ name: macBinaries
|
|
|
+ path: out
|
|
|
+
|
|
|
+ mac-test:
|
|
|
+ needs: mac-build-universal
|
|
|
+ runs-on: macos-latest
|
|
|
env:
|
|
|
PLATFORM: mac
|
|
|
TEST: ${{matrix.target}}
|
|
@@ -658,7 +706,7 @@ jobs:
|
|
|
- uses: actions/checkout@main
|
|
|
with:
|
|
|
submodules: recursive
|
|
|
- - uses: actions/download-artifact@v3
|
|
|
+ - uses: actions/download-artifact@v4
|
|
|
with:
|
|
|
name: macBinaries
|
|
|
path: macBinaries
|
|
@@ -726,7 +774,7 @@ jobs:
|
|
|
uses: actions/checkout@main
|
|
|
|
|
|
- name: Download build artifacts
|
|
|
- uses: actions/download-artifact@v3
|
|
|
+ uses: actions/download-artifact@v4
|
|
|
|
|
|
- name: Install awscli
|
|
|
run: |
|
|
@@ -795,7 +843,7 @@ jobs:
|
|
|
sudo apt-get install -qqy libc6
|
|
|
|
|
|
- name: Download Haxe
|
|
|
- uses: actions/download-artifact@v3
|
|
|
+ uses: actions/download-artifact@v4
|
|
|
with:
|
|
|
name: linuxBinaries
|
|
|
path: linuxBinaries
|
|
@@ -811,7 +859,7 @@ jobs:
|
|
|
sudo ln -s `pwd`/linuxBinaries/std /usr/local/share/haxe/std
|
|
|
|
|
|
- name: Download xmldoc artifact
|
|
|
- uses: actions/download-artifact@v3
|
|
|
+ uses: actions/download-artifact@v4
|
|
|
with:
|
|
|
name: xmldoc
|
|
|
path: xmldoc
|