ci: pass -d:disableMarchNative to avoid secp256k1 build failures #10301
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: ci | |
| on: | |
| pull_request: | |
| push: | |
| branches: | |
| - master | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
| cancel-in-progress: true | |
| env: | |
| NPROC: 2 | |
| MAKEFLAGS: "-j${NPROC}" | |
| NIMFLAGS: "--parallelBuild:${NPROC} --colors:off -d:chronicles_colors:none -d:disableMarchNative" | |
| NIM_VERSION: '2.2.4' | |
| NIMBLE_VERSION: '0.22.3' | |
| jobs: | |
| changes: # changes detection | |
| runs-on: ubuntu-22.04 | |
| permissions: | |
| pull-requests: read | |
| steps: | |
| - uses: actions/checkout@v4 | |
| name: Checkout code | |
| id: checkout | |
| - uses: dorny/paths-filter@v2 | |
| id: filter | |
| with: | |
| filters: | | |
| common: | |
| - '.github/workflows/**' | |
| - 'nimble.lock' | |
| - 'waku.nimble' | |
| - 'Makefile' | |
| - 'library/**' | |
| - 'liblogosdelivery/**' | |
| v2: | |
| - 'waku/**' | |
| - 'apps/**' | |
| - 'tools/**' | |
| - 'tests/all_tests_v2.nim' | |
| - 'tests/**' | |
| - 'channels/**' | |
| docker: | |
| - 'docker/**' | |
| outputs: | |
| common: ${{ steps.filter.outputs.common }} | |
| v2: ${{ steps.filter.outputs.v2 }} | |
| docker: ${{ steps.filter.outputs.docker }} | |
| build: | |
| needs: changes | |
| if: ${{ needs.changes.outputs.v2 == 'true' || needs.changes.outputs.common == 'true' }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-22.04, macos-15] | |
| runs-on: ${{ matrix.os }} | |
| timeout-minutes: 45 | |
| name: build-${{ matrix.os }} | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Install Nim ${{ env.NIM_VERSION }} | |
| uses: jiro4989/setup-nim-action@v2 | |
| with: | |
| nim-version: ${{ env.NIM_VERSION }} | |
| repo-token: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Install Nimble ${{ env.NIMBLE_VERSION }} | |
| run: | | |
| cd /tmp && nimble install "nimble@${{ env.NIMBLE_VERSION }}" -y | |
| echo "$HOME/.nimble/bin" >> $GITHUB_PATH | |
| - name: Cache nimble deps | |
| id: cache-nimbledeps | |
| uses: actions/cache@v3 | |
| with: | |
| path: | | |
| nimbledeps/ | |
| nimble.paths | |
| key: ${{ runner.os }}-nimbledeps-nimble${{ env.NIMBLE_VERSION }}-${{ hashFiles('nimble.lock', 'BearSSL.mk', 'Nat.mk') }} | |
| - name: Install nimble deps | |
| if: steps.cache-nimbledeps.outputs.cache-hit != 'true' | |
| run: | | |
| nimble setup --localdeps -y | |
| make rebuild-nat-libs-nimbledeps | |
| make rebuild-bearssl-nimbledeps | |
| touch nimbledeps/.nimble-setup | |
| - name: Build binaries | |
| run: make V=1 all | |
| build-windows: | |
| needs: changes | |
| if: ${{ needs.changes.outputs.v2 == 'true' || needs.changes.outputs.common == 'true' }} | |
| uses: ./.github/workflows/windows-build.yml | |
| with: | |
| branch: ${{ github.ref }} | |
| test: | |
| needs: changes | |
| if: ${{ needs.changes.outputs.v2 == 'true' || needs.changes.outputs.common == 'true' }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-22.04, macos-15] | |
| runs-on: ${{ matrix.os }} | |
| timeout-minutes: 45 | |
| name: test-${{ matrix.os }} | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Install Nim ${{ env.NIM_VERSION }} | |
| uses: jiro4989/setup-nim-action@v2 | |
| with: | |
| nim-version: ${{ env.NIM_VERSION }} | |
| repo-token: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Install Nimble ${{ env.NIMBLE_VERSION }} | |
| run: | | |
| cd /tmp && nimble install "nimble@${{ env.NIMBLE_VERSION }}" -y | |
| echo "$HOME/.nimble/bin" >> $GITHUB_PATH | |
| - name: Cache nimble deps | |
| id: cache-nimbledeps | |
| uses: actions/cache@v3 | |
| with: | |
| path: | | |
| nimbledeps/ | |
| nimble.paths | |
| key: ${{ runner.os }}-nimbledeps-nimble${{ env.NIMBLE_VERSION }}-${{ hashFiles('nimble.lock', 'BearSSL.mk', 'Nat.mk') }} | |
| - name: Install nimble deps | |
| if: steps.cache-nimbledeps.outputs.cache-hit != 'true' | |
| run: | | |
| nimble setup --localdeps -y | |
| make rebuild-nat-libs-nimbledeps | |
| make rebuild-bearssl-nimbledeps | |
| touch nimbledeps/.nimble-setup | |
| - name: Run tests | |
| run: | | |
| postgres_enabled=0 | |
| if [ ${{ runner.os }} == "Linux" ]; then | |
| sudo docker run --rm -d -e POSTGRES_PASSWORD=test123 -p 5432:5432 postgres:15.4-alpine3.18 | |
| postgres_enabled=1 | |
| fi | |
| export MAKEFLAGS="-j1" | |
| export NIMFLAGS="--colors:off -d:chronicles_colors:none -d:disableMarchNative" | |
| export NIM_PARAMS="-d:disableMarchNative" | |
| export USE_LIBBACKTRACE=0 | |
| make V=1 POSTGRES=$postgres_enabled test | |
| make V=1 POSTGRES=$postgres_enabled testwakunode2 | |
| build-docker-image: | |
| needs: changes | |
| if: ${{ needs.changes.outputs.v2 == 'true' || needs.changes.outputs.common == 'true' || needs.changes.outputs.docker == 'true' }} | |
| uses: ./.github/workflows/container-image.yml | |
| secrets: inherit | |
| nwaku-nwaku-interop-tests: | |
| needs: build-docker-image | |
| uses: logos-messaging/logos-delivery-interop-tests/.github/workflows/nim_waku_PR.yml@SMOKE_TEST_STABLE | |
| with: | |
| node_nwaku: ${{ needs.build-docker-image.outputs.image }} | |
| secrets: inherit | |
| js-waku-node: | |
| needs: build-docker-image | |
| uses: logos-messaging/logos-delivery-js/.github/workflows/test-node.yml@master | |
| with: | |
| nim_wakunode_image: ${{ needs.build-docker-image.outputs.image }} | |
| test_type: node | |
| js-waku-node-optional: | |
| needs: build-docker-image | |
| uses: logos-messaging/logos-delivery-js/.github/workflows/test-node.yml@master | |
| with: | |
| nim_wakunode_image: ${{ needs.build-docker-image.outputs.image }} | |
| test_type: node-optional | |
| lint: | |
| name: "Lint" | |
| runs-on: ubuntu-22.04 | |
| needs: build | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Install Nim ${{ env.NIM_VERSION }} | |
| uses: jiro4989/setup-nim-action@v2 | |
| with: | |
| nim-version: ${{ env.NIM_VERSION }} | |
| repo-token: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Install Nimble ${{ env.NIMBLE_VERSION }} | |
| run: | | |
| cd /tmp && nimble install "nimble@${{ env.NIMBLE_VERSION }}" -y | |
| echo "$HOME/.nimble/bin" >> $GITHUB_PATH | |
| - name: Cache nimble deps | |
| id: cache-nimbledeps | |
| uses: actions/cache@v3 | |
| with: | |
| path: | | |
| nimbledeps/ | |
| nimble.paths | |
| key: ${{ runner.os }}-nimbledeps-nimble${{ env.NIMBLE_VERSION }}-${{ hashFiles('nimble.lock', 'BearSSL.mk', 'Nat.mk') }} | |
| - name: Install nimble deps | |
| if: steps.cache-nimbledeps.outputs.cache-hit != 'true' | |
| run: | | |
| nimble setup --localdeps -y | |
| make rebuild-nat-libs-nimbledeps | |
| make rebuild-bearssl-nimbledeps | |
| touch nimbledeps/.nimble-setup | |
| - name: Build nph | |
| run: | | |
| make build-nph | |
| - name: Check nph formatting | |
| run: | | |
| shopt -s extglob # Enable extended globbing | |
| NPH=$(make print-nph-path) | |
| echo "using nph at ${NPH}" | |
| "${NPH}" examples waku tests tools apps *.@(nim|nims|nimble) | |
| git diff --exit-code |