From 97192a3c801c94c82acdf18130c82fb0a360af1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81lex?= Date: Thu, 31 Oct 2024 18:56:13 +0100 Subject: [PATCH] fix(ci): nim 2.0 dependency failure (#1216) Broken due to an update to Nimble 0.16.2 for the version-2-0 branch. This PR sets the ref to the previous commit. Also, updates the key naming so it fits better. Nim's commit list: https://github.com/nim-lang/Nim/commits/version-2-0/ # Important Note In this PR some required job's names were changed. They need to be updated at repo-level so this PR can be merged. --- .github/actions/install_nim/action.yml | 6 +++--- .github/workflows/ci.yml | 18 +++++++++++------- .github/workflows/daily_amd64.yml | 2 +- .github/workflows/daily_common.yml | 6 +++--- .github/workflows/daily_devel.yml | 2 +- .github/workflows/daily_i386.yml | 2 +- .github/workflows/daily_sat.yml | 2 +- 7 files changed, 21 insertions(+), 17 deletions(-) diff --git a/.github/actions/install_nim/action.yml b/.github/actions/install_nim/action.yml index 83de4f313a..96bdcec2aa 100644 --- a/.github/actions/install_nim/action.yml +++ b/.github/actions/install_nim/action.yml @@ -6,7 +6,7 @@ inputs: cpu: description: "CPU to build for" default: "amd64" - nim_branch: + nim_ref: description: "Nim version" default: "version-1-6" shell: @@ -117,7 +117,7 @@ runs: uses: actions/cache@v4 with: path: '${{ github.workspace }}/nim' - key: ${{ inputs.os }}-${{ inputs.cpu }}-nim-${{ inputs.nim_branch }}-cache-${{ env.cache_nonce }} + key: ${{ inputs.os }}-${{ inputs.cpu }}-nim-${{ inputs.nim_ref }}-cache-${{ env.cache_nonce }} - name: Build Nim and Nimble shell: ${{ inputs.shell }} @@ -126,6 +126,6 @@ runs: # We don't want partial matches of the cache restored rm -rf nim curl -O -L -s -S https://raw.githubusercontent.com/status-im/nimbus-build-system/master/scripts/build_nim.sh - env MAKE="${MAKE_CMD} -j${ncpu}" ARCH_OVERRIDE=${PLATFORM} NIM_COMMIT=${{ inputs.nim_branch }} \ + env MAKE="${MAKE_CMD} -j${ncpu}" ARCH_OVERRIDE=${PLATFORM} NIM_COMMIT=${{ inputs.nim_ref }} \ QUICK_AND_DIRTY_COMPILER=1 QUICK_AND_DIRTY_NIMBLE=1 CC=gcc \ bash build_nim.sh nim csources dist/nimble NimBinaries diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 3187c55027..bb71b236b0 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,10 +29,13 @@ jobs: cpu: amd64 - os: windows cpu: amd64 - nim: - - branch: version-1-6 + nim: + - ref: version-1-6 memory_management: refc - - branch: version-2-0 + # The ref below corresponds to the branch "version-2-0". + # Right before an update from Nimble 0.16.1 to 0.16.2. + # That update breaks our dependency resolution. + - ref: 8754469f4947844c5938f56e1fba846c349354b5 memory_management: refc include: - platform: @@ -56,7 +59,7 @@ jobs: run: shell: ${{ matrix.shell }} - name: '${{ matrix.platform.os }}-${{ matrix.platform.cpu }} (Nim ${{ matrix.nim.branch }})' + name: '${{ matrix.platform.os }}-${{ matrix.platform.cpu }} (Nim ${{ matrix.nim.ref }})' runs-on: ${{ matrix.builder }} steps: - name: Checkout @@ -70,7 +73,7 @@ jobs: os: ${{ matrix.platform.os }} cpu: ${{ matrix.platform.cpu }} shell: ${{ matrix.shell }} - nim_branch: ${{ matrix.nim.branch }} + nim_ref: ${{ matrix.nim.ref }} - name: Setup Go uses: actions/setup-go@v5 @@ -86,9 +89,9 @@ jobs: uses: actions/cache@v3 with: path: nimbledeps - # Using nim.branch as a simple way to differentiate between nimble using the "pkgs" or "pkgs2" directories. + # Using nim.ref as a simple way to differentiate between nimble using the "pkgs" or "pkgs2" directories. # The change happened on Nimble v0.14.0. - key: nimbledeps-${{ matrix.nim.branch }}-${{ hashFiles('.pinned') }} # hashFiles returns a different value on windows + key: nimbledeps-${{ matrix.nim.ref }}-${{ hashFiles('.pinned') }} # hashFiles returns a different value on windows - name: Install deps if: ${{ steps.deps-cache.outputs.cache-hit != 'true' }} @@ -109,5 +112,6 @@ jobs: nim --version nimble --version gcc --version + NIMFLAGS="${NIMFLAGS} --mm:${{ matrix.nim.memory_management }}" nimble test diff --git a/.github/workflows/daily_amd64.yml b/.github/workflows/daily_amd64.yml index d1fc560bde..7e2e76570a 100644 --- a/.github/workflows/daily_amd64.yml +++ b/.github/workflows/daily_amd64.yml @@ -10,5 +10,5 @@ jobs: name: Daily amd64 uses: ./.github/workflows/daily_common.yml with: - nim: "[{'branch': 'version-1-6', 'memory_management': 'refc'}, {'branch': 'version-2-0', 'memory_management': 'refc'}]" + nim: "[{'ref': 'version-1-6', 'memory_management': 'refc'}, {'ref': '8754469f4947844c5938f56e1fba846c349354b5', 'memory_management': 'refc'}]" cpu: "['amd64']" diff --git a/.github/workflows/daily_common.yml b/.github/workflows/daily_common.yml index a5ae19c5aa..687dd4af16 100644 --- a/.github/workflows/daily_common.yml +++ b/.github/workflows/daily_common.yml @@ -7,7 +7,7 @@ on: nim: description: 'Nim Configuration' required: true - type: string # Following this format: [{"branch": ..., "memory_management": ...}, ...] + type: string # Following this format: [{"ref": ..., "memory_management": ...}, ...] cpu: description: 'CPU' required: true @@ -58,7 +58,7 @@ jobs: run: shell: ${{ matrix.platform.shell }} - name: '${{ matrix.platform.os }}-${{ matrix.cpu }} (Nim ${{ matrix.nim.branch }})' + name: '${{ matrix.platform.os }}-${{ matrix.cpu }} (Nim ${{ matrix.nim.ref }})' runs-on: ${{ matrix.platform.builder }} steps: - name: Checkout @@ -69,7 +69,7 @@ jobs: with: os: ${{ matrix.platform.os }} shell: ${{ matrix.platform.shell }} - nim_branch: ${{ matrix.nim.branch }} + nim_ref: ${{ matrix.nim.ref }} cpu: ${{ matrix.cpu }} - name: Setup Go diff --git a/.github/workflows/daily_devel.yml b/.github/workflows/daily_devel.yml index d2481f43b6..ca31349f9a 100644 --- a/.github/workflows/daily_devel.yml +++ b/.github/workflows/daily_devel.yml @@ -10,5 +10,5 @@ jobs: name: Daily Nim Devel uses: ./.github/workflows/daily_common.yml with: - nim: "[{'branch': 'devel', 'memory_management': 'orc'}]" + nim: "[{'ref': 'devel', 'memory_management': 'orc'}]" cpu: "['amd64']" diff --git a/.github/workflows/daily_i386.yml b/.github/workflows/daily_i386.yml index cdbec7f956..f6adf490b0 100644 --- a/.github/workflows/daily_i386.yml +++ b/.github/workflows/daily_i386.yml @@ -10,6 +10,6 @@ jobs: name: Daily i386 (Linux) uses: ./.github/workflows/daily_common.yml with: - nim: "[{'branch': 'version-1-6', 'memory_management': 'refc'}, {'branch': 'version-2-0', 'memory_management': 'refc'}, {'branch': 'devel', 'memory_management': 'orc'}]" + nim: "[{'ref': 'version-1-6', 'memory_management': 'refc'}, {'ref': '8754469f4947844c5938f56e1fba846c349354b5', 'memory_management': 'refc'}, {'ref': 'devel', 'memory_management': 'orc'}]" cpu: "['i386']" exclude: "[{'platform': {'os':'macos'}}, {'platform': {'os':'windows'}}]" diff --git a/.github/workflows/daily_sat.yml b/.github/workflows/daily_sat.yml index f9bb9d7ff0..a3bcc14a53 100644 --- a/.github/workflows/daily_sat.yml +++ b/.github/workflows/daily_sat.yml @@ -10,6 +10,6 @@ jobs: name: Daily SAT uses: ./.github/workflows/daily_common.yml with: - nim: "[{'branch': 'version-2-0', 'memory_management': 'refc'}]" + nim: "[{'ref': '8754469f4947844c5938f56e1fba846c349354b5', 'memory_management': 'refc'}]" cpu: "['amd64']" use_sat_solver: true