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