Merge branch 'stable' into unstable

This commit is contained in:
Zahary Karadjov 2023-06-27 05:40:58 +03:00
commit 970f5dfc4e
No known key found for this signature in database
GPG Key ID: C1F42EAFF38D570F
4 changed files with 103 additions and 9 deletions

View File

@ -155,6 +155,85 @@ jobs:
./dist/*.deb
./dist/*.rpm
retention-days: 2
build-arm:
name: Linux ARM release asset
runs-on: ubuntu-latest
steps:
- name: Install packages
env:
DEBIAN_FRONTEND: "noninteractive"
TZ: "Etc/UTC"
run: |
sudo apt-get -qq update
sudo apt-get -qq -y install binfmt-support qemu-user-static
- name: Checkout code
uses: actions/checkout@v2
- name: Build project
id: make_dist
run: |
make dist-arm
cd dist
ARCHIVE=$(echo nimbus-eth2_Linux_arm32v7_*.tar.gz)
echo "::set-output name=archive::"${ARCHIVE}
echo "::set-output name=archive_dir::"${ARCHIVE%.tar.gz}
tar -xzf ${ARCHIVE} ${ARCHIVE%.tar.gz}/build/nimbus_beacon_node.sha512sum
tar -xzf ${ARCHIVE} ${ARCHIVE%.tar.gz}/build/nimbus_validator_client.sha512sum
- name: Upload archive artefact
uses: actions/upload-artifact@v2
with:
name: Linux_arm_archive
path: ./dist/${{ steps.make_dist.outputs.archive }}
retention-days: 2
- name: Upload BN checksum artefact
uses: actions/upload-artifact@v2
with:
name: Linux_arm_checksum
path: ./dist/${{ steps.make_dist.outputs.archive_dir }}/build/nimbus_beacon_node.sha512sum
retention-days: 2
- name: Upload VC checksum artefact
uses: actions/upload-artifact@v2
with:
name: Linux_arm_checksum
path: ./dist/${{ steps.make_dist.outputs.archive_dir }}/build/nimbus_validator_client.sha512sum
retention-days: 2
- name: Login to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push a Docker images for end users
run: |
cd dist
tar -xzf ${{ steps.make_dist.outputs.archive }}
mv ${{ steps.make_dist.outputs.archive_dir }} ../docker/dist/binaries/nimbus-eth2
cd ../docker/dist/binaries
REFNAME="${{ github.ref }}"
TAG="${REFNAME#refs/tags/}"
cp -a /usr/bin/qemu-arm-static .
DOCKER_BUILDKIT=1 docker build -f Dockerfile.bn.arm -t statusim/nimbus-eth2:arm-${TAG} -t statusim/nimbus-eth2:arm-latest .
docker push statusim/nimbus-eth2:arm-${TAG}
docker push statusim/nimbus-eth2:arm-latest
DOCKER_BUILDKIT=1 docker build -f Dockerfile.vc.arm -t statusim/nimbus-validator-client:arm-${TAG} -t statusim/nimbus-validator-client:arm-latest .
docker push statusim/nimbus-validator-client:arm-${TAG}
docker push statusim/nimbus-validator-client:arm-latest
- name: Setup ruby # Needed for fpm
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.1' # Not needed with a .ruby-version file
- name: Create RPM/DEB
run: |
scripts/make_packages.sh -b nimbus_beacon_node -t dist/*.tar.gz --install-fpm
scripts/make_packages.sh -b nimbus_validator_client -t dist/*.tar.gz --install-fpm
- name: Upload DEB
uses: actions/upload-artifact@v3
with:
name: Linux_arm_packages
path: |
./dist/*.deb
./dist/*.rpm
retention-days: 2
build-win64:
name: Windows AMD64 release asset
runs-on: ubuntu-latest
@ -259,7 +338,7 @@ jobs:
retention-days: 2
prepare-release:
name: Prepare release draft
needs: [build-amd64, build-arm64, build-win64, build-macos-amd64, build-macos-arm64]
needs: [build-amd64, build-arm64, build-arm, build-win64, build-macos-amd64, build-macos-arm64]
runs-on: ubuntu-latest
steps:
- name: Download artefacts
@ -285,6 +364,8 @@ jobs:
cat Linux_amd64_checksum/* >> release_notes.md
echo '# Linux ARM64' >> release_notes.md
cat Linux_arm64_checksum/* >> release_notes.md
echo '# Linux ARM' >> release_notes.md
cat Linux_arm_checksum/* >> release_notes.md
echo '# Windows AMD64' >> release_notes.md
cat Windows_amd64_checksum/* >> release_notes.md
echo '# macOS AMD64' >> release_notes.md
@ -306,6 +387,8 @@ jobs:
Linux_amd64_packages/*
Linux_arm64_archive/*
Linux_arm64_packages/*
Linux_arm_archive/*
Linux_arm_packages/*
Windows_amd64_archive/*
macOS_amd64_archive/*
macOS_arm64_archive/*
@ -320,6 +403,9 @@ jobs:
Linux_arm64_archive
Linux_arm64_checksum
Linux_arm64_packages
Linux_arm_archive
Linux_arm_checksum
Linux_arm_packages
Windows_amd64_archive
Windows_amd64_checksum
macOS_amd64_archive
@ -341,19 +427,23 @@ jobs:
statusim/nimbus-eth2:multiarch-${TAG} \
--amend statusim/nimbus-eth2:amd64-${TAG} \
--amend statusim/nimbus-eth2:arm64-${TAG} \
--amend statusim/nimbus-eth2:arm-${TAG}
docker manifest push statusim/nimbus-eth2:multiarch-${TAG}
docker manifest create \
statusim/nimbus-eth2:multiarch-latest \
--amend statusim/nimbus-eth2:amd64-latest \
--amend statusim/nimbus-eth2:arm64-latest \
--amend statusim/nimbus-eth2:arm-latest
docker manifest push statusim/nimbus-eth2:multiarch-latest
docker manifest create \
statusim/nimbus-validator-client:multiarch-${TAG} \
--amend statusim/nimbus-validator-client:amd64-${TAG} \
--amend statusim/nimbus-validator-client:arm64-${TAG} \
--amend statusim/nimbus-validator-client:arm-${TAG}
docker manifest push statusim/nimbus-validator-client:multiarch-${TAG}
docker manifest create \
statusim/nimbus-validator-client:multiarch-latest \
--amend statusim/nimbus-validator-client:amd64-latest \
--amend statusim/nimbus-validator-client:arm64-latest \
--amend statusim/nimbus-validator-client:arm-latest
docker manifest push statusim/nimbus-validator-client:multiarch-latest

View File

@ -1,3 +1,14 @@
2023-06-26 v23.6.1
==================
Nimbus `v23.6.1` is a `low-urgency` point release significantly improving the performance of database pruning on Nimbus instances that have accumulated history prior to April 2021 (Nimbus 1.1.0). Affected users are advised to upgrade as soon as possible in order to reduce the risk of missed attestations and blocks.
Fixes:
* The legacy Nimbus database is not subjected to pruning due to the high I/O cost of the operations:
https://github.com/status-im/nimbus-eth2/pull/5116
2023-06-20 v23.6.0
==================

View File

@ -18,7 +18,7 @@ const
versionMajor* = 23
versionMinor* = 6
versionBuild* = 0
versionBuild* = 1
versionBlob* = "stateofus" # Single word - ends up in the default graffiti

View File

@ -75,7 +75,6 @@ if [[ "${PLATFORM}" == "Windows_amd64" ]]; then
# nim-blscurve's Windows SSSE3 detection doesn't work when cross-compiling,
# so we enable it here.
make \
-j$(nproc) \
CC="${CC}" \
CXX="${CXX}" \
CXXFLAGS="${CXXFLAGS} -D__STDC_FORMAT_MACROS -D_WIN32_WINNT=0x0600" \
@ -94,7 +93,6 @@ elif [[ "${PLATFORM}" == "Linux_arm32v7" ]]; then
QUICK_AND_DIRTY_COMPILER=1 \
deps-common build/generate_makefile
make \
-j$(nproc) \
LOG_LEVEL="TRACE" \
CC="${CC}" \
NIMFLAGS="${NIMFLAGS_COMMON} --cpu:arm --gcc.exe=${CC} --gcc.linkerexe=${CC}" \
@ -111,7 +109,6 @@ elif [[ "${PLATFORM}" == "Linux_arm64v8" ]]; then
QUICK_AND_DIRTY_COMPILER=1 \
deps-common build/generate_makefile
make \
-j$(nproc) \
LOG_LEVEL="TRACE" \
CC="${CC}" \
NIMFLAGS="${NIMFLAGS_COMMON} --cpu:arm64 --gcc.exe=${CC} --gcc.linkerexe=${CC}" \
@ -139,7 +136,6 @@ elif [[ "${PLATFORM}" == "macOS_amd64" ]]; then
NIMFLAGS="${NIMFLAGS_COMMON} --os:macosx --clang.exe=${CC}" \
nat-libs
make \
-j$(nproc) \
LOG_LEVEL="TRACE" \
CC="${CC}" \
AR="x86_64-apple-darwin${DARWIN_VER}-ar" \
@ -172,7 +168,6 @@ elif [[ "${PLATFORM}" == "macOS_arm64" ]]; then
NIMFLAGS="${NIMFLAGS_COMMON} --os:macosx --cpu:arm64 --passC:'-mcpu=apple-a13' --clang.exe=${CC}" \
nat-libs
make \
-j$(nproc) \
LOG_LEVEL="TRACE" \
CC="${CC}" \
AR="arm64-apple-darwin${DARWIN_VER}-ar" \
@ -188,7 +183,6 @@ elif [[ "${PLATFORM}" == "Linux_amd64_opt" ]]; then
echo
make \
-j$(nproc) \
LOG_LEVEL="TRACE" \
NIMFLAGS="${NIMFLAGS_COMMON} -d:marchOptimized" \
PARTIAL_STATIC_LINKING=1 \
@ -200,7 +194,6 @@ else
echo
make \
-j$(nproc) \
LOG_LEVEL="TRACE" \
NIMFLAGS="${NIMFLAGS_COMMON}" \
PARTIAL_STATIC_LINKING=1 \