nwaku/.github/workflows/test.yml

93 lines
2.6 KiB
YAML

name: Test
on:
pull_request:
push:
branches:
- master
jobs:
test:
strategy:
matrix:
env:
- { NPROC: 2 }
platform: [ubuntu-latest, macos-latest]
runs-on: ${{ matrix.platform }}
env: ${{ matrix.env }}
timeout-minutes: 60
name: ${{ matrix.platform }} - ${{ matrix.env.NPROC }} processes
steps:
- name: Checkout code
uses: actions/checkout@v2
# We need to do this because of how github cache works
# I am not sure we can move the cache file, so if we do not do this
# make update breaks because the cached compiler is there where the submodules
# are meant to go.
- name: Submodules
run: |
git submodule update --init --recursive
- name: Cache nim
uses: actions/cache@v1
with:
path: vendor/nimbus-build-system/vendor/Nim/bin
key: ${{ runner.os }}-${{ matrix.env.NPROC }}-nim-${{ hashFiles('.gitmodules') }}
- name: Install dependencies
run: |
make -j${NPROC} NIMFLAGS="--parallelBuild:${NPROC}" V=1 update
make -j${NPROC} NIMFLAGS="--parallelBuild:${NPROC}" LOG_LEVEL=TRACE
- name: Run Tests
run: |
make -j${NPROC} NIMFLAGS="--parallelBuild:${NPROC}" test
windows:
strategy:
matrix:
env:
- { NPROC: 2 }
runs-on: windows-latest
env: ${{ matrix.env }}
timeout-minutes: 90
name: windows - ${{ matrix.env.NPROC }} processes
steps:
- uses: eine/setup-msys2@v2
with:
msystem: MSYS
update: true
- name: Checkout code
uses: actions/checkout@v2
# We need to do this because of how github cache works
# I am not sure we can move the cache file, so if we do not do this
# make update breaks because the cached compiler is there where the submodules
# are meant to go.
- name: Submodules
run: |
git submodule update --init --recursive
- name: Cache nim
uses: actions/cache@v1
with:
path: vendor/nimbus-build-system/vendor/Nim/bin
key: ${{ runner.os }}-${{ matrix.env.NPROC }}-nim-${{ hashFiles('.gitmodules') }}
- name: Build
run: |
mingw32-make -j2 ARCH_OVERRIDE=%PLATFORM% CI_CACHE=NimBinaries update
mingw32-make -j2 ARCH_OVERRIDE=%PLATFORM% fetch-dlls
- name: Run Tests
run: |
mingw32-make -j2 ARCH_OVERRIDE=%PLATFORM% LOG_LEVEL=TRACE
build\wakunode.exe --help
mingw32-make -j2 ARCH_OVERRIDE=%PLATFORM% test