1+ name : Build from tarball
2+
3+ on : [push, pull_request]
4+
5+ env :
6+ PYTHON_VERSION : 3.8
7+ FLAKY_TESTS : dontcare
8+
9+ jobs :
10+ build-tarball :
11+ runs-on : macos-latest
12+ steps :
13+ - uses : actions/checkout@v2
14+ - name : Set up Python ${{ env.PYTHON_VERSION }}
15+ uses : actions/setup-python@v1
16+ with :
17+ PYTHON_VERSION : ${{ env.PYTHON_VERSION }}
18+ - name : Environment Information
19+ run : npx envinfo
20+ - name : Make tarball
21+ run : |
22+ export DISTTYPE=nightly
23+ export DATESTRING=`date "+%Y-%m-%d"`
24+ export COMMIT=xxxx
25+ ./configure && make tar -j8
26+ mkdir tarballs
27+ mv *.tar.gz tarballs
28+ - name : Upload tarball artifact
29+ uses : actions/upload-artifact@v1
30+ with :
31+ name : tarballs
32+ path : tarballs
33+ test-tarball-linux :
34+ needs : build-tarball
35+ runs-on : ubuntu-latest
36+ steps :
37+ - uses : actions/checkout@v2
38+ - name : Set up Python ${{ env.PYTHON_VERSION }}
39+ uses : actions/setup-python@v1
40+ with :
41+ PYTHON_VERSION : ${{ env.PYTHON_VERSION }}
42+ - name : Environment Information
43+ run : npx envinfo
44+ - name : Download tarball
45+ uses : actions/download-artifact@v1
46+ with :
47+ name : tarballs
48+ - name : Extract tarball
49+ run : |
50+ tar xzf tarballs/*.tar.gz
51+ echo "::set-env name=TAR_DIR::`basename tarballs/*.tar.gz .tar.gz`"
52+ - name : Copy directories needed for testing
53+ run : |
54+ cp -r tools/node_modules $TAR_DIR/tools
55+ cp -r tools/eslint-rules $TAR_DIR/tools
56+ - name : Build
57+ run : |
58+ cd $TAR_DIR
59+ make build-ci -j2 V=1
60+ - name : Test
61+ run : |
62+ cd $TAR_DIR
63+ make run-ci -j2 V=1
64+ test-tarball-windows :
65+ needs : build-tarball
66+ runs-on : windows-latest
67+ steps :
68+ - name : Set up autocrlf
69+ run : |
70+ git config --global core.autocrlf true
71+ - uses : actions/checkout@v2
72+ - name : Set up Python ${{ env.PYTHON_VERSION }}
73+ uses : actions/setup-python@v1
74+ with :
75+ PYTHON_VERSION : ${{ env.PYTHON_VERSION }}
76+ - name : Environment Information
77+ run : npx envinfo
78+ - name : Download tarball
79+ uses : actions/download-artifact@v1
80+ with :
81+ name : tarballs
82+ - name : Extract tarball
83+ run : |
84+ 7z x tarballs/*.tar.gz
85+ 7z x *.tar -ttar
86+ - name : Install deps
87+ run : choco install nasm
88+ - name : Build
89+ run : |
90+ $env:DEBUG_HELPER=1
91+ $tarfile = dir *.tar
92+ cd $tarfile.BaseName
93+ $env:msbuild_args="/binaryLogger:node.binlog"
94+ ./vcbuild.bat x64 release msi
95+ echo "::set-env name=TAR_DIR::$pwd"
96+ echo "::set-env name=test_ci_args::--shell=$pwd\out\Release\node.exe"
97+ - name : " Test JS Suites"
98+ shell : cmd
99+ run : |
100+ set DEBUG_HELPER=1
101+ set PATH=%PATH:C:\Program Files\Git\usr\bin;=%
102+ ./vcbuild.bat release noprojgen nobuild ignore-flaky test-ci-js
103+ - name : " Test C++ Suites"
104+ shell : cmd
105+ run : |
106+ set DEBUG_HELPER=1
107+ ./vcbuild.bat release noprojgen nobuild ignore-flaky test-ci-native
108+ test-tarball-macOS :
109+ needs : build-tarball
110+ runs-on : macos-latest
111+ steps :
112+ - uses : actions/checkout@v2
113+ - name : Set up Python ${{ env.PYTHON_VERSION }}
114+ uses : actions/setup-python@v1
115+ with :
116+ PYTHON_VERSION : ${{ env.PYTHON_VERSION }}
117+ - name : Environment Information
118+ run : npx envinfo
119+ - name : Download tarball
120+ uses : actions/download-artifact@v1
121+ with :
122+ name : tarballs
123+ - name : Extract tarball
124+ run : |
125+ tar xzf tarballs/*.tar.gz
126+ echo "::set-env name=TAR_DIR::`basename tarballs/*.tar.gz .tar.gz`"
127+ - name : Copy directories needed for testing
128+ run : |
129+ cp -r tools/node_modules $TAR_DIR/tools
130+ cp -r tools/eslint-rules $TAR_DIR/tools
131+ - name : Build
132+ run : |
133+ cd $TAR_DIR
134+ make build-ci -j8 V=1
135+ - name : Test
136+ run : |
137+ cd $TAR_DIR
138+ make run-ci -j8 V=1
0 commit comments