nwaku/.github/workflows/test.yml

113 lines
2.9 KiB
YAML

name: Test
on:
pull_request:
push:
branches:
- master
jobs:
test:
strategy:
matrix:
env:
- NPROC: 2
MAKEFLAGS: "-j${NPROC}"
NIMFLAGS: "--parallelBuild:${NPROC}"
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: Update dependencies
run: make V=1 update
- name: Build V1 binaries
run: make LOG_LEVEL=TRACE v1
- name: Build V2 binaries
run: make LOG_LEVEL=TRACE v2
- name: Run V1 Tests
run: make test1
- name: Run V2 Tests
run: make test2
# windows:
# strategy:
# matrix:
# env:
# - NPROC: 2
# MAKEFLAGS: "-j${NPROC}"
# ARCH_OVERRIDE: "%PLATFORM%"
# 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: Update dependencies
# run: mingw32-make CI_CACHE=NimBinaries update
# - name: Fetch DLLs
# run: mingw32-make fetch-dlls
# - name: Build V1 Binaries
# run: mingw32-make LOG_LEVEL=TRACE v1
# - name: Build V2 Binaries
# run: mingw32-make LOG_LEVEL=TRACE v2
# - name: Test Binaries
# run: |
# build\wakunode1.exe --help
# build\wakunode2.exe --help
# - name: Run V1 Tests
# run: mingw32-make test1
# - name: Run V2 Tests
# run: mingw32-make test2