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