diff --git a/.github/workflows/multi_nim.yml b/.github/workflows/multi_nim.yml index 61d1d827bc..c51dd379d3 100644 --- a/.github/workflows/multi_nim.yml +++ b/.github/workflows/multi_nim.yml @@ -5,78 +5,11 @@ on: workflow_dispatch: jobs: - delete-cache: - runs-on: ubuntu-latest - steps: - - uses: snnaplab/delete-branch-cache-action@v1 + call-multi-nim-common: + uses: status-im/nim-libp2p/.github/workflows/multi_nim_common.yml@unstable + with: + nim-branch: "['version-1-6','version-2-0']" + platform: "[{'os':'linux','cpu':'amd64'},{'os':'macos','cpu':'amd64'},{'os':'windows','cpu':'amd64'}]" - build: - needs: delete-cache - timeout-minutes: 120 - 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, version-2-0, devel] - 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' || matrix.branch == 'version-2-0' }} - steps: - - name: Checkout - uses: actions/checkout@v2 - - - name: Setup Nim - uses: "./.github/actions/install_nim" - with: - os: ${{ matrix.target.os }} - shell: ${{ matrix.shell }} - nim_branch: ${{ matrix.branch }} - cpu: ${{ matrix.target.cpu }} - - - 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: Run tests - run: | - nim --version - nimble --version - nimble install -y --depsOnly - NIMFLAGS="${NIMFLAGS} --gc:refc" nimble test - if [[ "${{ matrix.branch }}" == "devel" ]]; then - echo -e "\nTesting with '--gc:orc':\n" - NIMFLAGS="${NIMFLAGS} --gc:orc" nimble test - fi diff --git a/.github/workflows/multi_nim_common.yml b/.github/workflows/multi_nim_common.yml new file mode 100644 index 0000000000..c237694edc --- /dev/null +++ b/.github/workflows/multi_nim_common.yml @@ -0,0 +1,83 @@ +name: daily-common + +on: + workflow_call: + inputs: + nim-branch: + description: 'Nim branch' + required: true + type: string + platform: + description: 'Platform' + required: true + type: string + +jobs: + delete-cache: + runs-on: ubuntu-latest + steps: + - uses: snnaplab/delete-branch-cache-action@v1 + + matrix-prep: + + build: + needs: delete-cache + timeout-minutes: 120 + strategy: + fail-fast: false + matrix: + target: ${{ fromJSON(inputs.platform) }} + branch: ${{ fromJSON(inputs.nim-branch) }} + 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' || matrix.branch == 'version-2-0' }} + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Setup Nim + uses: "./.github/actions/install_nim" + with: + os: ${{ matrix.target.os }} + shell: ${{ matrix.shell }} + nim_branch: ${{ matrix.branch }} + cpu: ${{ matrix.target.cpu }} + + - name: Setup Go + uses: actions/setup-go@v4 + with: + go-version: '~1.15.5' + cache: false + + - name: Install p2pd + run: | + V=1 bash scripts/build_p2pd.sh p2pdCache 124530a3 + + - name: Run tests + run: | + nim --version + nimble --version + nimble install -y --depsOnly + NIMFLAGS="${NIMFLAGS} --mm:refc" nimble test + if [[ "${{ matrix.branch }}" == "devel" ]]; then + echo -e "\nTesting with '--mm:orc':\n" + NIMFLAGS="${NIMFLAGS} --mm:orc" nimble test + fi diff --git a/.github/workflows/multi_nim_devel.yml b/.github/workflows/multi_nim_devel.yml new file mode 100644 index 0000000000..4acc46caed --- /dev/null +++ b/.github/workflows/multi_nim_devel.yml @@ -0,0 +1,13 @@ +name: Nim Devel +on: + schedule: + - cron: "30 6 * * *" + workflow_dispatch: + +jobs: + call-multi-nim-common: + uses: status-im/nim-libp2p/.github/workflows/multi_nim_common.yml@unstable + with: + nim-branch: "['devel']" + platform: "[{'os':'linux','cpu':'amd64'},{'os':'macos','cpu':'amd64'},{'os':'windows','cpu':'amd64'}]" + diff --git a/.github/workflows/multi_nim_legacy.yml b/.github/workflows/multi_nim_legacy.yml new file mode 100644 index 0000000000..24266284a1 --- /dev/null +++ b/.github/workflows/multi_nim_legacy.yml @@ -0,0 +1,14 @@ +name: Legacy Platforms +on: + schedule: + - cron: "30 6 * * *" + workflow_dispatch: + +jobs: + call-multi-nim-common: + uses: status-im/nim-libp2p/.github/workflows/multi_nim_common.yml@unstable + with: + nim-branch: "['version-1-6','version-2-0']" + platform: "[{'os':'linux','cpu':'i386'}]" + +