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