|
@@ -594,106 +594,31 @@ jobs:
|
|
|
needs: linux-build
|
|
|
runs-on: ubuntu-20.04
|
|
|
env:
|
|
|
- PLATFORM: linux64
|
|
|
- TEST: ${{matrix.target}}
|
|
|
HXCPP_COMPILE_CACHE: ~/hxcache
|
|
|
strategy:
|
|
|
fail-fast: false
|
|
|
- matrix:
|
|
|
- target: [macro, js, hl, cpp, 'java,jvm', cs, php, python, lua, neko] #flash9
|
|
|
- include:
|
|
|
- - target: js
|
|
|
- # SAUCE: 1
|
|
|
- # SAUCE_TUNNEL_ID: 'linux-test'
|
|
|
- # SAUCE_BUILD: '${{env.GITHUB_RUN_NUMBER}}' # $(Build.BuildNumber)
|
|
|
- - target: hl
|
|
|
- APT_PACKAGES: cmake ninja-build libturbojpeg-dev
|
|
|
- - target: cpp
|
|
|
- APT_PACKAGES: gcc-multilib g++-multilib
|
|
|
- - target: lua
|
|
|
- APT_PACKAGES: ncurses-dev
|
|
|
- # - target: flash9
|
|
|
- # APT_PACKAGES: libglib2.0-0 libfreetype6 xvfb
|
|
|
steps:
|
|
|
- uses: actions/checkout@main
|
|
|
with:
|
|
|
submodules: recursive
|
|
|
- - uses: actions/download-artifact@v1
|
|
|
- with:
|
|
|
- name: linuxBinaries
|
|
|
-
|
|
|
- - name: Install Neko using snapshot from S3 (Unix)
|
|
|
- if: ${{ !startsWith(env.PLATFORM, 'windows') }}
|
|
|
- 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: Install Neko using snapshot from S3 (Windows)
|
|
|
- if: ${{ startsWith(env.PLATFORM, 'windows') }}
|
|
|
- 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: Setup Haxe
|
|
|
- run: |
|
|
|
- # mkdir ./linuxBinaries
|
|
|
- # curl -sSL https://build.haxe.org/builds/haxe/linux64/haxe_latest.tar.gz -o ./linuxBinaries/haxe_bin.tar.gz
|
|
|
-
|
|
|
- sudo apt install -qqy libmbedtls-dev libgtk2.0-0
|
|
|
-
|
|
|
- set -ex
|
|
|
- tar -xf linuxBinaries/*_bin.tar.gz -C linuxBinaries --strip-components=1
|
|
|
- sudo mkdir -p /usr/local/bin/
|
|
|
- sudo mkdir -p /usr/local/share/haxe/
|
|
|
- sudo ln -s `pwd`/linuxBinaries/haxe /usr/local/bin/haxe
|
|
|
- sudo ln -s `pwd`/linuxBinaries/haxelib /usr/local/bin/haxelib
|
|
|
- sudo ln -s `pwd`/linuxBinaries/std /usr/local/share/haxe/std
|
|
|
-
|
|
|
- - name: Print Haxe version
|
|
|
- run: haxe -version
|
|
|
-
|
|
|
- - name: Setup haxelib
|
|
|
- run: |
|
|
|
- set -ex
|
|
|
- mkdir ~/haxelib
|
|
|
- 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 == 'flash9'
|
|
|
- # run: export DISPLAY=:99.0
|
|
|
+ - name: Set up QEMU
|
|
|
+ id: qemu
|
|
|
+ uses: docker/setup-qemu-action@v1
|
|
|
+ with:
|
|
|
+ image: tonistiigi/binfmt:latest
|
|
|
+ platforms: all
|
|
|
+
|
|
|
+ - name: Install Earthly
|
|
|
+ run: sudo /bin/sh -c 'wget https://github.com/earthly/earthly/releases/latest/download/earthly-linux-amd64 -O /usr/local/bin/earthly && chmod +x /usr/local/bin/earthly && /usr/local/bin/earthly bootstrap --with-autocomplete'\
|
|
|
|
|
|
- name: Test
|
|
|
if: success() && !(matrix.SAUCE && matrix.SAUCE_ACCESS_KEY)
|
|
|
- run: haxe RunCi.hxml
|
|
|
- working-directory: ${{github.workspace}}/tests
|
|
|
+ run: earthly +test-all
|
|
|
|
|
|
- name: Test (with SauceLabs)
|
|
|
- if: matrix.target == 'js' && success() && matrix.SAUCE && matrix.SAUCE_ACCESS_KEY
|
|
|
- run: haxe RunCi.hxml
|
|
|
- working-directory: ${{github.workspace}}/tests
|
|
|
+ if: success() && matrix.SAUCE && matrix.SAUCE_ACCESS_KEY
|
|
|
+ run: earthly +test --TEST=js
|
|
|
env:
|
|
|
SAUCE_ACCESS_KEY: matrix.SAUCE_ACCESS_KEY
|
|
|
|