diff --git a/.github/workflows/es-actions.yml b/.github/workflows/es-actions.yml index b16e69b0b..bf1df891e 100644 --- a/.github/workflows/es-actions.yml +++ b/.github/workflows/es-actions.yml @@ -367,6 +367,60 @@ jobs: $RUNNER --arch=x86 --engine="$GITHUB_WORKSPACE/out/debug/x86/escargot" modifiedVendorTest regression-tests new-es intl sunspider-js $RUNNER --arch=x86_64 --engine="$GITHUB_WORKSPACE/out/debug/x64/escargot" modifiedVendorTest regression-tests new-es intl sunspider-js + build-test-on-self-hosted-linux: + runs-on: [self-hosted, linux, x64] + steps: + - uses: actions/checkout@v3 + with: + submodules: true + - name: Build + env: + BUILD_OPTIONS: -DESCARGOT_HOST=linux -DESCARGOT_THREADING=ON -DESCARGOT_TEMPORAL=ON -DESCARGOT_TCO=ON -DESCARGOT_TEST=ON -DESCARGOT_OUTPUT=shell -GNinja + run: | + LDFLAGS=" -L/usr/icu32/lib/ -Wl,-rpath=/usr/icu32/lib/" PKG_CONFIG_PATH="/usr/icu32/lib/pkgconfig/" cmake -H./ -Bbuild/out_linux -DESCARGOT_ARCH=x86 -DESCARGOT_MODE=debug $BUILD_OPTIONS + LDFLAGS=" -L/usr/icu32/lib/ -Wl,-rpath=/usr/icu32/lib/" PKG_CONFIG_PATH="/usr/icu32/lib/pkgconfig/" cmake -H./ -Bbuild/out_linux_release -DESCARGOT_ARCH=x86 $BUILD_OPTIONS + gcc -shared -m32 -fPIC -o backtrace-hooking-32.so tools/test/test262/backtrace-hooking.c + LDFLAGS=" -L/usr/icu64/lib/ -Wl,-rpath=/usr/icu64/lib/" PKG_CONFIG_PATH="/usr/icu64/lib/pkgconfig/" cmake -H./ -Bbuild/out_linux64 -DESCARGOT_ARCH=x64 -DESCARGOT_MODE=debug $BUILD_OPTIONS + LDFLAGS=" -L/usr/icu64/lib/ -Wl,-rpath=/usr/icu64/lib/" PKG_CONFIG_PATH="/usr/icu64/lib/pkgconfig/" cmake -H./ -Bbuild/out_linux64_release -DESCARGOT_ARCH=x64 -DESCARGOT_MODE=release $BUILD_OPTIONS + cmake --build build/out_linux/ + cmake --build build/out_linux64/ + cmake --build build/out_linux_release/ + cmake --build build/out_linux64_release/ + - name: Test + run: | + GC_FREE_SPACE_DIVISOR=1 tools/run-tests.py --arch=x86 --engine="${{ github.workspace }}/build/out_linux_release/escargot" test262 + GC_FREE_SPACE_DIVISOR=1 ESCARGOT_LD_PRELOAD=${{ github.workspace }}/backtrace-hooking-32.so tools/run-tests.py --arch=x86 --engine="${{ github.workspace }}/build/out_linux/escargot" test262 + GC_FREE_SPACE_DIVISOR=1 tools/run-tests.py --arch=x86_64 --engine="${{ github.workspace }}/build/out_linux64_release/escargot" test262 + python tools/kangax/run-kangax.py --engine="${{ github.workspace }}/build/out_linux64/escargot" + + build-test-on-self-hosted-arm-linux: + runs-on: [self-hosted, linux, arm] + steps: + - uses: actions/checkout@v3 + with: + submodules: true + - name: Build + run: | + cmake -H./ -Bout -DCMAKE_C_COMPILER=gcc-11 -DCMAKE_CXX_COMPILER=g++-11 -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_SYSTEM_PROCESSOR=arm32 -DESCARGOT_MODE=release -DESCARGOT_THREADING=ON -DESCARGOT_TEMPORAL=ON -DESCARGOT_TCO=ON -DESCARGOT_TEST=ON -DESCARGOT_OUTPUT=shell -GNinja + cmake --build ./out/ + - name: Test + run: | + GC_FREE_SPACE_DIVISOR=1 tools/run-tests.py --engine="${{ github.workspace }}/out/escargot" --extra-arg="--skip intl402" new-es v8 spidermonkey chakracore test262 + + build-test-on-self-hosted-arm64-linux: + runs-on: [self-hosted, linux, arm64] + steps: + - uses: actions/checkout@v3 + with: + submodules: true + - name: Build + run: | + cmake -H./ -Bout -DESCARGOT_MODE=release -DESCARGOT_THREADING=ON -DESCARGOT_TEMPORAL=ON -DESCARGOT_TCO=ON -DESCARGOT_TEST=ON -DESCARGOT_OUTPUT=shell -GNinja + cmake --build ./out/ + - name: Test + run: | + GC_FREE_SPACE_DIVISOR=1 tools/run-tests.py --engine="${{ github.workspace }}/out/escargot" --extra-arg="--skip intl402" test262 chakracore spidermonkey v8 new-es + build-test-debugger: runs-on: ubuntu-latest steps: diff --git a/.jenkins/Jenkinsfile b/.jenkins/Jenkinsfile deleted file mode 100644 index 579e805ee..000000000 --- a/.jenkins/Jenkinsfile +++ /dev/null @@ -1,88 +0,0 @@ -def isPr() { - env.CHANGE_ID != null -} -node { - currentBuild.displayName = "Escargot test on x86" - try { - stage("Get source") { - def url = 'https://github.com/Samsung/escargot.git' - - if (isPr()) { - def refspec = "+refs/pull/${env.CHANGE_ID}/head:refs/remotes/origin/PR-${env.CHANGE_ID} +refs/heads/master:refs/remotes/origin/master" - def extensions = [[$class: 'PreBuildMerge', options: [mergeRemote: "refs/remotes/origin", mergeTarget: "PR-${env.CHANGE_ID}"]]] - checkout([ - $class: 'GitSCM', - doGenerateSubmoduleConfigurations: false, - extensions: extensions, - submoduleCfg: [], - userRemoteConfigs: [[ - refspec: refspec, - url: url - ]] - ]) - } else { - def refspec = "+refs/heads/master:refs/remotes/origin/master" - def extensions = [] - checkout([ - $class: 'GitSCM', - doGenerateSubmoduleConfigurations: false, - extensions: [[$class: 'WipeWorkspace']], - submoduleCfg: [], - userRemoteConfigs: [[ - refspec: refspec, - url: url - ]] - ]) - } - } - - stage('Submodule update') { - sh 'git submodule update --init test third_party/GCutil' - } - - stage('Prepare build(gcc)') { - sh 'LDFLAGS=" -L/usr/icu32/lib/ -Wl,-rpath=/usr/icu32/lib/" PKG_CONFIG_PATH="/usr/icu32/lib/pkgconfig/" cmake -H./ -Bbuild/out_linux -DESCARGOT_HOST=linux -DESCARGOT_ARCH=x86 -DESCARGOT_MODE=debug -DESCARGOT_THREADING=ON -DESCARGOT_TEMPORAL=ON -DESCARGOT_TCO=ON -DESCARGOT_TEST=ON -DESCARGOT_OUTPUT=shell -GNinja' - sh 'LDFLAGS=" -L/usr/icu32/lib/ -Wl,-rpath=/usr/icu32/lib/" PKG_CONFIG_PATH="/usr/icu32/lib/pkgconfig/" cmake -H./ -Bbuild/out_linux_release -DESCARGOT_HOST=linux -DESCARGOT_ARCH=x86 -DESCARGOT_MODE=release -DESCARGOT_THREADING=ON -DESCARGOT_TEMPORAL=ON -DESCARGOT_TCO=ON -DESCARGOT_TEST=ON -DESCARGOT_OUTPUT=shell -GNinja' - sh 'gcc -shared -m32 -fPIC -o backtrace-hooking-32.so tools/test/test262/backtrace-hooking.c' - sh 'LDFLAGS=" -L/usr/icu64/lib/ -Wl,-rpath=/usr/icu64/lib/" PKG_CONFIG_PATH="/usr/icu64/lib/pkgconfig/" cmake -H./ -Bbuild/out_linux64 -DESCARGOT_HOST=linux -DESCARGOT_ARCH=x64 -DESCARGOT_MODE=debug -DESCARGOT_THREADING=ON -DESCARGOT_TEMPORAL=ON -DESCARGOT_TCO=ON -DESCARGOT_TEST=ON -DESCARGOT_OUTPUT=shell -GNinja' - sh 'LDFLAGS=" -L/usr/icu64/lib/ -Wl,-rpath=/usr/icu64/lib/" PKG_CONFIG_PATH="/usr/icu64/lib/pkgconfig/" cmake -H./ -Bbuild/out_linux64_release -DESCARGOT_HOST=linux -DESCARGOT_ARCH=x64 -DESCARGOT_MODE=release -DESCARGOT_THREADING=ON -DESCARGOT_TEMPORAL=ON -DESCARGOT_TCO=ON -DESCARGOT_TEST=ON -DESCARGOT_OUTPUT=shell -GNinja' - } - - stage('Build(gcc)') { - parallel ( - 'release-build' : { - sh 'cd build/out_linux/; ninja ' - sh 'cd build/out_linux64/; ninja' - }, - 'debug-build' : { - sh 'cd build/out_linux_release/; ninja' - sh 'cd build/out_linux64_release/; ninja' - }, - ) - } - - stage('Running test') { - timeout(30) { - parallel ( - 'release-32bit-test262' : { - sh 'GC_FREE_SPACE_DIVISOR=1 tools/run-tests.py --arch=x86 --engine="${WORKSPACE}/build/out_linux_release/escargot" test262' - }, - 'debug-32bit-test262' : { - sh 'GC_FREE_SPACE_DIVISOR=1 ESCARGOT_LD_PRELOAD=${WORKSPACE}/backtrace-hooking-32.so tools/run-tests.py --arch=x86 --engine="${WORKSPACE}/build/out_linux/escargot" test262' - }, - 'release-64bit-test262' : { - sh 'GC_FREE_SPACE_DIVISOR=1 tools/run-tests.py --arch=x86_64 --engine="${WORKSPACE}/build/out_linux64_release/escargot" test262' - }, - 'kangax test-suites' : { - sh 'python tools/kangax/run-kangax.py --engine="${WORKSPACE}/build/out_linux64/escargot"' - }, - ) - } - } - - } catch (e) { - throw e - } finally { - cleanWs() - } -} diff --git a/.jenkins/JenkinsfileArm b/.jenkins/JenkinsfileArm deleted file mode 100644 index bf54003c1..000000000 --- a/.jenkins/JenkinsfileArm +++ /dev/null @@ -1,91 +0,0 @@ -def isPr() { - env.CHANGE_ID != null -} -node { - currentBuild.displayName = "Escargot test on Arm" - try { - stage("Get source") { - def url = 'https://github.com/Samsung/escargot.git' - if (isPr()) { - def refspec = "+refs/pull/${env.CHANGE_ID}/head:refs/remotes/origin/PR-${env.CHANGE_ID} +refs/heads/master:refs/remotes/origin/master" - def extensions = [[$class: 'PreBuildMerge', options: [mergeRemote: "refs/remotes/origin", mergeTarget: "PR-${env.CHANGE_ID}"]]] - checkout([ - $class: 'GitSCM', - doGenerateSubmoduleConfigurations: false, - extensions: extensions, - submoduleCfg: [], - userRemoteConfigs: [[ - refspec: refspec, - url: url - ]] - ]) - } else { - def refspec = "+refs/heads/master:refs/remotes/origin/master" - def extensions = [] - checkout([ - $class: 'GitSCM', - doGenerateSubmoduleConfigurations: false, - extensions: [[$class: 'WipeWorkspace']], - submoduleCfg: [], - userRemoteConfigs: [[ - refspec: refspec, - url: url - ]] - ]) - } - } - - stage('Submodule update') { - sh 'git submodule update --init test third_party/GCutil' - } - - def arm32RemoteInfo = [:] - arm32RemoteInfo.name = 'arm32-docker' - arm32RemoteInfo.host = 'localhost' - arm32RemoteInfo.port = 11111 - arm32RemoteInfo.allowAnyHosts = true - withCredentials([usernamePassword(credentialsId: 'arm32docker', passwordVariable: 'passwordVariable', usernameVariable: 'usernameVariable')]) { - arm32RemoteInfo.user = usernameVariable - arm32RemoteInfo.password = passwordVariable - } - stage('prepare arm32 workspace') { - sshCommand remote: arm32RemoteInfo, command: "rm -rf escargot escargot.zip" - sshCommand remote: arm32RemoteInfo, command: "pwd" - sh "zip -r escargot.zip ./*" - sshPut remote: arm32RemoteInfo, from: "escargot.zip", into: "./" - sshCommand remote: arm32RemoteInfo, command: "unzip escargot.zip -d escargot" - } - - stage('Build arm32') { - sshCommand remote: arm32RemoteInfo, command: "\ - cd escargot;\ - cmake -H./ -Bout -DCMAKE_SYSTEM_NAME=Linux -DCMAKE_SYSTEM_PROCESSOR=arm32 -DESCARGOT_MODE=release -DESCARGOT_THREADING=ON -DESCARGOT_TEMPORAL=ON -DESCARGOT_TCO=ON -DESCARGOT_TEST=ON -DESCARGOT_OUTPUT=shell -GNinja;\ - cmake --build ./out/;\ - " - } - - stage('Build aarch64') { - sh 'cmake -H./ -Bout -DESCARGOT_MODE=release -DESCARGOT_THREADING=ON -DESCARGOT_TEMPORAL=ON -DESCARGOT_TCO=ON -DESCARGOT_TEST=ON -DESCARGOT_OUTPUT=shell -GNinja' - sh 'cmake --build ./out/' - } - - stage('Running test') { - timeout(60) { - parallel ( - 'arm32' : { - sshCommand remote: arm32RemoteInfo, command: "\ - cd escargot;\ - GC_FREE_SPACE_DIVISOR=1 tools/run-tests.py --engine='/root/escargot/out/escargot' --extra-arg='--skip intl402' new-es v8 spidermonkey chakracore test262" - }, - 'aarch64' : { - sh '#!/bin/bash\nGC_FREE_SPACE_DIVISOR=1 tools/run-tests.py --engine="${WORKSPACE}/out/escargot" --extra-arg="--skip intl402" new-es v8 spidermonkey chakracore test262' - }, - ) - } - } - } catch (e) { - throw e - } finally { - cleanWs() - } -}