Skip to content

Commit d1fed7e

Browse files
author
John Kleinschmidt
committed
build: add build from tarball
Resolves: nodejs/build#1931
1 parent 9800732 commit d1fed7e

1 file changed

Lines changed: 138 additions & 0 deletions

File tree

Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,138 @@
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

Comments
 (0)