-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: refactor: actor bundling system #8838
Changes from 9 commits
eff32b7
fb35ad6
2f4c33c
e2c7407
54a4097
ea07648
33979ee
ec9dd5c
f01bd41
fff677d
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
# Bundles | ||
|
||
This directory includes the actors bundles for each release. Each actor bundle is a zstd compressed | ||
tarfile containing one bundle per network type. These tarfiles are subsequently embedded in the | ||
lotus binary. | ||
|
||
## Updating | ||
|
||
To update, run the `./pack.sh` script. For example, the following will pack the builtin actors release `dev/20220602` into the `v8` tarfile. | ||
Stebalien marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
```bash | ||
./pack.sh v8 dev/20220602 | ||
``` | ||
|
||
This will: | ||
|
||
1. Download the actors bundles and pack them into the appropriate tarfile. | ||
2. Run `make bundle-gen` in the top-level directory to regenerate the bundle metadata file. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. can one specify two versions at one time? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. No, you'd have to run the command for each version/release you want to download. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Oh, I see. |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
#!/bin/bash | ||
|
||
set -e | ||
|
||
if [[ $# -ne 2 ]]; then | ||
echo "expected two arguments, an actors version (e.g., v8) and an actors release" | ||
exit 1 | ||
fi | ||
|
||
VERSION="$1" # actors version | ||
RELEASE="$2" # actors release name | ||
NETWORKS=(devnet mainnet caterpillarnet butterflynet testing testing-fake-proofs) | ||
|
||
echo "Downloading bundles for actors version ${VERSION}, release ${RELEASE}" | ||
|
||
TARGET_FILE="$(pwd)/${VERSION}.tar.zst" | ||
WORKDIR=$(mktemp --tmpdir -d "actor-bundles-${VERSION}.XXXXXXXXXX") | ||
trap 'rm -rf -- "$WORKDIR"' EXIT | ||
|
||
pushd "${WORKDIR}" | ||
encoded_release="$(jq -rn --arg release "$RELEASE" '$release | @uri')" | ||
for network in "${NETWORKS[@]}"; do | ||
wget "https://github.com/filecoin-project/builtin-actors/releases/download/${encoded_release}/builtin-actors-${network}"{.car,.sha256} | ||
done | ||
|
||
echo "Checking the checksums..." | ||
|
||
sha256sum -c -- *.sha256 | ||
|
||
|
||
echo "Packing..." | ||
|
||
rm -f -- "$TARGET_FILE" | ||
tar -cf "$TARGET_FILE" -I "zstd -19" -- *.car | ||
popd | ||
|
||
echo "Generating metadata..." | ||
|
||
make -C ../../ bundle-gen |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
bundle-jen?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a must-have.