Skip to content

Commit bdf7551

Browse files
committed
Extend CI list with Github actions
JerryScript-DCO-1.0-Signed-off-by: Robert Fancsik [email protected]
1 parent fde0d55 commit bdf7551

File tree

2 files changed

+134
-78
lines changed

2 files changed

+134
-78
lines changed

.github/workflows/gh-actions.yml

Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
name: JerryScript CI
2+
3+
on:
4+
push:
5+
branches: [ master ]
6+
pull_request:
7+
branches: [ master ]
8+
9+
env:
10+
RUNNER: tools/run-tests.py
11+
12+
jobs:
13+
Checks:
14+
runs-on: ubuntu-18.04
15+
steps:
16+
- uses: actions/checkout@v1
17+
- name: Initializtaion
18+
run: sudo apt-get install doxygen vera++ cppcheck pylint pylint python-serial -q
19+
- name: Signed-off
20+
run: $RUNNER --check-signed-off=travis
21+
- name: Doxygen
22+
run: $RUNNER --check-doxygen
23+
- name: Vera++
24+
run: $RUNNER --check-vera
25+
- name: License
26+
run: $RUNNER --check-license
27+
- name: Magic strings
28+
run: $RUNNER --check-magic-strings
29+
- name: Pylint
30+
run: $RUNNER --check-pylint
31+
- name: Cppcheck
32+
run: $RUNNER --check-cppcheck
33+
34+
Linux_x86-64_Build_Correctness_Debugger_Tests:
35+
runs-on: ubuntu-18.04
36+
steps:
37+
- uses: actions/checkout@v1
38+
- name: Correctness - jerry-tests
39+
run: $RUNNER --jerry-tests -q
40+
- name: Correctness - jerry-test-suite
41+
run: $RUNNER --jerry-test-suite -q
42+
- name: Debugger Tests
43+
run: $RUNNER --jerry-debugger -q
44+
45+
Linux_x86_cpointer-32bit_Build_Correctness_Tests:
46+
runs-on: ubuntu-18.04
47+
env:
48+
BUILD_OPTIONS: --buildoptions=--compile-flag=-m32,--cpointer-32bit=on -q
49+
steps:
50+
- uses: actions/checkout@v1
51+
- name: Initializtaion
52+
run: sudo apt-get install gcc-multilib
53+
- name: Correctness - jerry-tests
54+
run: $RUNNER --jerry-tests $BUILD_OPTIONS -q
55+
- name: Correctness - jerry-test-suite
56+
run: $RUNNER --jerry-test-suite $BUILD_OPTIONS -q
57+
58+
Linux_ARM_Build_Correctness_Tests:
59+
runs-on: ubuntu-18.04
60+
env:
61+
RUNTIME: qemu-arm-static
62+
BUILD_OPTIONS: --buildoptions=--linker-flag=-static
63+
TOOLCHAIN: --toolchain=cmake/toolchain_linux_armv7l.cmake
64+
steps:
65+
- uses: actions/checkout@v1
66+
- name: Initializtaion
67+
run: sudo apt-get install gcc-arm-linux-gnueabihf libc6-dev-armhf-cross qemu-user-static
68+
- name: Correctness - jerry-tests
69+
run: $RUNNER --jerry-tests $TOOLCHAIN $BUILD_OPTIONS -q
70+
- name: Correctness - jerry-test-suite
71+
run: $RUNNER --jerry-test-suite $TOOLCHAIN $BUILD_OPTIONS -q
72+
73+
OSX_x86-64_Build_Correctness_Unit_Tests:
74+
runs-on: macos-10.15
75+
steps:
76+
- uses: actions/checkout@v1
77+
- name: Correctness - jerry-tests
78+
run: $RUNNER --jerry-tests -q
79+
- name: Correctness - jerry-test-suite
80+
run: $RUNNER --jerry-test-suite -q
81+
- name: Unit Tests
82+
run: $RUNNER --unittests -q
83+
84+
Conformance_Tests_ES5_1:
85+
runs-on: ubuntu-18.04
86+
steps:
87+
- uses: actions/checkout@v1
88+
- name: Test262 - ES5.1
89+
run: $RUNNER --test262
90+
91+
Conformance_Tests_ES2015:
92+
runs-on: ubuntu-18.04
93+
steps:
94+
- uses: actions/checkout@v1
95+
- name: Test262 - ES2015
96+
run: $RUNNER --test262-es2015
97+
98+
Unit_Tests:
99+
runs-on: ubuntu-18.04
100+
steps:
101+
- uses: actions/checkout@v1
102+
- name: Unit Tests
103+
run: $RUNNER --unittests -q
104+
105+
ASAN_Tests:
106+
runs-on: ubuntu-18.04
107+
env:
108+
ASAN_OPTIONS: detect_stack_use_after_return=1:check_initialization_order=true:strict_init_order=true
109+
SKIP_LIST: --skip-list=parser-oom.js,parser-oom2.js,stack-limit.js,regression-test-issue-2190.js,regression-test-issue-2258-2963.js,regression-test-issue-2448.js,regression-test-issue-2905.js,regression-test-issue-3785.js
110+
BUILD_OPTIONS: --buildoptions=--stack-limit=0,--compile-flag=-fsanitize=address,--compile-flag=-m32,--compile-flag=-fno-omit-frame-pointer,--compile-flag=-fno-common,--compile-flag=-O2,--debug,--system-allocator=on,--linker-flag=-fuse-ld=gold
111+
steps:
112+
- uses: actions/checkout@v1
113+
- name: Initializtaion
114+
run: sudo apt-get install gcc-multilib
115+
- name: ASAN - jerry-tests
116+
run: $RUNNER --jerry-tests $SKIP_LIST $BUILD_OPTIONS -q
117+
- name: ASAN - jerry-test-suite
118+
run: $RUNNER --jerry-test-suite $SKIP_LIST $BUILD_OPTIONS -q
119+
120+
UBSAN_Tests:
121+
runs-on: ubuntu-18.04
122+
env:
123+
UBSAN_OPTIONS: print_stacktrace=1
124+
SKIP_LIST: --skip-list=parser-oom.js,parser-oom2.js
125+
BUILD_OPTIONS: --buildoptions=--compile-flag=-fsanitize=undefined,--compile-flag=-m32,--compile-flag=-fno-omit-frame-pointer,--compile-flag=-fno-common,--debug,--system-allocator=on,--linker-flag=-fuse-ld=gold
126+
steps:
127+
- uses: actions/checkout@v1
128+
- name: Initializtaion
129+
run: sudo apt-get install gcc-multilib
130+
- name: UBSAN - jerry-tests
131+
run: $RUNNER --jerry-tests $SKIP_LIST $BUILD_OPTIONS -q
132+
- name: UBSAN - jerry-test-suite
133+
run: $RUNNER --jerry-test-suite $SKIP_LIST $BUILD_OPTIONS -q
134+

.travis.yml

Lines changed: 0 additions & 78 deletions
Original file line numberDiff line numberDiff line change
@@ -11,90 +11,12 @@ script: tools/run-tests.py $OPTS
1111
# All the job definitions in the matrix.
1212
matrix:
1313
include:
14-
- name: "Checks"
15-
script:
16-
- tools/run-tests.py --check-signed-off=travis --check-doxygen --check-vera --check-license --check-magic-strings --check-pylint
17-
- travis_wait 40 tools/run-tests.py --check-cppcheck
18-
addons:
19-
apt:
20-
packages: [doxygen, cppcheck, vera++, pylint]
21-
22-
- name: "Linux/x86-64 Build, Correctness & Debugger Tests"
23-
env:
24-
- OPTS="--quiet --jerry-tests --jerry-test-suite --jerry-debugger"
25-
26-
- name: "Linux/x86 (cpointer-32bit) Build & Correctness Tests"
27-
env:
28-
- OPTS="--quiet --jerry-tests --jerry-test-suite --buildoptions=--compile-flag=-m32,--cpointer-32bit=on"
29-
addons:
30-
apt:
31-
packages: [gcc-multilib]
32-
33-
- name: "Linux/ARM Build & Correctness Tests"
34-
env:
35-
- OPTS="--quiet --jerry-tests --jerry-test-suite --toolchain=cmake/toolchain_linux_armv7l.cmake --buildoptions=--linker-flag=-static"
36-
- RUNTIME=qemu-arm-static
37-
- TIMEOUT=300
38-
addons:
39-
apt:
40-
packages: [gcc-arm-linux-gnueabihf, libc6-dev-armhf-cross, qemu-user-static]
41-
4214
- name: "Linux/AArch64 Native Build & Correctness Tests"
4315
arch: arm64
4416
env:
4517
- OPTS="--quiet --jerry-tests --jerry-test-suite --buildoptions=--linker-flag=-static"
4618
- TIMEOUT=300
4719

48-
- name: "OSX/x86-64 Build, Correctness & Unit Tests"
49-
env:
50-
- OPTS="--quiet --jerry-tests --jerry-test-suite --unittests"
51-
os: osx
52-
osx_image: xcode11.4
53-
addons:
54-
homebrew:
55-
packages: [cmake, cppcheck, vera++]
56-
57-
- name: "Build Tests"
58-
env:
59-
- OPTS="--buildoption-test"
60-
addons:
61-
apt:
62-
packages: [gcc-multilib]
63-
64-
- name: "Conformance Tests - ES5.1"
65-
env:
66-
- OPTS="--test262"
67-
68-
- name: "Conformance Tests - ES2015"
69-
env:
70-
- OPTS="--test262-es2015"
71-
72-
- name: "Unit Tests"
73-
env:
74-
- OPTS="--unittests"
75-
76-
- name: "ASAN Tests"
77-
env:
78-
# Skipping maximum stack usage related tests due to 'detect_stack_use_after_return=1' ASAN option.
79-
# For more detailed description: https://github.com/google/sanitizers/wiki/AddressSanitizerUseAfterReturn#compatibility
80-
- OPTS="--quiet --jerry-tests --jerry-test-suite --skip-list=parser-oom.js,parser-oom2.js,stack-limit.js,regression-test-issue-2190.js,regression-test-issue-2258-2963.js,regression-test-issue-2448.js,regression-test-issue-2905.js,regression-test-issue-3785.js --buildoptions=--stack-limit=0,--compile-flag=-fsanitize=address,--compile-flag=-m32,--compile-flag=-fno-omit-frame-pointer,--compile-flag=-fno-common,--compile-flag=-O2,--debug,--system-allocator=on,--linker-flag=-fuse-ld=gold"
81-
- ASAN_OPTIONS=detect_stack_use_after_return=1:check_initialization_order=true:strict_init_order=true
82-
- TIMEOUT=600
83-
addons:
84-
apt:
85-
sources: ubuntu-toolchain-r-test
86-
packages: [gcc-multilib]
87-
88-
- name: "UBSAN Tests"
89-
env:
90-
- OPTS="--quiet --jerry-tests --jerry-test-suite --skip-list=parser-oom.js,parser-oom2.js --buildoptions=--compile-flag=-fsanitize=undefined,--compile-flag=-m32,--compile-flag=-fno-omit-frame-pointer,--compile-flag=-fno-common,--debug,--system-allocator=on,--linker-flag=-fuse-ld=gold"
91-
- UBSAN_OPTIONS=print_stacktrace=1
92-
- TIMEOUT=600
93-
addons:
94-
apt:
95-
sources: ubuntu-toolchain-r-test
96-
packages: [gcc-multilib]
97-
9820
- name: "Coverity Scan & SonarQube"
9921
env:
10022
# Declaration of the encrypted COVERITY_SCAN_TOKEN, created via the

0 commit comments

Comments
 (0)