Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
76f0d0d
check for bellatrix block in mayb^CssueNextProposerEngineFcU (#4057)
g11tech May 25, 2022
3db3bf6
Remove processed attestation log (#4040)
twoeths May 25, 2022
1031e7e
More logs when forkchoice reorg (#4059)
twoeths May 25, 2022
18c504c
Remove @chainsafe/abort-controller (#4064)
wemeetagain May 26, 2022
f4619af
Bump eventsource from 1.1.0 to 2.0.2 (#4065)
dependabot[bot] May 26, 2022
8682951
Run forkChoice to get correct head for proposal (#4058)
g11tech May 26, 2022
7f7ef80
Update Ropsten TTD to XXL (#4072)
philknows May 26, 2022
dfd4cdc
Added the eslint rule to help with import order and ran the fix (#3885)
dadepo May 27, 2022
b671c0e
Assert equal params with only whitelisted keys (#4062)
dapplion May 27, 2022
2883368
Bump cross-fetch from 3.1.4 to 3.1.5 (#4073)
dependabot[bot] May 27, 2022
dfa7b98
Persist invalid SSZ objects only if enabled (#3797)
dapplion May 27, 2022
c1ed45d
Remove invalid terminal block execution scenario (#4076)
g11tech May 27, 2022
23a5654
Merge pull request #4085 from ChainSafe/stable
wemeetagain May 30, 2022
510f310
Adopt gitflow for Lodestar releases (#4071)
dapplion May 30, 2022
d5d3d6b
Fix TTD precision (#4090)
dapplion May 31, 2022
d2e0045
Bump ssz (#4093)
twoeths May 31, 2022
63ce21d
Do not check for know attesters when publishing AggregateAndProof (#4…
twoeths May 31, 2022
34fdbde
fix typo in publish rc workflow (#4095)
g11tech May 31, 2022
06c852e
Add bash assert_valid_rc script (#4096)
wemeetagain Jun 1, 2022
ebd668d
Another fix for publish rc (#4099)
wemeetagain Jun 1, 2022
86b95a7
Enable rc dockerhub publish in await-release script (#4100)
wemeetagain Jun 1, 2022
3823edf
v0.38.0
g11tech May 31, 2022
82d23e0
Populate eth1 deposit cache with remote follow distance timed based (…
dapplion Jun 3, 2022
9bb9127
Fix HttpClient event handler leak (#4107)
dapplion Jun 3, 2022
8e95722
Add Eth1DepositTracker metrics (#4110)
dapplion Jun 3, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .bulldozer.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ merge:
# Note: If the target branch does not match any of the specified keys, the "method" key is used instead.
branch_method:
develop: squash
master: squash
unstable: squash

# "options" defines additional options for the individual merge methods.
#options:
Expand Down
19 changes: 11 additions & 8 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,12 @@ module.exports = {
"prettier/prettier": "error",
//doesnt work, it reports false errors
"constructor-super": "off",
"import/order": [
"error",
{
groups: ["builtin", "external", "internal", "parent", "sibling", "index"],
},
],
"@typescript-eslint/await-thenable": "error",
"@typescript-eslint/naming-convention": [
"error",
Expand Down Expand Up @@ -70,7 +76,8 @@ module.exports = {
},
],
"@typescript-eslint/func-call-spacing": "error",
"@typescript-eslint/member-ordering": "error",
// TODO after upgrading es-lint, member-ordering is now leading to lint errors. Set to warning now and fix in another PR
"@typescript-eslint/member-ordering": "warn",
"@typescript-eslint/no-explicit-any": "error",
"@typescript-eslint/no-require-imports": "error",
"@typescript-eslint/no-unused-vars": [
Expand Down Expand Up @@ -113,6 +120,7 @@ module.exports = {
"import/no-relative-packages": "error",
"@chainsafe/node/no-deprecated-api": "error",
"new-parens": "error",
"no-loss-of-precision": "error",
"no-caller": "error",
"no-bitwise": "off",
"no-cond-assign": "error",
Expand Down Expand Up @@ -152,15 +160,10 @@ module.exports = {
// TEMP Disabled while eslint-plugin-import support ESM (Typescript does support it) https://github.com/import-js/eslint-plugin-import/issues/2170
"import/no-unresolved": "off",

"@chainsafe/node/file-extension-in-import": [
"error",
"always",
{
"esm": true
}
],
"@chainsafe/node/file-extension-in-import": ["error", "always", {esm: true}],
},
settings: {
"import/internal-regex": "^@chainsafe/",
"import/core-modules": [
"node:child_process",
"node:crypto",
Expand Down
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,5 +31,5 @@ about: Create a report to help us improve

- OS: <!--[e.g. ubuntu, OSX High Siera]-->
- Version: <!--[e.g. 22]-->
- Branch: <!--[Master]-->
- Branch: <!--[unstable]-->
- Commit hash: <!--[e8232]-->
6 changes: 4 additions & 2 deletions .github/workflows/benchmark.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,13 @@ concurrency: cd-benchmark-${{ github.ref }}
on:
push:
branches:
- master
- stable
- unstable
- benchmark # For debugging
pull_request:
branches:
- master
- stable
- unstable

jobs:
run:
Expand Down
8 changes: 6 additions & 2 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,14 @@ name: "CodeQL"

on:
push:
branches: [ master ]
branches:
- stable
- unstable
pull_request:
# The branches below must be a subset of the branches above
branches: [ master ]
branches:
- stable
- unstable
schedule:
- cron: '19 21 * * 3'

Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ name: Deploy docs

on:
push:
branches: master
branches:
- stable

jobs:
docs:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
name: Release nightly
name: Publish dev release

# only one per github sha can be run
concurrency:
group: cd-release-nightly
group: cd-publish-dev

on:
push:
branches:
- master
- unstable

jobs:
npm:
Expand Down Expand Up @@ -43,8 +43,9 @@ jobs:
- name: Get version
id: version
run: |
PACKAGE_VERSION=$(node -p "require('./packages/lodestar/package.json').version")
export VERSION=${PACKAGE_VERSION}-dev.${GITHUB_SHA:0:10}
PACKAGE_VERSION=$(node -p "require('./packages/cli/package.json').version")
NEXT_VERSION=$(npx --yes semver --increment minor $PACKAGE_VERSION)
export VERSION=${NEXT_VERSION}-dev.${GITHUB_SHA:0:10}
echo "::set-output name=version::$VERSION"
echo PACKAGE_VERSION $PACKAGE_VERSION GITHUB_SHA $GITHUB_SHA VERSION $VERSION

Expand Down Expand Up @@ -74,7 +75,7 @@ jobs:
# Do not delete code version artifacts so the next step can pick the version
#
# --dist-tag next:
# Make this nightly version installable with `@next`
# Make this dev version installable with `@next`
#
# --preid dev:
# Tag version with `dev` instead of `alpha`
Expand Down
148 changes: 148 additions & 0 deletions .github/workflows/publish-rc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
name: Publish release candidate

# only one can tun at a time
concurrency: cd-publish-rc

# See for rationale https://github.com/ChainSafe/lodestar/blob/unstable/RELEASE.md
on:
push:
tags:
- v*

jobs:
tag:
name: Check tag
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
fetch-depth: 0

- name: Get tag
id: get_tag
run: echo ::set-output name=tag::${GITHUB_REF/refs\/tags\//}

- name: Get previous tag
id: get_prev_tag
run: node scripts/get_prev_tag.js
env:
CURRENT_TAG: ${{ steps.get_tag.outputs.tag }}
IGNORE_PATTERN: rc

- name: Determine release type
id: is_rc
run: scripts/release/assert_valid_rc.sh
env:
TAG: ${{ steps.get_tag.outputs.tag }}

outputs:
is_rc: ${{ steps.is_rc.outputs.is_rc }}
version: ${{ steps.is_rc.outputs.version }}
tag: ${{ steps.get_tag.outputs.tag }}
prev_tag: ${{ steps.get_prev_tag.outputs.prev_tag }}

npm:
name: Publish to NPM & Github
runs-on: ubuntu-latest
needs: tag
if: needs.tag.outputs.is_rc == 'true'
steps:
# <common-build> - Uses YAML anchors in the future
- uses: actions/checkout@v2
with:
fetch-depth: 0 # Needs full depth for changelog generation
- uses: actions/setup-node@v2
with:
node-version: "lts/gallium"
- name: Node.js version
id: node
run: echo "::set-output name=v8CppApiVersion::$(node --print "process.versions.modules")"
- name: Restore dependencies
uses: actions/cache@master
id: cache-deps
with:
path: |
node_modules
packages/*/node_modules
key: ${{ runner.os }}-${{ steps.node.outputs.v8CppApiVersion }}-${{ hashFiles('**/yarn.lock', '**/package.json') }}
- name: Install & build
if: steps.cache-deps.outputs.cache-hit != 'true'
run: yarn install --frozen-lockfile --ignore-optional && yarn build
- name: Build
run: yarn build
if: steps.cache-deps.outputs.cache-hit == 'true'
# </common-build>

- name: Generate changelog
run: node scripts/generate_changelog_simple.js ${{ needs.tag.outputs.prev_tag }} ${{ needs.tag.outputs.tag }} CHANGELOG.md

- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ needs.tag.outputs.tag }}
body_path: "CHANGELOG.md"
release_name: Release ${{ needs.tag.outputs.tag }}
prerelease: true

- name: Change and commit version
# Write version before publishing so it's picked up by `lerna publish from-package`.
# It must also be committed to ensure a clean git tree, otherwise `lerna publish` errors.
# This "temp" commit doesn't change the actually release commit which is captured above.
# git-data is also correct, since it's generated at build time, before `lerna version` run.
run: |
node_modules/.bin/lerna version ${{ needs.tag.outputs.version }} \
--force-publish \
--exact \
--yes \
--no-git-tag-version

git config user.name 'temp'
git config user.email 'temp@github.com'
git commit -am "${{ needs.tag.outputs.version }}"

# From https://github.com/lerna/lerna/issues/2404
- run: echo //registry.npmjs.org/:_authToken=${NPM_TOKEN} > .npmrc
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

- name: Publish to npm registry
run: yarn run release:publish --dist-tag rc
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

# In case of failure
- name: Rollback on failure
if: failure()
uses: author/action-rollback@9ec72a6af74774e00343c6de3e946b0901c23013
with:
id: ${{ steps.create_release.outputs.id }}
tag: ${{ needs.tag.outputs.tag }}
delete_orphan_tag: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

docker:
name: Publish to Docker Hub
runs-on: ubuntu-latest
needs: [tag, npm]
if: needs.tag.outputs.is_rc == 'true'
steps:
- uses: actions/checkout@v2
- run: scripts/await-release.sh ${{ needs.tag.outputs.tag }} rc 900
# https://github.com/docker/setup-qemu-action
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
# https://github.com/docker/setup-buildx-action
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and push
run: docker buildx build --push --tag chainsafe/lodestar:rc --tag chainsafe/lodestar:${{ needs.tag.outputs.tag }} --platform linux/amd64 --build-arg VERSION=${{ needs.tag.outputs.tag }} .
Loading