Skip to content

Commit

Permalink
chore: release v1.13.0 (#6204)
Browse files Browse the repository at this point in the history
  • Loading branch information
philknows authored Dec 21, 2023
2 parents 85e44ef + 01c7329 commit 1a816b4
Show file tree
Hide file tree
Showing 320 changed files with 6,984 additions and 2,198 deletions.
10 changes: 5 additions & 5 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,11 @@ packages/beacon-node/mainnet_pubkeys.csv
# Autogenerated docs
packages/**/docs
packages/**/typedocs
docs/packages
docs/contributing.md
docs/assets
docs/reference/cli.md
/site
docs/pages/**/*-cli.md
docs/pages/assets
docs/pages/api/api-reference.md
docs/pages/contribution/getting-started.md
docs/site

# Lodestar artifacts
.lodestar
Expand Down
16 changes: 16 additions & 0 deletions .github/actions/core-dump/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: 'Take core dump files'
description: 'List down and upload core dumps as artifacts'
runs:
using: "composite"
steps:
- name: List down core dump files
run: |
ls -lah /cores/
sudo chmod -R +rwx /cores/*
shell: sh

- name: Backup core dump
uses: actions/upload-artifact@v3
with:
name: core-dump
path: /cores/*
23 changes: 23 additions & 0 deletions .github/actions/setup-debug-node/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: "Setup node with debug support"
description: "Setup the nodejs version with debug support"
runs:
using: "composite"
steps:
# For now we only have the Node 20 debug build
- run: |
sudo apt-get install unzip && curl -L "https://drive.google.com/uc?export=download&id=1hlhbbQi-NJi8_WjULvOdo-K_tfZFzN3Z&confirm=t" > nodejs.zip && unzip nodejs.zip
sudo cp -f node /usr/bin/node-with-debug
sudo chmod +x /usr/bin/node-with-debug
shell: sh
# List of naming patterns
# https://man7.org/linux/man-pages/man5/core.5.html
- run: |
sudo mkdir -p /cores
sudo sh -c "echo /cores/core-%e-%s-%u-%g-%p-%t > /proc/sys/kernel/core_pattern"
shell: sh
- run: |
echo $(/usr/bin/node-with-debug --print "process.version")
echo $(/usr/bin/node-with-debug --print "process.features.debug")
shell: sh
1 change: 1 addition & 0 deletions .github/workflows/benchmark.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ on:
branches:
- stable
- unstable
workflow_dispatch:

jobs:
run:
Expand Down
50 changes: 50 additions & 0 deletions .github/workflows/build-debug-node.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Build debug node

on:
workflow_dispatch:
inputs:
version:
required: true
description: 'Node.js version'

jobs:
build:
name: Build Debug version of Node.js
runs-on: buildjet-4vcpu-ubuntu-2204
strategy:
fail-fast: false
steps:
- name: Install dependencies
run: apt-get install python3 g++ make python3-pip

- name: Download Node.js source
uses: actions/checkout@v4
with:
repository: 'nodejs/node'
ref: 'v${{ github.event.inputs.version }}'
path: 'nodejs'

- name: Configure nodejs with debug flag
run: ./configure --debug
working-directory: 'nodejs'

- name: Compile the nodejs
run: make -j$(nproc --all)
working-directory: 'nodejs'

- name: Verify the build
run: make test-only
working-directory: 'nodejs'

- name: Create destination folder
run: mkdir -p ${{ github.workspace }}/nodejs-debug-build-${{ github.event.inputs.version }}

- name: Copy nodejs debug build
run: cp out/Debug/node ${{ github.workspace }}/nodejs-debug-build-${{ github.event.inputs.version }}
working-directory: 'nodejs'

- name: Upload build to artifacts
uses: actions/upload-artifact@v3
with:
name: nodejs-debug-build-${{ github.event.inputs.version }}
path: nodejs-debug-build-${{ github.event.inputs.version }}
8 changes: 5 additions & 3 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,15 +45,17 @@ jobs:
uses: actions/setup-python@v1

- name: Install dependencies
working-directory: docs
run: |
python -m pip install --upgrade pip
pip install -r docs/requirements.txt
pip install -r requirements.txt
- name: Build docs
run: mkdocs build --site-dir site -v --clean
working-directory: docs
run: mkdocs build --verbose --clean --site-dir site

- name: Deploy
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./site
publish_dir: ./docs/site
24 changes: 19 additions & 5 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -153,12 +153,16 @@ jobs:
matrix:
node: [20]
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: ${{matrix.node}}
node-version: ${{ matrix.node }}
check-latest: true
cache: yarn
cache: yarn

# Remove when finished debugging core dumps
- uses: './.github/actions/setup-debug-node'

- name: Restore build cache
id: cache-primes-restore
uses: actions/cache/restore@v3
Expand All @@ -180,7 +184,14 @@ jobs:
key: spec-test-data-${{ hashFiles('packages/validator/test/spec/params.ts') }}

- name: Unit tests
run: yarn test:unit
id: unit_tests
# Rever to "yarn test:unit" when finished debugging core dumps
run: sudo sh -c "ulimit -c unlimited && /usr/bin/node-with-debug $(which yarn) test:unit"

# Remove when finished debugging core dumps
- uses: './.github/actions/core-dump'
if: ${{ failure() && steps.unit_tests.conclusion == 'failure' }}

- name: Upload coverage data
run: yarn coverage

Expand Down Expand Up @@ -259,7 +270,10 @@ jobs:
packages/*/.git-data.json
key: ${{ runner.os }}-node-${{ matrix.node }}-${{ github.sha }}
fail-on-cache-miss: true

- name: Install Chrome browser
run: npx @puppeteer/browsers install chrome
- name: Install Firefox browser
run: npx @puppeteer/browsers install firefox
- name: Browser tests
run: |
export DISPLAY=':99.0'
Expand Down
13 changes: 8 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -40,11 +40,14 @@ packages/api/oapi-schemas
# Autogenerated docs
packages/**/docs
packages/**/typedocs
docs/assets
docs/packages
docs/reference
docs/contributing.md
/site
docs/pages/**/*-cli.md
docs/pages/assets
docs/pages/images
docs/pages/lightclient-prover/lightclient.md
docs/pages/lightclient-prover/prover.md
docs/pages/api/api-reference.md
docs/pages/contribution/getting-started.md
docs/site

# Testnet artifacts
.lodestar
Expand Down
59 changes: 59 additions & 0 deletions .wordlist.txt
Original file line number Diff line number Diff line change
@@ -1,14 +1,19 @@
APIs
Andreas
Antonopoulos
AssemblyScript
BLS
BeaconNode
Besu
Buterin
CLA
CLI
CTRL
Casper
Chai
ChainSafe
Customizations
DPoS
Discv
DockerHub
Dockerized
Expand All @@ -19,22 +24,33 @@ ENR
ENRs
ESLint
ETH
Edgington
Erigon
EthStaker
EtherScan
Ethereum
EthereumJS
FINDNODE
FX
Flamegraph
Flamegraphs
Geth
Github
Gossipsub
Grafana
HackMD
Homebrew
IPFS
IPv
Infura
JSON
JSObjects
JWT
KDE
LGPL
LGPLv
LMD
LPoS
LTS
Lerna
MEV
Expand All @@ -45,10 +61,12 @@ NVM
Nethermind
NodeJS
NodeSource
OSI
PR
PRs
Plaintext
PoS
Prysm
Quickstart
RPC
SHA
Expand All @@ -57,63 +75,102 @@ SSZ
Stakehouse
TOC
TTD
Teku
TypeScript
UI
UID
UPnP
UTF
VM
Vitalik
Wagyu
api
async
backfill
beaconcha
blockchain
bootnode
bootnodes
chainConfig
chainsafe
chiado
cli
cmd
codebase
config
configs
const
constantish
coreutils
cors
cryptocurrency
cryptographic
dApp
dApps
ddos
decrypt
deserialization
dev
devnet
devnets
devtools
eg
enodes
enum
env
envs
ephemery
flamegraph
flamegraphs
gnosis
goerli
heapdump
heaptrack
holesky
interop
js
keypair
keystore
keystores
libp
lightclient
linter
lldb
llnode
lockfile
mainnet
malloc
mdns
merkle
merkleization
monorepo
multiaddr
multifork
namespace
namespaced
namespaces
nodemodule
orchestrator
osx
overriden
params
pid
plaintext
pre
premined
produceBlockV
protolambda
prover
repo
repos
req
reqresp
responder
ropsten
runtime
scalability
secp
sepolia
sharding
ssz
stakers
Expand All @@ -130,4 +187,6 @@ utils
validator
validators
wip
xcode
yaml
yamux
7 changes: 7 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,13 @@ Thanks for your interest in contributing to Lodestar. It's people like you that
- :gear: [NodeJS](https://nodejs.org/) (LTS)
- :toolbox: [Yarn](https://yarnpkg.com/)

### MacOS Specifics

When using MacOS, there are a couple of extra prerequisites that are required.

- python
- coreutils (e.g. via `brew install coreutils`)

## Getting Started

- :gear: Run `yarn` to install dependencies.
Expand Down
Loading

0 comments on commit 1a816b4

Please sign in to comment.