Skip to content

Commit

Permalink
Merge branch 'development' into hxb_shared_string_pools
Browse files Browse the repository at this point in the history
  • Loading branch information
kLabz committed Apr 30, 2024
2 parents 9479038 + c325889 commit 1f40727
Show file tree
Hide file tree
Showing 165 changed files with 1,777 additions and 651 deletions.
106 changes: 77 additions & 29 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand All @@ -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/') }}
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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 }}
Expand All @@ -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
Expand Down Expand Up @@ -439,28 +439,34 @@ 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-14, macos-13]
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:
submodules: recursive

- 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: |
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand All @@ -536,10 +542,18 @@ jobs:
otool -L ./haxe
otool -L ./haxelib
- name: Upload artifact
uses: actions/upload-artifact@v3
- name: Upload artifact (x64)
if: runner.arch == 'X64'
uses: actions/upload-artifact@v4
with:
name: macBinaries
name: macX64Binaries
path: out

- name: Upload artifact (arm)
if: runner.arch == 'ARM64'
uses: actions/upload-artifact@v4
with:
name: macArmBinaries
path: out


Expand All @@ -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
Expand All @@ -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

Expand Down Expand Up @@ -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-13
env:
PLATFORM: mac
TEST: ${{matrix.target}}
Expand All @@ -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
Expand Down Expand Up @@ -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: |
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand Down
19 changes: 19 additions & 0 deletions .github/workflows/target.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Check pull request target branch
on:
pull_request_target:
types:
- opened
- reopened
- synchronize
- edited
jobs:
check-branches:
runs-on: ubuntu-latest
steps:
- name: Check branches
run: |
if [ ${{ github.base_ref }} != "development" ]; then
echo "Merge requests should target `development`."
exit 1
fi
31 changes: 31 additions & 0 deletions extra/CHANGES.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,34 @@
2024-03-04 4.3.4

General improvements:

all : allow @:using with Class and Enum (#11553)
display : expose list of metadata/defines (#11399)

Bugfixes:

all : typedef vs. GADT (#11446)
all : don't double-throw exceptions (#11175)
all : fix some abstract inlining failures (#11526)
all : fix JsonPrinter empty parent class (#11560)
all : dce: clean up operator handling (#11427)
all : analyzer: deal with unreachable block in binops (#11402)
all : analyzer: don't recursively check enum values when const propagating (#11429)
all : analyzer: fix check for inlined purity meta
display : fix errors from parser missing in diagnostics (#8687)
display : fix display services with static extension (#11285)
display : fix display services with safe navigation (#11205)
hl : hlopt rework try-catch control flow (#11581)
hl/c : fix reserved keywords (#11408)

Deprecation / future version handling:

all : don't infer string on concat, when using -D haxe-next (#11318)
all : handle optional arguments with bind, when using -D haxe-next (#11533)
macro : build order vs inheritance, when using -D haxe-next (#11582)
macro : deprecate some API from haxe.macro.Compiler (see #11540)
java/jvm : warn about --java ... -D jvm vs --jvm ...

2023-09-17 4.3.3

General improvements:
Expand Down
24 changes: 16 additions & 8 deletions extra/github-actions/build-mac.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,16 @@
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
Expand All @@ -31,10 +31,10 @@
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
Expand All @@ -55,8 +55,16 @@
otool -L ./haxe
otool -L ./haxelib
- name: Upload artifact
uses: actions/upload-artifact@v3
- name: Upload artifact (x64)
if: runner.arch == 'X64'
uses: actions/upload-artifact@v4
with:
name: macBinaries
name: macX64Binaries
path: out

- name: Upload artifact (arm)
if: runner.arch == 'ARM64'
uses: actions/upload-artifact@v4
with:
name: macArmBinaries
path: out
2 changes: 1 addition & 1 deletion extra/github-actions/build-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
[ $(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
Loading

0 comments on commit 1f40727

Please sign in to comment.