Skip to content

Windows mbstring fix #212

Windows mbstring fix

Windows mbstring fix #212

Workflow file for this run

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