Skip to content

Commit

Permalink
build: add build from tarball
Browse files Browse the repository at this point in the history
Fixes: nodejs/build#1931
PR-URL: #32129
Reviewed-By: Rod Vagg <rod@vagg.org>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
  • Loading branch information
John Kleinschmidt authored and BridgeAR committed Apr 28, 2020
1 parent f4e9bd6 commit c6078f0
Showing 1 changed file with 141 additions and 0 deletions.
141 changes: 141 additions & 0 deletions .github/workflows/build-tarball.yml
@@ -0,0 +1,141 @@
name: Build from tarball

on: [push, pull_request]

env:
FLAKY_TESTS: dontcare

jobs:
build-tarball:
env:
PYTHON_VERSION: 3.8
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ env.PYTHON_VERSION }}
uses: actions/setup-python@v1
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Environment Information
run: npx envinfo
- name: Make tarball
run: |
export DISTTYPE=nightly
export DATESTRING=`date "+%Y-%m-%d"`
export COMMIT=xxxx
./configure && make tar -j8
mkdir tarballs
mv *.tar.gz tarballs
- name: Upload tarball artifact
uses: actions/upload-artifact@v1
with:
name: tarballs
path: tarballs
test-tarball-linux:
env:
PYTHON_VERSION: 3.8
needs: build-tarball
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ env.PYTHON_VERSION }}
uses: actions/setup-python@v1
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Environment Information
run: npx envinfo
- name: Download tarball
uses: actions/download-artifact@v1
with:
name: tarballs
- name: Extract tarball
run: |
tar xzf tarballs/*.tar.gz
echo "::set-env name=TAR_DIR::`basename tarballs/*.tar.gz .tar.gz`"
- name: Copy directories needed for testing
run: |
cp -r tools/node_modules $TAR_DIR/tools
cp -r tools/eslint-rules $TAR_DIR/tools
- name: Build
run: |
cd $TAR_DIR
make build-ci -j2 V=1
- name: Test
run: |
cd $TAR_DIR
make run-ci -j2 V=1
test-tarball-windows:
needs: build-tarball
runs-on: windows-latest
steps:
- name: Set up autocrlf
run: |
git config --global core.autocrlf true
- uses: actions/checkout@v2
- name: Set up Python 2.7
uses: actions/setup-python@v1
with:
python-version: 2.7
- name: Environment Information
run: npx envinfo
- name: Download tarball
uses: actions/download-artifact@v1
with:
name: tarballs
- name: Extract tarball
run: |
7z x tarballs/*.tar.gz
7z x *.tar -ttar
- name: Install deps
run: choco install nasm
- name: Build
run: |
$env:DEBUG_HELPER=1
$tarfile = dir *.tar
cd $tarfile.BaseName
$env:msbuild_args="/binaryLogger:node.binlog"
./vcbuild.bat x64 release msi
echo "::set-env name=TAR_DIR::$pwd"
- name: Copy out directory to checkout dir
run: Move-Item -Path "$env:TAR_DIR\out" -Destination "$env:GITHUB_WORKSPACE"
- name: "Test JS Suites"
shell: cmd
run: |
set DEBUG_HELPER=1
./vcbuild.bat release noprojgen nobuild ignore-flaky test-ci-js
- name: "Test C++ Suites"
shell: cmd
run: |
set DEBUG_HELPER=1
./vcbuild.bat release noprojgen nobuild ignore-flaky test-ci-native
test-tarball-macOS:
needs: build-tarball
runs-on: macos-latest
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ env.PYTHON_VERSION }}
uses: actions/setup-python@v1
with:
PYTHON_VERSION: ${{ env.PYTHON_VERSION }}
- name: Environment Information
run: npx envinfo
- name: Download tarball
uses: actions/download-artifact@v1
with:
name: tarballs
- name: Extract tarball
run: |
tar xzf tarballs/*.tar.gz
echo "::set-env name=TAR_DIR::`basename tarballs/*.tar.gz .tar.gz`"
- name: Copy directories needed for testing
run: |
cp -r tools/node_modules $TAR_DIR/tools
cp -r tools/eslint-rules $TAR_DIR/tools
- name: Build
run: |
cd $TAR_DIR
make build-ci -j8 V=1
- name: Test
run: |
cd $TAR_DIR
make run-ci -j8 V=1

0 comments on commit c6078f0

Please sign in to comment.