diff --git a/.github/actions/check-build/action.yml b/.github/actions/check-build/action.yml index 773a3edd95..a1f919b9aa 100644 --- a/.github/actions/check-build/action.yml +++ b/.github/actions/check-build/action.yml @@ -12,6 +12,7 @@ runs: using: "composite" steps: - uses: ./.github/actions/bootstrap + - uses: ./.github/actions/setup-node # run the build - run: npm ci diff --git a/.github/workflows/canister-tests.yml b/.github/workflows/canister-tests.yml index 0168f138b8..479d49c2a8 100644 --- a/.github/workflows/canister-tests.yml +++ b/.github/workflows/canister-tests.yml @@ -850,7 +850,6 @@ jobs: verify-clean-build-hash: - if: false # We skip these builds because recent GHA runner changes made the native ubuntu builds non-reproducible needs: ['clean-build', 'docker-build-internet_identity_production'] runs-on: ${{ matrix.os }} strategy: diff --git a/.github/workflows/release-build-check.yml b/.github/workflows/release-build-check.yml index c19381e096..6380ea7712 100644 --- a/.github/workflows/release-build-check.yml +++ b/.github/workflows/release-build-check.yml @@ -53,7 +53,6 @@ jobs: # Perform the clean build (non-docker), using the release as checkout clean-build: - if: false # We skip these builds because recent GHA runner changes made the native ubuntu builds non-reproducible runs-on: ${{ matrix.os }} needs: latest-release strategy: diff --git a/scripts/build b/scripts/build index 4fbfb550c9..71c97b1008 100755 --- a/scripts/build +++ b/scripts/build @@ -95,6 +95,22 @@ then exit 1 fi +# Check for exact node version +if [[ "$(node --version)" != "v$(cat .node-version)" ]] +then + echo; echo + echo "!!!WARNING!!!: could not find node with exact expected version: v$(cat .node-version)" + # On CI we abort + if [ -n "${CI:-}" ] + then + exit 1 + fi + # If the node version doesn't match 100% the build might still succeed though is less likely + # to be reproducible. For developer convenience we still try to go through. + echo "This might cause build or reproducibility issues." + echo; echo +fi + # Builds a single canister # build_canister CANISTER EXTRA_BUILD_ARGS... # CANISTER: possible values: [internet_identity, archive]