Windows mbstring fix #212
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: [push, pull_request] | |
jobs: | |
linux-test: | |
runs-on: ubuntu-20.04 | |
permissions: | |
packages: write | |
env: | |
FORCE_COLOR: 1 | |
PLATFORM: linux64 | |
TEST: ${{matrix.target}} | |
RUNNER_TEMP: /tmp | |
strategy: | |
fail-fast: false | |
matrix: | |
# TODO enable lua after https://github.com/HaxeFoundation/haxe/issues/5024 | |
target: [macro, js, hl, cpp, 'java,jvm', cs, php, python, flash, neko] | |
include: | |
- haxe_latest_dist: linux64/haxe_latest.tar.gz | |
# - target: lua | |
# APT_PACKAGES: ncurses-dev | |
# haxe_latest_dist: linux64/haxe_latest.tar.gz | |
- target: flash | |
APT_PACKAGES: libglib2.0-0 libgtk2.0-0 libfreetype6 xvfb | |
haxe_latest_dist: linux64/haxe_latest.tar.gz | |
steps: | |
- uses: actions/checkout@main | |
with: | |
submodules: recursive | |
- name: Install Neko from S3 | |
shell: bash | |
run: | | |
curl -sSL https://build.haxe.org/builds/neko/${{ env.PLATFORM }}/neko_latest.tar.gz -o ${{ env.RUNNER_TEMP }}/neko_latest.tar.gz | |
tar xzvf ${{ env.RUNNER_TEMP }}/neko_latest.tar.gz -C /tmp/ | |
NEKOPATH=`echo ${{ env.RUNNER_TEMP }}/neko-*-*` | |
sudo mkdir -p /usr/local/bin | |
sudo mkdir -p /usr/local/lib/neko | |
sudo ln -s $NEKOPATH/neko /usr/local/bin/ | |
sudo ln -s $NEKOPATH/nekoc /usr/local/bin/ | |
sudo ln -s $NEKOPATH/nekoml /usr/local/bin/ | |
sudo ln -s $NEKOPATH/nekotools /usr/local/bin/ | |
sudo ln -s $NEKOPATH/libneko.* /usr/local/lib/ | |
sudo ln -s $NEKOPATH/*.ndll /usr/local/lib/neko/ | |
echo "$NEKOPATH" >> $GITHUB_PATH | |
echo "/usr/local/lib/" >> $GITHUB_PATH | |
echo "/usr/local/lib/neko/" >> $GITHUB_PATH | |
echo "NEKOPATH=$NEKOPATH" >> $GITHUB_ENV | |
echo "LD_LIBRARY_PATH=/usr/local/lib/" >> $GITHUB_ENV | |
- name: Print Neko version | |
run: neko -version 2>&1 | |
- name: Setup Haxe | |
shell: bash | |
run: | | |
set -eux | |
download_url="https://build.haxe.org/builds/haxe/${{ matrix.haxe_latest_dist }}" | |
echo "Downloading [$download_url]..." | |
mkdir /tmp/haxe | |
curl -fsSL --retry 3 --retry-delay 5 "$download_url" -o /tmp/haxe.tar.gz | |
tar xzvf /tmp/haxe.tar.gz -C /tmp/haxe --strip-components=1 | |
echo "/tmp/haxe/" >> $GITHUB_PATH | |
echo "HAXE_STD_PATH=/tmp/haxe/std" >> $GITHUB_ENV | |
- name: Print Haxe version | |
shell: bash | |
run: haxe -version | |
- name: "Print Python 3 version" | |
shell: bash | |
run: | | |
set -eux | |
python3 -V | |
- name: Install wget | |
if: matrix.target == 'flash' | |
shell: bash | |
run: | | |
wget --version | |
- name: Setup haxelib | |
shell: bash | |
run: | | |
haxelib setup ~/haxelib | |
- name: Install apt packages | |
if: matrix.APT_PACKAGES | |
run: | | |
set -ex | |
sudo apt update -qqy | |
sudo apt install -qqy ${{matrix.APT_PACKAGES}} | |
- name: Flash setup | |
if: matrix.target == 'flash' | |
run: export DISPLAY=:99.0 | |
- name: Test | |
shell: bash | |
run: haxe RunCi.hxml | |
working-directory: ${{github.workspace}}/tests | |
windows64-test: | |
runs-on: windows-latest | |
env: | |
ACTIONS_ALLOW_UNSECURE_COMMANDS: true | |
PLATFORM: windows64 | |
TEST: ${{matrix.target}} | |
HXCPP_COMPILE_CACHE: ~/hxcache | |
ARCH: 64 | |
strategy: | |
fail-fast: false | |
matrix: | |
# TODO enable lua after https://github.com/HaxeFoundation/haxe/issues/5024 | |
target: [macro, js, hl, cpp, 'java,jvm', cs, php, python, flash, neko] | |
include: | |
- haxe_latest_dist: windows64/haxe_latest.zip | |
steps: | |
- uses: actions/checkout@main | |
with: | |
submodules: recursive | |
- uses: shivammathur/setup-php@v2 | |
with: | |
php-version: '8.2' | |
extension-csv: mbstring | |
- name: Install Neko from S3 | |
shell: pwsh | |
run: | | |
Invoke-WebRequest https://build.haxe.org/builds/neko/$env:PLATFORM/neko_latest.zip -OutFile $env:RUNNER_TEMP/neko_latest.zip | |
Expand-Archive $env:RUNNER_TEMP/neko_latest.zip -DestinationPath $env:RUNNER_TEMP | |
$NEKOPATH = Get-ChildItem $env:RUNNER_TEMP/neko-*-* | |
echo "$NEKOPATH" >> $env:GITHUB_PATH | |
echo "NEKOPATH=$NEKOPATH" >> $env:GITHUB_ENV | |
- name: Print Neko version | |
run: neko -version 2>&1 | |
- name: Print PHP extension | |
run: php -i | grep mbstring | |
# - name: Quick test | |
# shell: pwsh | |
# run: | | |
# $DOWNLOADDIR="./win$($env:ARCH)Binaries" | |
# new-item -Name $DOWNLOADDIR -ItemType directory | |
# Invoke-WebRequest https://build.haxe.org/builds/haxe/$env:PLATFORM/haxe_latest.zip -OutFile $DOWNLOADDIR/haxe_bin.zip | |
- name: Setup Haxe | |
shell: pwsh | |
run: | | |
Set-Variable -Name download_url -Value "https://build.haxe.org/builds/haxe/${{ matrix.haxe_latest_dist }}" | |
echo "Downloading [$download_url]..." | |
curl -fsSL --retry 3 --retry-delay 5 "$download_url" -o $env:TEMP/haxe.zip | |
7z x $env:TEMP/haxe.zip "-o$env:TEMP" | |
mv -v $env:TEMP/haxe_* $env:TEMP/haxe | |
echo "$env:TEMP/haxe/" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | |
echo "HAXE_STD_PATH=$env:TEMP/haxe/std/" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append | |
- name: Print Haxe version | |
shell: pwsh | |
run: haxe -version | |
- name: "Make Python 3 be available as python3 in the cmdline" | |
shell: pwsh | |
run: | | |
Set-PSDebug -Trace 1 | |
$pypath = python -c "import sys; print(sys.executable)" | |
$py3path = $pypath.replace("python.exe","python3.exe") | |
cmd /c mklink $py3path $pypath | |
python3 -V | |
- name: Install hererocks | |
if: matrix.target == 'lua' | |
shell: cmd | |
run: | | |
pip install hererocks | |
hererocks lua53 -l5.3 -rlatest | |
call lua53/bin/activate | |
- name: Install wget | |
if: matrix.target == 'flash' | |
shell: cmd | |
run: | | |
choco install wget | |
wget --version | |
- name: Setup haxelib | |
shell: pwsh | |
run: | | |
haxelib setup ~/haxelib | |
haxelib version | |
haxelib config | |
- name: Test | |
shell: pwsh | |
run: haxe RunCi.hxml | |
working-directory: ${{github.workspace}}/tests | |
windows-test: | |
runs-on: windows-latest | |
env: | |
ACTIONS_ALLOW_UNSECURE_COMMANDS: true | |
PLATFORM: windows | |
TEST: ${{matrix.target}} | |
HXCPP_COMPILE_CACHE: ~/hxcache | |
ARCH: 32 | |
strategy: | |
fail-fast: false | |
matrix: | |
# TODO jvm: https://github.com/HaxeFoundation/haxe/issues/8601 | |
# TODO enable lua after https://github.com/HaxeFoundation/haxe/issues/5024 | |
target: [macro, js, hl, cpp, java, cs, php, python, neko] | |
include: | |
- haxe_latest_dist: windows/haxe_latest.zip | |
steps: | |
- uses: actions/checkout@main | |
with: | |
submodules: recursive | |
- name: Install Neko from S3 | |
shell: pwsh | |
run: | | |
Invoke-WebRequest https://build.haxe.org/builds/neko/$env:PLATFORM/neko_latest.zip -OutFile $env:RUNNER_TEMP/neko_latest.zip | |
Expand-Archive $env:RUNNER_TEMP/neko_latest.zip -DestinationPath $env:RUNNER_TEMP | |
$NEKOPATH = Get-ChildItem $env:RUNNER_TEMP/neko-*-* | |
echo "$NEKOPATH" >> $env:GITHUB_PATH | |
echo "NEKOPATH=$NEKOPATH" >> $env:GITHUB_ENV | |
- name: Print Neko version | |
run: neko -version 2>&1 | |
# - name: Quick test | |
# shell: pwsh | |
# run: | | |
# $DOWNLOADDIR="./win$($env:ARCH)Binaries" | |
# new-item -Name $DOWNLOADDIR -ItemType directory | |
# Invoke-WebRequest https://build.haxe.org/builds/haxe/$env:PLATFORM/haxe_latest.zip -OutFile $DOWNLOADDIR/haxe_bin.zip | |
- name: Setup Haxe | |
shell: pwsh | |
run: | | |
Set-Variable -Name download_url -Value "https://build.haxe.org/builds/haxe/${{ matrix.haxe_latest_dist }}" | |
echo "Downloading [$download_url]..." | |
curl -fsSL --retry 3 --retry-delay 5 "$download_url" -o $env:TEMP/haxe.zip | |
7z x $env:TEMP/haxe.zip "-o$env:TEMP" | |
mv -v $env:TEMP/haxe_* $env:TEMP/haxe | |
echo "$env:TEMP/haxe/" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append | |
echo "HAXE_STD_PATH=$env:TEMP/haxe/std/" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append | |
- name: Print Haxe version | |
shell: pwsh | |
run: haxe -version | |
- name: "Make Python 3 be available as python3 in the cmdline" | |
shell: pwsh | |
run: | | |
Set-PSDebug -Trace 1 | |
$pypath = python -c "import sys; print(sys.executable)" | |
$py3path = $pypath.replace("python.exe","python3.exe") | |
cmd /c mklink $py3path $pypath | |
python3 -V | |
- name: Install hererocks | |
if: matrix.target == 'lua' | |
shell: cmd | |
run: | | |
pip install hererocks | |
hererocks lua53 -l5.3 -rlatest | |
call lua53/bin/activate | |
- name: Install wget | |
if: matrix.target == 'flash' | |
shell: cmd | |
run: | | |
choco install wget | |
wget --version | |
- name: Setup haxelib | |
shell: pwsh | |
run: | | |
haxelib setup ~/haxelib | |
haxelib version | |
haxelib config | |
- name: Test | |
shell: pwsh | |
run: haxe RunCi.hxml -D win32 | |
working-directory: ${{github.workspace}}/tests | |
mac-test: | |
runs-on: macos-latest | |
env: | |
PLATFORM: mac | |
TEST: ${{matrix.target}} | |
HXCPP_COMPILE_CACHE: ~/hxcache | |
strategy: | |
fail-fast: false | |
matrix: | |
target: [macro, js, hl, cpp, 'java,jvm', cs, php, python, flash, neko] | |
include: | |
- target: hl | |
BREW_PACKAGES: ninja | |
haxe_latest_dist: mac/haxe_latest.tar.gz | |
steps: | |
- uses: actions/checkout@main | |
with: | |
submodules: recursive | |
- name: Install Neko from S3 | |
run: | | |
set -ex | |
curl -sSL https://build.haxe.org/builds/neko/$PLATFORM/neko_latest.tar.gz -o ${RUNNER_TEMP}/neko_latest.tar.gz | |
tar -xf ${RUNNER_TEMP}/neko_latest.tar.gz -C ${RUNNER_TEMP} | |
NEKOPATH=`echo ${RUNNER_TEMP}/neko-*-*` | |
sudo mkdir -p /usr/local/bin | |
sudo mkdir -p /usr/local/lib/neko | |
sudo ln -s $NEKOPATH/{neko,nekoc,nekoml,nekotools} /usr/local/bin/ | |
sudo ln -s $NEKOPATH/libneko.* /usr/local/lib/ | |
sudo ln -s $NEKOPATH/*.ndll /usr/local/lib/neko/ | |
echo "NEKOPATH=$NEKOPATH" >> $GITHUB_ENV | |
- name: Print Neko version | |
run: neko -version 2>&1 | |
- name: Setup Haxe | |
run: | | |
set -eux | |
download_url="https://build.haxe.org/builds/haxe/mac/haxe_latest.tar.gz" | |
echo "Downloading [$download_url]..." | |
mkdir /tmp/haxe | |
curl -fsSL --retry 3 --retry-delay 5 "$download_url" -o /tmp/haxe.tar.gz | |
tar xzvf /tmp/haxe.tar.gz -C /tmp/haxe --strip-components=1 | |
echo "/tmp/haxe/" >> $GITHUB_PATH | |
echo "HAXE_STD_PATH=/tmp/haxe/std" >> $GITHUB_ENV | |
- name: Print Haxe version | |
run: haxe -version | |
- name: Setup haxelib | |
run: | | |
set -ex | |
mkdir ~/haxelib | |
haxelib setup ~/haxelib | |
- name: Install homebrew packages | |
if: matrix.BREW_PACKAGES | |
run: brew install ${{matrix.BREW_PACKAGES}} | |
- name: Test | |
run: | | |
haxe RunCi.hxml | |
working-directory: ${{github.workspace}}/tests | |