Skip to content

Commit

Permalink
build: add build from tarball
Browse files Browse the repository at this point in the history
  • Loading branch information
John Kleinschmidt committed Apr 2, 2020
1 parent 9800732 commit d1fed7e
Showing 1 changed file with 138 additions and 0 deletions.
138 changes: 138 additions & 0 deletions .github/workflows/build-tarball.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
name: Build from tarball

on: [push, pull_request]

env:
PYTHON_VERSION: 3.8
FLAKY_TESTS: dontcare

jobs:
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: 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:
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 ${{ 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: |
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"
echo "::set-env name=test_ci_args::--shell=$pwd\out\Release\node.exe"
- name: "Test JS Suites"
shell: cmd
run: |
set DEBUG_HELPER=1
set PATH=%PATH:C:\Program Files\Git\usr\bin;=%
./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 d1fed7e

Please sign in to comment.