name: CI on: push: branches: - master - unstable pull_request: workflow_dispatch: concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: build: timeout-minutes: 90 strategy: fail-fast: false matrix: target: - os: linux cpu: amd64 - os: linux cpu: i386 - os: macos cpu: amd64 - os: windows cpu: amd64 #- os: windows #cpu: i386 branch: [version-1-6] include: - target: os: linux builder: ubuntu-20.04 shell: bash - target: os: macos builder: macos-12 shell: bash - target: os: windows builder: windows-2019 shell: msys2 {0} defaults: run: shell: ${{ matrix.shell }} name: '${{ matrix.target.os }}-${{ matrix.target.cpu }} (Nim ${{ matrix.branch }})' runs-on: ${{ matrix.builder }} continue-on-error: ${{ matrix.branch == 'devel' }} steps: - name: Checkout uses: actions/checkout@v2 with: submodules: true - name: Setup Nim uses: "./.github/actions/install_nim" with: os: ${{ matrix.target.os }} cpu: ${{ matrix.target.cpu }} shell: ${{ matrix.shell }} nim_branch: ${{ matrix.branch }} - name: Setup Go uses: actions/setup-go@v2 with: go-version: '~1.15.5' - name: Install p2pd run: | V=1 bash scripts/build_p2pd.sh p2pdCache 124530a3 - name: Restore deps from cache id: deps-cache uses: actions/cache@v3 with: path: nimbledeps key: nimbledeps-${{ hashFiles('.pinned') }} - name: Install deps if: ${{ steps.deps-cache.outputs.cache-hit != 'true' }} run: | nimble install_pinned - name: Run tests run: | nim --version nimble --version nimble test