Skip to content
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

Publishable NPM packages for mainnet #8360

Merged
merged 21 commits into from
Sep 22, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
abdfcca
ci(local-npm): resume integration testing of NPM canary
michaelfig Jun 5, 2023
2130009
build(deps): tweak `package.json`s
michaelfig Jun 6, 2023
71a575d
chore(telemetry): use newer `@opentelemetry` with matching versions
michaelfig Jun 6, 2023
f4a2e71
build(deps): refresh `yarn.lock`
michaelfig Jun 5, 2023
f1e7109
fix(deploy-scripts-support): correct bare module resolution
michaelfig Jun 5, 2023
5394215
Merge pull request #7883 from Agoric/mfig-local-npm
michaelfig Jun 6, 2023
790e353
ci: timeout agoric-cli integration-test
turadg Aug 3, 2023
6c7f54c
ci: lerna publish sequentially
turadg Jul 25, 2023
c7e08e1
ci(getting-started): run (but ignore) checks with `npm` and `npx`
michaelfig Aug 24, 2023
2636f4e
chore(deployment): properly set `packageJson.name`
michaelfig Aug 25, 2023
2a4dcd1
ci(getting-started): break out `registry.sh`
michaelfig Aug 25, 2023
9b6a2f8
chore(inter-protocol): do not publish bundles to NPM
michaelfig Aug 25, 2023
5e9e87d
ci(integration): update for `restore-node`
michaelfig Sep 3, 2023
f46e279
fix(agoric): relax override mistake using `@endo/init/legacy.js`
michaelfig Sep 5, 2023
3b229d8
ci(registry): publish Endo in CI registry, update versions
michaelfig Sep 5, 2023
7ec59c5
build(cosmos): prevent macOS `filesize exceeds vmsize`
michaelfig Sep 21, 2023
f59cbf3
ci: jobs compatibility with release branch (#8369)
mhofman Sep 21, 2023
3a461eb
deps(agoric): cleanup deps (#8372)
mhofman Sep 22, 2023
875341d
build(deps): pin endo package versions
mhofman Sep 20, 2023
f017674
build(deps): bump @endo/bundle-source
mhofman Sep 21, 2023
8f8782b
ci: tweak integration checks
mhofman Sep 21, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions .github/actions/restore-node/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ inputs:
description: 'The relative path to the agoric-sdk directory'
required: false
default: '.'
keep-endo:
description: 'Keep Endo repository after installing from it'
required: false
default: 'false'
xsnap-random-init:
description: Build xsnap binary with random memory init
required: false
Expand Down Expand Up @@ -75,7 +79,7 @@ runs:
- uses: actions/setup-node@v3
with:
node-version: ${{ inputs.node-version }}
cache: 'yarn'
cache: yarn
cache-dependency-path: ${{ inputs.path }}/yarn.lock
- uses: kenchan0130/actions-system-info@master
id: system-info
Expand All @@ -100,7 +104,7 @@ runs:
# Replace the Endo packages with the ones built from the checked-out branch.
if test -e ~/endo; then
scripts/replace-packages.sh ~/endo
rm -rf ~/endo
${{ inputs.keep-endo }} || rm -rf ~/endo
fi
mkdir -p node_modules/.cache/agoric
date > node_modules/.cache/agoric/yarn-installed
Expand Down
29 changes: 19 additions & 10 deletions .github/workflows/after-merge.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ on:
branches:
# $default-branch
- master
- release-pismo
- 'release-*'
workflow_dispatch:

jobs:
build:
Expand Down Expand Up @@ -54,14 +55,22 @@ jobs:
run: npm whoami
- name: publish to NPM tag
run: |
if [ "${{ github.ref_name }}" = "release-pismo" ]; then
# A pismo dev release.
TAG=pismo-dev
else
# Just a dev release.
TAG=dev
fi
yarn lerna publish --conventional-prerelease --canary --exact \
case $GITHUB_REF_NAME in
release-*)
# A pre-release.
TAG=${GITHUB_REF_NAME#release-}-dev
;;
master)
# A trunk dev release.
TAG=dev
;;
*)
# Some other dev release.
TAG=other-dev
;;
esac
# without concurrency until https://github.com/Agoric/agoric-sdk/issues/8091
yarn lerna publish --concurrency 1 --conventional-prerelease --canary --exact \
--dist-tag=$TAG --preid=$TAG-$(git rev-parse --short=7 HEAD) \
--no-push --no-verify-access --yes
- name: notify on failure
Expand Down Expand Up @@ -101,7 +110,7 @@ jobs:
- uses: nwtgck/actions-netlify@v1.1
with:
# Production deployment if a push or merged PR.
production-deploy: ${{github.event_name == 'push'}}
production-deploy: ${{ github.event_name == 'push' && github.ref_name == 'master' }}
publish-dir: coverage/html
# SECURITY: we don't want to hand out the Github token to this action.
# github-token: ${{ secrets.GITHUB_TOKEN }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ag-solo-xs.yml.DISABLED
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ on:
branches:
# $default-branch
- master
- release-pismo
- 'release-*'

jobs:
xs-build:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/deployment-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ on:
push:
branches:
- master
- release-pismo
- 'release-*'
- beta
tags:
- '@agoric/sdk@*'
Expand Down
25 changes: 16 additions & 9 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on:
branches:
# $default-branch
- master
- release-pismo
- 'release-*'
tags:
- '@agoric/sdk@*'
workflow_dispatch:
Expand Down Expand Up @@ -139,16 +139,23 @@ jobs:
id: docker-tags
run: |
set -ex
SDK_TAG=$(echo "${{ github.ref_name }}" | sed -ne 's!^@agoric/sdk@!!p')
SDK_TAG=$(echo "$GITHUB_REF_NAME" | sed -ne 's!^@agoric/sdk@!!p')
case $SDK_TAG in
"")
if [ "${{ github.ref_name }}" = "release-pismo" ]; then
# A pismo dev release.
DOCKER_TAGS=pismo-dev
else
# Just a dev release.
DOCKER_TAGS=dev
fi
case $GITHUB_REF_NAME in
release-*)
# A pre-release.
DOCKER_TAGS=${GITHUB_REF_NAME#release-}-dev
;;
master)
# A trunk dev release.
DOCKER_TAGS=dev
;;
*)
# Some other dev release.
DOCKER_TAGS=other-dev
;;
esac
;;
*)
# A tagged SDK release.
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/golangci-lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:
branches:
# $default-branch
- master
- release-pismo
- 'release-*'
pull_request:
merge_group:
permissions:
Expand Down
72 changes: 15 additions & 57 deletions .github/workflows/integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@ on:
push:
branches:
- master
- release-pismo
- 'release-*'
- beta
tags:
- '@agoric/sdk@*'
pull_request:
types:
- opened
Expand All @@ -28,10 +30,10 @@ jobs:
if: needs.pre_check.outputs.should_run == 'true'
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
# FIXME: Use this to enable NPM deploys...
# cli: [link-cli, local-npm]
cli: [link-cli]
cli: [link-cli/yarn, registry/yarn, registry/npm, registry/npx]
timeout-minutes: 40
steps:
- uses: actions/checkout@v3
with:
Expand All @@ -41,17 +43,10 @@ jobs:
shell: bash

# Prerequisites

- uses: actions/setup-node@v3
with:
node-version: '16.x'
- name: cache node modules
uses: actions/cache@v3
- uses: ./.github/actions/restore-node
with:
path: ~/.cache/yarn
key: ${{ runner.os }}-yarn-${{ hashFiles('yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
node-version: 16.x
keep-endo: 'true'

# Select a branch on dapp to test against by adding text to the body of the
# pull request. For example: #dapp-encouragement-branch: zoe-release-0.7.0
Expand All @@ -74,53 +69,16 @@ jobs:
console.log(branch);
return branch;

# 'yarn install' must be done at the top level, to build all the
# cross-package symlinks
- run: yarn install --frozen-lockfile
- run: yarn build

- name: Link Agoric CLI from SDK
if: ${{ matrix.cli == 'link-cli' }}
run: |
yarn link-cli "$HOME/bin/agoric"
echo "AGORIC_CMD=[\"$HOME/bin/agoric\"]" >> $GITHUB_ENV

- name: Start local NPM registry
if: ${{ matrix.cli == 'local-npm' }}
if: ${{ startsWith(matrix.cli, 'registry') }}
run: |
tmp_registry_log=`mktemp`
nohup npx verdaccio@^5.4.0 &>$tmp_registry_log &
# Wait for `verdaccio` to boot
grep -q 'http address' <(tail -f $tmp_registry_log)

# Set registry to local registry
npm set registry http://localhost:4873
yarn config set registry http://localhost:4873

# Login so we can publish packages
npx npm-cli-login@^1.0.0 -u user -p password -e user@example.com \
-r http://localhost:4873 --quotes

npm whoami

yarn lerna publish --conventional-prerelease --canary --exact \
--dist-tag=blah --preid=dev-$(git rev-parse --short=7 HEAD) \
--no-push --no-verify-access --yes

yarn global add agoric@blah </dev/null

# Use the locally-installed dist-tag.
echo 'AGORIC_INSTALL_OPTIONS=["blah"]' >> $GITHUB_ENV
echo 'AGORIC_START_OPTIONS=["--rebuild"]' >> $GITHUB_ENV
echo 'AGORIC_CMD=["agoric"]' >> $GITHUB_ENV
set -xe
git reset --hard HEAD
git config user.email "noreply@agoric.com"
REGISTRY_PUBLISH_WORKSPACES="$HOME/endo" scripts/registry.sh bg-publish ${{ matrix.cli }}

- name: run agoric-cli integration-test
working-directory: ./packages/agoric-cli
run: yarn integration-test
env:
AGORIC_INIT_OPTIONS: '["--dapp-branch=${{steps.get-branch.outputs.result}}"]'
# Try to avoid hitting a pessimal Actions output rate-limitation.
SOLO_MAX_DEBUG_LENGTH: '1024'
run: scripts/registry.sh test ${{ matrix.cli }} ${{steps.get-branch.outputs.result}}

- name: notify on failure
if: >
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/pre-check-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
contains(github.event.pull_request.labels.*.name, 'force:integration') || (
(
github.event.pull_request.base.ref == 'master' ||
github.event.pull_request.base.ref == 'release-pismo' ||
startsWith(github.event.pull_request.base.ref, 'release-') ||
github.event.pull_request.base.ref == 'beta'
) &&
github.event.pull_request.draft == false &&
Expand Down
15 changes: 0 additions & 15 deletions .github/workflows/test-all-packages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,21 +37,6 @@ jobs:
with:
node-version: ${{ matrix.node-version }}

##################
# NPM pack tests
# Check that all the packages can be packed to publish
npm-pack:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/restore-node
with:
node-version: '18.x'

- name: npm pack
run: yarn lerna exec yarn pack

##################
# Lint tests
# We run per package bc of https://github.com/typescript-eslint/typescript-eslint/issues/1192
Expand Down
3 changes: 2 additions & 1 deletion MAINTAINERS.md
Original file line number Diff line number Diff line change
Expand Up @@ -158,7 +158,8 @@ to pass.

```sh
# Publish to NPM. NOTE: You may have to repeat this several times if there are failures.
yarn lerna publish from-package
# without concurrency until https://github.com/Agoric/agoric-sdk/issues/8091
yarn lerna publish --concurrency 1 from-package
```

- [ ] Merge the release PR into the base branch. DO NOT REBASE OR SQUASH OR YOU WILL LOSE
Expand Down
8 changes: 7 additions & 1 deletion golang/cosmos/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,18 @@ ldflags = -X github.com/cosmos/cosmos-sdk/version.Name=$(VersionName) \
-X "github.com/cosmos/cosmos-sdk/version.BuildTags=$(build_tags_comma_sep)"

gcflags =
shared_ldflags = $(ldflags)

ifneq ($(GO_DEBUG),)
ldflags += -compressdwarf=false
gcflags += -N -l
else ifeq ($(shell uname -s 2>/dev/null),Darwin)
# Darwin's latest ld crashes with https://github.com/Agoric/agoric-sdk/issues/8367
shared_ldflags += -w
endif

BUILD_FLAGS := -tags "$(build_tags)" -gcflags '$(gcflags)' -ldflags '$(ldflags)'
SHARED_BUILD_FLAGS := -tags "$(build_tags)" -gcflags '$(gcflags)' -ldflags '$(shared_ldflags)'

all: compile-chain

Expand Down Expand Up @@ -69,7 +74,8 @@ compile-gyp:
rm -f binding.gyp

compile-libdaemon: go-mod-cache
go build -v $(MOD_READONLY) $(BUILD_FLAGS) -buildmode=c-shared -o build/libagcosmosdaemon.so ./cmd/libdaemon/main.go
go build -v $(MOD_READONLY) $(SHARED_BUILD_FLAGS) -buildmode=c-shared \
-o build/libagcosmosdaemon.so ./cmd/libdaemon/main.go

go-mod-cache: go.sum
@echo "--> Download go modules to local cache"
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"type": "module",
"packageManager": "yarn@1.22.19",
"devDependencies": {
"@endo/eslint-plugin": "^0.4.3",
"@endo/eslint-plugin": "0.4.3",
"@jessie.js/eslint-plugin": "^0.3.0",
"@types/node": "^16.13.0",
"@typescript-eslint/parser": "^5.55.0",
Expand Down
12 changes: 6 additions & 6 deletions packages/ERTP/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,14 +44,14 @@
"@agoric/store": "^0.9.3-u11.0",
"@agoric/swingset-vat": "^0.32.3-u11.0",
"@agoric/vat-data": "^0.5.3-u11.0",
"@endo/eventual-send": "^0.17.2",
"@endo/far": "^0.2.18",
"@endo/marshal": "^0.8.5",
"@endo/nat": "^4.1.27",
"@endo/promise-kit": "^0.2.56"
"@endo/eventual-send": "0.17.2",
"@endo/far": "0.2.18",
"@endo/marshal": "0.8.5",
"@endo/nat": "4.1.27",
"@endo/promise-kit": "0.2.56"
},
"devDependencies": {
"@endo/bundle-source": "^2.5.1",
"@endo/bundle-source": "2.5.2-upstream-rollup",
"@fast-check/ava": "^1.1.3",
"ava": "^5.2.0",
"tsd": "^0.28.1"
Expand Down
28 changes: 14 additions & 14 deletions packages/SwingSet/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,19 +38,20 @@
"@agoric/vat-data": "^0.5.3-u11.0",
"@agoric/xsnap": "^0.14.3-u11.0",
"@agoric/xsnap-lockdown": "^0.14.0",
"@endo/base64": "^0.2.31",
"@endo/bundle-source": "^2.5.1",
"@endo/captp": "^3.1.1",
"@endo/check-bundle": "^0.2.18",
"@endo/compartment-mapper": "^0.8.4",
"@endo/eventual-send": "^0.17.2",
"@endo/far": "^0.2.18",
"@endo/import-bundle": "^0.3.4",
"@endo/init": "^0.5.56",
"@endo/marshal": "^0.8.5",
"@endo/nat": "^4.1.27",
"@endo/promise-kit": "^0.2.56",
"@endo/zip": "^0.2.31",
"@endo/base64": "0.2.31",
"@endo/bundle-source": "2.5.2-upstream-rollup",
"@endo/captp": "3.1.1",
"@endo/check-bundle": "0.2.18",
"@endo/compartment-mapper": "0.8.4",
"@endo/eventual-send": "0.17.2",
"@endo/far": "0.2.18",
"@endo/import-bundle": "0.3.4",
"@endo/init": "0.5.56",
"@endo/marshal": "0.8.5",
"@endo/nat": "4.1.27",
"@endo/promise-kit": "0.2.56",
"@endo/ses-ava": "0.2.40",
"@endo/zip": "0.2.31",
"ansi-styles": "^6.2.1",
"anylogger": "^0.21.0",
"import-meta-resolve": "^2.2.1",
Expand All @@ -59,7 +60,6 @@
"tmp": "^0.2.1"
},
"peerDependencies": {
"@endo/ses-ava": "^0.2.40",
"ava": "^5.2.0"
},
"files": [
Expand Down
Loading
Loading