From d4c69646abfc71e8383f3a1e9b94b67d9a925f19 Mon Sep 17 00:00:00 2001 From: Aleksandr Kuzmenko Date: Tue, 29 Jun 2021 17:45:38 +0300 Subject: [PATCH] [ci][linux] workaround missing neko system package --- .github/workflows/main.yml | 176 +++++++++++++-------------- extra/github-actions/build-linux.yml | 2 +- 2 files changed, 89 insertions(+), 89 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c2763cc8470..93d58905a34 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -35,7 +35,7 @@ jobs: 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-*-*` @@ -45,7 +45,7 @@ jobs: 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 @@ -55,10 +55,10 @@ jobs: $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: choco install nsis uses: nick-invision/retry@v1 with: @@ -71,7 +71,7 @@ jobs: - name: Prepend Chocolatey path shell: pwsh run: Write-Host "::add-path::C:\ProgramData\chocolatey\bin" - + - name: Install OCaml and OCaml libraries shell: pwsh run: | @@ -94,16 +94,16 @@ jobs: & "$($env:CYG_ROOT)/bin/bash.exe" @('-lc', 'opam install haxe --deps-only --yes 2>&1') & "$($env:CYG_ROOT)/bin/bash.exe" @('-lc', 'opam list') & "$($env:CYG_ROOT)/bin/bash.exe" @('-lc', 'ocamlopt -v') - + - name: Expose mingw dll files shell: pwsh run: Write-Host "::add-path::${env:CYG_ROOT}/usr/$($env:MINGW_ARCH)-w64-mingw32/sys-root/mingw/bin" - + - name: Set ADD_REVISION=1 for non-release if: ${{ !startsWith(github.ref, 'refs/tags/') }} shell: pwsh run: echo "ADD_REVISION=1" >> $Env:GITHUB_ENV - + - name: Build Haxe shell: pwsh run: | @@ -115,13 +115,13 @@ jobs: & "$($env:CYG_ROOT)/bin/bash.exe" @('-lc', 'cd "$OLDPWD" && cygcheck ./haxe.exe') & "$($env:CYG_ROOT)/bin/bash.exe" @('-lc', 'cd "$OLDPWD" && cygcheck ./haxelib.exe') & "$($env:CYG_ROOT)/bin/bash.exe" @('-lc', 'cd "$OLDPWD" && ls ./out') - + - name: Upload artifact uses: actions/upload-artifact@v1.0.0 with: name: win${{env.ARCH}}Binaries path: out - + windows-build: runs-on: windows-latest @@ -143,7 +143,7 @@ jobs: 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-*-*` @@ -153,7 +153,7 @@ jobs: 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 @@ -163,10 +163,10 @@ jobs: $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: choco install nsis uses: nick-invision/retry@v1 with: @@ -179,7 +179,7 @@ jobs: - name: Prepend Chocolatey path shell: pwsh run: Write-Host "::add-path::C:\ProgramData\chocolatey\bin" - + - name: Install OCaml and OCaml libraries shell: pwsh run: | @@ -202,16 +202,16 @@ jobs: & "$($env:CYG_ROOT)/bin/bash.exe" @('-lc', 'opam install haxe --deps-only --yes 2>&1') & "$($env:CYG_ROOT)/bin/bash.exe" @('-lc', 'opam list') & "$($env:CYG_ROOT)/bin/bash.exe" @('-lc', 'ocamlopt -v') - + - name: Expose mingw dll files shell: pwsh run: Write-Host "::add-path::${env:CYG_ROOT}/usr/$($env:MINGW_ARCH)-w64-mingw32/sys-root/mingw/bin" - + - name: Set ADD_REVISION=1 for non-release if: ${{ !startsWith(github.ref, 'refs/tags/') }} shell: pwsh run: echo "ADD_REVISION=1" >> $Env:GITHUB_ENV - + - name: Build Haxe shell: pwsh run: | @@ -223,13 +223,13 @@ jobs: & "$($env:CYG_ROOT)/bin/bash.exe" @('-lc', 'cd "$OLDPWD" && cygcheck ./haxe.exe') & "$($env:CYG_ROOT)/bin/bash.exe" @('-lc', 'cd "$OLDPWD" && cygcheck ./haxelib.exe') & "$($env:CYG_ROOT)/bin/bash.exe" @('-lc', 'cd "$OLDPWD" && ls ./out') - + - name: Upload artifact uses: actions/upload-artifact@v1.0.0 with: name: win${{env.ARCH}}Binaries path: out - + linux-build: runs-on: ubuntu-18.04 @@ -245,7 +245,7 @@ jobs: 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-*-*` @@ -255,7 +255,7 @@ jobs: 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 @@ -265,10 +265,10 @@ jobs: $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: Install dependencies run: | set -ex @@ -276,21 +276,21 @@ jobs: sudo add-apt-repository ppa:haxe/ocaml -y # provides newer version of mbedtls sudo apt-get update -qqy sudo apt-get install -qqy ocaml-nox camlp5 opam libpcre3-dev zlib1g-dev libgtk2.0-dev libmbedtls-dev ninja-build libstring-shellquote-perl - + - name: Install OCaml libraries run: | set -ex opam init # --disable-sandboxing opam update opam pin add haxe . --no-action - opam install haxe --deps-only + opam install haxe --deps-only --assume-depexts opam list ocamlopt -v - + - name: Set ADD_REVISION=1 for non-release if: ${{ !startsWith(github.ref, 'refs/tags/') }} run: echo "ADD_REVISION=1" >> $GITHUB_ENV - + - name: Build Haxe run: | set -ex @@ -301,13 +301,13 @@ jobs: ls -l out ldd -v ./haxe ldd -v ./haxelib - + # https://stackoverflow.com/questions/58033366/how-to-get-current-branch-within-github-actions - name: Extract branch name id: extract_branch shell: bash run: echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})" - + - name: Build xmldoc run: | set -ex @@ -318,19 +318,19 @@ jobs: "branch": "${{ steps.extract_branch.outputs.branch }}" } EOL - + - name: Upload xmldoc artifact uses: actions/upload-artifact@v1.0.0 with: name: xmldoc path: extra/doc - + - name: Upload artifact uses: actions/upload-artifact@v1.0.0 with: name: linuxBinaries path: out - + mac-build: runs-on: macos-latest @@ -347,7 +347,7 @@ jobs: 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-*-*` @@ -357,7 +357,7 @@ jobs: 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 @@ -367,10 +367,10 @@ jobs: $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: Install dependencies env: ZLIB_VERSION: 1.2.11 @@ -399,8 +399,8 @@ jobs: cd pcre-$PCRE_VERSION ./configure --enable-utf8 --enable-pcre8 --enable-pcre16 --enable-pcre32 --enable-unicode-properties --enable-pcregrep-libz --enable-pcregrep-libbz2 --enable-jit make && make install - - + + - name: Install OCaml libraries run: | set -ex @@ -414,11 +414,11 @@ jobs: opam install haxe --deps-only opam list ocamlopt -v - + - name: Set ADD_REVISION=1 for non-release if: ${{ !startsWith(github.ref, 'refs/tags/') }} run: echo "ADD_REVISION=1" >> $GITHUB_ENV - + - name: Build Haxe run: | set -ex @@ -429,13 +429,13 @@ jobs: ls -l out otool -L ./haxe otool -L ./haxelib - + - name: Upload artifact uses: actions/upload-artifact@v1.0.0 with: name: macBinaries path: out - + windows64-test: needs: windows64-build @@ -463,7 +463,7 @@ jobs: 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-*-*` @@ -473,7 +473,7 @@ jobs: 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 @@ -483,17 +483,17 @@ jobs: $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: | @@ -503,11 +503,11 @@ jobs: $HAXEPATH = Get-ChildItem $DOWNLOADDIR/haxe_*_* -Directory Write-Host "::add-path::$HAXEPATH" Write-Host "::set-env name=HAXELIB_ROOT::$HAXEPATH\lib" - + - name: Print Haxe version shell: pwsh run: haxe -version - + - name: "Make Python 3 be available as python3 in the cmdline" shell: pwsh run: | @@ -516,7 +516,7 @@ jobs: $py3path = $pypath.replace("python.exe","python3.exe") cmd /c mklink $py3path $pypath python3 -V - + - name: Install hererocks if: matrix.target == 'lua' shell: cmd @@ -524,18 +524,18 @@ jobs: pip install hererocks hererocks lua53 -l5.3 -rlatest call lua53/bin/activate - + - name: Setup haxelib shell: pwsh run: | mkdir "$env:HAXELIB_ROOT" haxelib setup "$env:HAXELIB_ROOT" - + - name: Test shell: pwsh run: haxe RunCi.hxml working-directory: ${{github.workspace}}/tests - + windows-test: needs: windows-build @@ -564,7 +564,7 @@ jobs: 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-*-*` @@ -574,7 +574,7 @@ jobs: 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 @@ -584,17 +584,17 @@ jobs: $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: | @@ -604,11 +604,11 @@ jobs: $HAXEPATH = Get-ChildItem $DOWNLOADDIR/haxe_*_* -Directory Write-Host "::add-path::$HAXEPATH" Write-Host "::set-env name=HAXELIB_ROOT::$HAXEPATH\lib" - + - name: Print Haxe version shell: pwsh run: haxe -version - + - name: "Make Python 3 be available as python3 in the cmdline" shell: pwsh run: | @@ -617,7 +617,7 @@ jobs: $py3path = $pypath.replace("python.exe","python3.exe") cmd /c mklink $py3path $pypath python3 -V - + - name: Install hererocks if: matrix.target == 'lua' shell: cmd @@ -625,18 +625,18 @@ jobs: pip install hererocks hererocks lua53 -l5.3 -rlatest call lua53/bin/activate - + - name: Setup haxelib shell: pwsh run: | mkdir "$env:HAXELIB_ROOT" haxelib setup "$env:HAXELIB_ROOT" - + - name: Test shell: pwsh run: haxe RunCi.hxml working-directory: ${{github.workspace}}/tests - + linux-test: needs: linux-build @@ -674,7 +674,7 @@ jobs: 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-*-*` @@ -684,7 +684,7 @@ jobs: 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 @@ -694,17 +694,17 @@ jobs: $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 - + set -ex tar -xf linuxBinaries/*_bin.tar.gz -C linuxBinaries --strip-components=1 sudo mkdir -p /usr/local/bin/ @@ -712,39 +712,39 @@ jobs: 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: Test if: success() && !(matrix.SAUCE && matrix.SAUCE_ACCESS_KEY) run: haxe RunCi.hxml working-directory: ${{github.workspace}}/tests - + - name: Test (with SauceLabs) if: matrix.target == 'js' && success() && matrix.SAUCE && matrix.SAUCE_ACCESS_KEY run: haxe RunCi.hxml working-directory: ${{github.workspace}}/tests env: SAUCE_ACCESS_KEY: matrix.SAUCE_ACCESS_KEY - + mac-test: needs: mac-build @@ -772,7 +772,7 @@ jobs: 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-*-*` @@ -782,7 +782,7 @@ jobs: 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 @@ -792,15 +792,15 @@ jobs: $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 ./macBinaries # curl -sSL https://build.haxe.org/builds/haxe/mac/haxe_latest.tar.gz -o ./macBinaries/haxe_bin.tar.gz - + set -ex tar -xf macBinaries/*_bin.tar.gz -C macBinaries --strip-components=1 sudo mkdir -p /usr/local/bin/ @@ -808,27 +808,27 @@ jobs: sudo ln -s `pwd`/macBinaries/haxe /usr/local/bin/haxe sudo ln -s `pwd`/macBinaries/haxelib /usr/local/bin/haxelib sudo ln -s `pwd`/macBinaries/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 homebrew packages if: matrix.BREW_PACKAGES run: brew install ${{matrix.BREW_PACKAGES}} - + - name: Test run: | # disable invalid Unicode filenames on APFS echo "" > sys/compile-fs.hxml haxe RunCi.hxml working-directory: ${{github.workspace}}/tests - + deploy: if: github.event_name != 'pull_request' diff --git a/extra/github-actions/build-linux.yml b/extra/github-actions/build-linux.yml index 23a263ed7d2..6a040cc17f9 100644 --- a/extra/github-actions/build-linux.yml +++ b/extra/github-actions/build-linux.yml @@ -12,7 +12,7 @@ opam init # --disable-sandboxing opam update opam pin add haxe . --no-action - opam install haxe --deps-only + opam install haxe --deps-only --assume-depexts opam list ocamlopt -v