Merge branch 'stable' into unstable

This commit is contained in:
Mamy André-Ratsimbazafy 2021-06-23 10:43:23 +02:00
commit 8dc4db51c0
No known key found for this signature in database
GPG Key ID: 7B88AD1FE79492E1
4 changed files with 353 additions and 10 deletions

View File

@ -1,7 +1,7 @@
name: Daily
on:
schedule:
- cron: "45 3 * * *"
- cron: "10 20 * * *"
jobs:
build:
@ -41,7 +41,7 @@ jobs:
name: '${{ matrix.target.os }}-${{ matrix.target.cpu }} (Nim ${{ matrix.branch }})'
runs-on: ${{ matrix.builder }}
continue-on-error: ${{ matrix.branch }} == 'devel'
continue-on-error: ${{ matrix.branch == 'devel' }}
steps:
- name: Checkout nimbus-eth2
uses: actions/checkout@v2
@ -151,6 +151,11 @@ jobs:
brew install gnu-getopt
brew link --force gnu-getopt
- name: Build Nim and Nimbus dependencies
shell: bash
run: |
make -j ${ncpu} NIM_COMMIT=${{ matrix.branch }} ARCH_OVERRIDE=${PLATFORM} QUICK_AND_DIRTY_COMPILER=1 update
- name: Get latest fixtures commit hash
id: fixtures_version
shell: bash
@ -173,11 +178,6 @@ jobs:
run: |
scripts/setup_official_tests.sh fixturesCache
- name: Build Nim and Nimbus dependencies
shell: bash
run: |
make -j ${ncpu} NIM_COMMIT=${{ matrix.branch }} ARCH_OVERRIDE=${PLATFORM} QUICK_AND_DIRTY_COMPILER=1 update
- name: Smoke test the Beacon Node and Validator Client with all tracing enabled
shell: bash
run: |

313
.github/workflows/nightly_build.yml vendored Normal file
View File

@ -0,0 +1,313 @@
name: Nightly build
on:
schedule:
- cron: "45 4 * * *"
workflow_dispatch:
#pull_request:
jobs:
build-amd64:
name: Linux AMD64 release asset
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
ref: unstable
- name: Build project
id: make_dist
run: |
make dist-amd64
cd dist
ARCHIVE=$(echo *.tar.gz)
tar -xzf ${ARCHIVE}
NEW_ARCHIVE_DIR="nimbus-eth2_Linux_amd64_$(date +%Y%m%d)_$(git rev-parse --short=8 HEAD)"
mv ${ARCHIVE%.tar.gz} ${NEW_ARCHIVE_DIR}
tar -czf ${NEW_ARCHIVE_DIR}.tar.gz ${NEW_ARCHIVE_DIR}
echo "::set-output name=archive::"${NEW_ARCHIVE_DIR}.tar.gz
echo "::set-output name=archive_dir::"${NEW_ARCHIVE_DIR}
- name: Upload archive artefact
uses: actions/upload-artifact@v2
with:
name: Linux_amd64_archive
path: ./dist/${{ steps.make_dist.outputs.archive }}
retention-days: 2
- name: Upload checksum artefact
uses: actions/upload-artifact@v2
with:
name: Linux_amd64_checksum
path: ./dist/${{ steps.make_dist.outputs.archive_dir }}/build/nimbus_beacon_node.sha512sum
retention-days: 2
build-arm64:
name: Linux ARM64 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
with:
ref: unstable
- name: Build project
id: make_dist
run: |
make dist-arm64
cd dist
ARCHIVE=$(echo *.tar.gz)
tar -xzf ${ARCHIVE}
NEW_ARCHIVE_DIR="nimbus-eth2_Linux_arm64v8_$(date +%Y%m%d)_$(git rev-parse --short=8 HEAD)"
mv ${ARCHIVE%.tar.gz} ${NEW_ARCHIVE_DIR}
tar -czf ${NEW_ARCHIVE_DIR}.tar.gz ${NEW_ARCHIVE_DIR}
echo "::set-output name=archive::"${NEW_ARCHIVE_DIR}.tar.gz
echo "::set-output name=archive_dir::"${NEW_ARCHIVE_DIR}
- name: Upload archive artefact
uses: actions/upload-artifact@v2
with:
name: Linux_arm64_archive
path: ./dist/${{ steps.make_dist.outputs.archive }}
retention-days: 2
- name: Upload checksum artefact
uses: actions/upload-artifact@v2
with:
name: Linux_arm64_checksum
path: ./dist/${{ steps.make_dist.outputs.archive_dir }}/build/nimbus_beacon_node.sha512sum
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
with:
ref: unstable
- name: Build project
id: make_dist
run: |
make dist-arm
cd dist
ARCHIVE=$(echo *.tar.gz)
tar -xzf ${ARCHIVE}
NEW_ARCHIVE_DIR="nimbus-eth2_Linux_arm32v7_$(date +%Y%m%d)_$(git rev-parse --short=8 HEAD)"
mv ${ARCHIVE%.tar.gz} ${NEW_ARCHIVE_DIR}
tar -czf ${NEW_ARCHIVE_DIR}.tar.gz ${NEW_ARCHIVE_DIR}
echo "::set-output name=archive::"${NEW_ARCHIVE_DIR}.tar.gz
echo "::set-output name=archive_dir::"${NEW_ARCHIVE_DIR}
- 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 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
build-win64:
name: Windows AMD64 release asset
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
ref: unstable
- name: Build project
id: make_dist
run: |
make dist-win64
cd dist
ARCHIVE=$(echo *.tar.gz)
tar -xzf ${ARCHIVE}
NEW_ARCHIVE_DIR="nimbus-eth2_Windows_amd64_$(date +%Y%m%d)_$(git rev-parse --short=8 HEAD)"
mv ${ARCHIVE%.tar.gz} ${NEW_ARCHIVE_DIR}
tar -czf ${NEW_ARCHIVE_DIR}.tar.gz ${NEW_ARCHIVE_DIR}
echo "::set-output name=archive::"${NEW_ARCHIVE_DIR}.tar.gz
echo "::set-output name=archive_dir::"${NEW_ARCHIVE_DIR}
- name: Upload archive artefact
uses: actions/upload-artifact@v2
with:
name: Windows_amd64_archive
path: ./dist/${{ steps.make_dist.outputs.archive }}
retention-days: 2
- name: Upload checksum artefact
uses: actions/upload-artifact@v2
with:
name: Windows_amd64_checksum
path: ./dist/${{ steps.make_dist.outputs.archive_dir }}/build/nimbus_beacon_node.sha512sum
retention-days: 2
build-macos-amd64:
name: macOS AMD64 release asset
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
ref: unstable
- name: Build project
id: make_dist
run: |
make dist-macos
cd dist
ARCHIVE=$(echo *.tar.gz)
tar -xzf ${ARCHIVE}
NEW_ARCHIVE_DIR="nimbus-eth2_macOS_amd64_$(date +%Y%m%d)_$(git rev-parse --short=8 HEAD)"
mv ${ARCHIVE%.tar.gz} ${NEW_ARCHIVE_DIR}
tar -czf ${NEW_ARCHIVE_DIR}.tar.gz ${NEW_ARCHIVE_DIR}
echo "::set-output name=archive::"${NEW_ARCHIVE_DIR}.tar.gz
echo "::set-output name=archive_dir::"${NEW_ARCHIVE_DIR}
- name: Upload archive artefact
uses: actions/upload-artifact@v2
with:
name: macOS_amd64_archive
path: ./dist/${{ steps.make_dist.outputs.archive }}
retention-days: 2
- name: Upload checksum artefact
uses: actions/upload-artifact@v2
with:
name: macOS_amd64_checksum
path: ./dist/${{ steps.make_dist.outputs.archive_dir }}/build/nimbus_beacon_node.sha512sum
retention-days: 2
build-macos-arm64:
name: macOS ARM64 release asset
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
ref: unstable
- name: Build project
id: make_dist
run: |
make dist-macos-arm64
cd dist
ARCHIVE=$(echo *.tar.gz)
tar -xzf ${ARCHIVE}
NEW_ARCHIVE_DIR="nimbus-eth2_macOS_arm64_$(date +%Y%m%d)_$(git rev-parse --short=8 HEAD)"
mv ${ARCHIVE%.tar.gz} ${NEW_ARCHIVE_DIR}
tar -czf ${NEW_ARCHIVE_DIR}.tar.gz ${NEW_ARCHIVE_DIR}
echo "::set-output name=archive::"${NEW_ARCHIVE_DIR}.tar.gz
echo "::set-output name=archive_dir::"${NEW_ARCHIVE_DIR}
- name: Upload archive artefact
uses: actions/upload-artifact@v2
with:
name: macOS_arm64_archive
path: ./dist/${{ steps.make_dist.outputs.archive }}
retention-days: 2
- name: Upload checksum artefact
uses: actions/upload-artifact@v2
with:
name: macOS_arm64_checksum
path: ./dist/${{ steps.make_dist.outputs.archive_dir }}/build/nimbus_beacon_node.sha512sum
retention-days: 2
prepare-prerelease:
name: Prepare pre-release
needs: [build-amd64, build-arm64, build-arm, build-win64, build-macos-amd64, build-macos-arm64]
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
ref: unstable
- name: Download artefacts
uses: actions/download-artifact@v2
- name: Create release notes
run: |
cat > release_notes.md <<EOF
## SHA512 checksums
\`\`\`text
EOF
echo '# Linux AMD64' >> release_notes.md
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
cat macOS_amd64_checksum/* >> release_notes.md
echo '# macOS ARM64' >> release_notes.md
cat macOS_arm64_checksum/* >> release_notes.md
echo '```' >> release_notes.md
- name: Delete tag
uses: dev-drprasad/delete-tag-and-release@v0.2.0
with:
delete_release: true
tag_name: nightly
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Create prerelease
run: |
gh release create nightly --prerelease --target unstable \
--title 'Nightly build ("unstable" branch)' --notes-file release_notes.md \
Linux_amd64_archive/* \
Linux_arm64_archive/* \
Linux_arm_archive/* \
Windows_amd64_archive/* \
macOS_amd64_archive/* \
macOS_arm64_archive/*
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Delete artefacts
uses: geekyeggo/delete-artifact@v1
with:
failOnError: false
name: |
Linux_amd64_archive
Linux_amd64_checksum
Linux_arm64_archive
Linux_arm64_checksum
Linux_arm_archive
Linux_arm_checksum
Windows_amd64_archive
Windows_amd64_checksum
macOS_amd64_archive
macOS_amd64_checksum
macOS_arm64_archive
macOS_arm64_checksum

View File

@ -1,3 +1,35 @@
2021-06-21 v1.4.0
=================
This release is marked as low-urgency - please update at your convenience.
It contains **improvements to attestation effectiveness and CPU usage**.
It also contains **improvements to the RPC APIs**, as suggested by DappNode and RocketPool, and in preparation for our refactored validator client.
### Outdated Nimbus instances
A reminder that if you're running Nimbus with a version prior to `1.0.10` (March 2021) you are exposed to a vulnerability in our core cryptography library (this library is used by all eth2 clients). See this [blst security advisory](https://github.com/supranational/blst/security/advisories/GHSA-x279-68rr-jp4p) for more information. If this concerns you, please update as soon as you can.
## Notable changes
### We've added:
* Nightly builds for the very adventurous. (https://github.com/status-im/nimbus-eth2/pull/2640)
* We expect users of nightly builds to be comfortable providing debugging logs.
### We've fixed:
* RPC API endpoints (https://github.com/status-im/nimbus-eth2/pull/2585, https://github.com/status-im/nimbus-eth2/pull/2586)
* `/eth/v1/beacon/pool/attestations`
* `/api/eth/v1/validator/aggregate_and_proofs`
* Doppelganger detection: fixed false positive on fast restart (https://github.com/status-im/nimbus-eth2/pull/2656/)
### We've improved
* Database read performance improvements during epoch transitions and startup (https://github.com/status-im/nimbus-eth2/pull/2639, https://github.com/status-im/nimbus-eth2/pull/2617)
* Better usage of caches, specially when validating attestations (https://github.com/status-im/nimbus-eth2/pull/2631)
2021-05-17 v1.3.0
=================
@ -705,4 +737,3 @@ the Eth2 mainnet launch.
* Support for storing the validator signing keys in a separate process, isolated
from the network, with a minimal attack surface.

View File

@ -15,7 +15,7 @@ when not defined(nimscript):
const
versionMajor* = 1
versionMinor* = 3
versionMinor* = 4
versionBuild* = 0
versionBlob* = "stateofus" # Single word - ends up in the default graffitti
@ -43,4 +43,3 @@ func shortNimBanner*(): string =
tmp[0] & " (" & gitHash & ")"
else:
tmp[0]