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