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