Skip to content

Commit

Permalink
Merge branch 'MystenLabs:main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
lukema95 authored Jul 21, 2024
2 parents 5de13d9 + 7bc276d commit aaf4411
Show file tree
Hide file tree
Showing 4,557 changed files with 194,055 additions and 101,809 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
1 change: 1 addition & 0 deletions .cargo/config
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ move-clippy = [

mysql-clippy = [
"clippy",
"--all-targets",
"--package",
"sui-indexer",
"--features",
Expand Down
5 changes: 4 additions & 1 deletion .changeset/config.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,10 @@
"sponsored-transactions",
"kiosk-demo",
"kiosk-cli",
"@mysten/sdk-docs"
"@mysten/sdk-docs",
"mev-bot",
"escrow-api-demo",
"trading-frontend-demo"
],
"___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH": {
"onlyUpdatePeerDependentsWhenOutOfRange": true
Expand Down
4 changes: 2 additions & 2 deletions .config/nextest.toml
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ failure-output = "immediate"
status-level = "fail"
# Do not cancel the test run on the first failure.
fail-fast = false
# Mark tests as slow after 20m, terminate after 1h
slow-timeout = { period = "20m", terminate-after = 3 }
# Mark tests as slow after 30m, terminate after 1.5h
slow-timeout = { period = "30m", terminate-after = 3 }

[profile.ci.junit]
path = "junit.xml"
3 changes: 2 additions & 1 deletion .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,5 @@ For each box you select, include information after the relevant heading that des
- [ ] JSON-RPC:
- [ ] GraphQL:
- [ ] CLI:
- [ ] Rust SDK:
- [ ] Rust SDK:
- [ ] REST API:
14 changes: 6 additions & 8 deletions .github/actions/ts-e2e/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,30 +16,28 @@ runs:
# - uses: bmwill/rust-cache@v1 # Fork of 'Swatinem/rust-cache' which allows caching additional paths
- uses: pnpm/action-setup@a3252b78c470c02df07e9d59298aecedc3ccdd6d # [email protected]
with:
version: 9
version: 9.1.1

- name: Check s3 if binaries have been uploaded already
continue-on-error: true
id: check_s3
run: |
echo "Checking if s3 binaries have been built for ${{ github.sha }}"
echo "s3_file_exist=$(curl -Is https://sui-releases.s3.us-east-1.amazonaws.com/${{ github.sha }}/debug/sui-test-validator | head -n 1 | grep '200 OK')" >> $GITHUB_ENV
echo "s3_file_exist=$(curl -Is https://sui-releases.s3.us-east-1.amazonaws.com/${{ github.sha }}/debug/sui-pg | head -n 1 | grep '200 OK')" >> $GITHUB_ENV
shell: bash

- name: cargo build
if: env.s3_file_exist == '' # if empty, we have not built and uploaded this binary to s3 yet
run: |
cargo build --bin sui-test-validator --bin sui
cargo build --bin sui --features indexer
shell: bash

- name: Dowload from S3
if: env.s3_file_exist != '' # only download if the s3 file exists
working-directory: ./target/debug
run: |
mkdir -p $PWD/target/debug
wget -O target/debug/sui-test-validator https://sui-releases.s3.us-east-1.amazonaws.com/${{ github.sha }}/debug/sui-test-validator
chmod +x $PWD/target/debug/sui-test-validator
wget -O target/debug/sui-test-validator https://sui-releases.s3.us-east-1.amazonaws.com/${{ github.sha }}/debug/sui
wget -O target/debug/sui https://sui-releases.s3.us-east-1.amazonaws.com/${{ github.sha }}/debug/sui-pg
chmod +x $PWD/target/debug/sui
shell: bash

Expand All @@ -59,10 +57,10 @@ runs:

- name: Set env
run: |
echo "E2E_RUN_LOCAL_NET_CMD=(RUST_LOG=\"consensus=off\" $(echo $PWD/target/debug/sui-test-validator) --with-indexer --pg-port 5432 --pg-db-name sui_indexer_v2 --graphql-host 127.0.0.1 --graphql-port 9125)" >> $GITHUB_ENV
echo "E2E_RUN_LOCAL_NET_CMD=(RUST_LOG=\"consensus=off\" $(echo $PWD/target/debug/sui) start --with-faucet --force-regenesis --with-indexer --pg-port 5432 --pg-db-name sui_indexer_v2 --with-graphql)" >> $GITHUB_ENV
echo "VITE_SUI_BIN=$PWD/target/debug/sui" >> $GITHUB_ENV
shell: bash

- name: Run TS SDK e2e tests
run: pnpm dlx concurrently --kill-others --success command-1 "$E2E_RUN_LOCAL_NET_CMD" 'pnpm --filter @mysten/sui.js --filter @mysten/graphql-transport test:e2e'
run: pnpm dlx concurrently --kill-others --success command-1 "$E2E_RUN_LOCAL_NET_CMD" 'pnpm --filter @mysten/sui --filter @mysten/graphql-transport test:e2e'
shell: bash
5 changes: 4 additions & 1 deletion .github/actions/turbo-diffs/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,10 @@ runs:
fetch-depth: 0
- uses: pnpm/action-setup@a3252b78c470c02df07e9d59298aecedc3ccdd6d # [email protected]
with:
version: 9
version: 9.1.1
- name: Install dependencies
run: pnpm install --frozen-lockfile
shell: bash
- id: changes
name: Detect changes
shell: bash
Expand Down
125 changes: 125 additions & 0 deletions .github/workflows/bridge.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
name: Native Bridge

on:
push:
branches:
- 'main'
- 'devnet'
- 'testnet'
- 'mainnet'
- 'releases/sui-*-release'
pull_request:
types: [ opened, synchronize, reopened, ready_for_review ]
workflow_dispatch:
inputs:
sui_repo_ref:
description: "Branch / commit to test"
type: string
required: false
default: ''

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}

env:
CARGO_TERM_COLOR: always
# Disable incremental compilation.
#
# Incremental compilation is useful as part of an edit-build-test-edit cycle,
# as it lets the compiler avoid recompiling code that hasn't changed. However,
# on CI, we're not making small edits; we're almost always building the entire
# project from scratch. Thus, incremental compilation on CI actually
# introduces *additional* overhead to support making future builds
# faster...but no future builds will ever occur in any given CI environment.
#
# See https://matklad.github.io/2021/09/04/fast-rust-builds.html#ci-workflow
# for details.
CARGO_INCREMENTAL: 0
# Allow more retries for network requests in cargo (downloading crates) and
# rustup (installing toolchains). This should help to reduce flaky CI failures
# from transient network timeouts or other issues.
CARGO_NET_RETRY: 10
RUSTUP_MAX_RETRIES: 10
# Don't emit giant backtraces in the CI logs.
RUST_BACKTRACE: short
# Some integration tests can produce too much INFO logs that are infeasible to be printed on failure.
RUST_LOG: error
# RUSTFLAGS: -D warnings
RUSTDOCFLAGS: -D warnings

jobs:
diff:
runs-on: [ ubuntu-latest ]
outputs:
isRust: ${{ steps.diff.outputs.isRust }}
isMove: ${{ steps.diff.outputs.isMove }}
isSolidity: ${{ steps.diff.outputs.isSolidity }}
isReleaseNotesEligible: ${{ steps.diff.outputs.isReleaseNotesEligible }}
isMoveAutoFormatter: ${{ steps.diff.outputs.isMoveAutoFormatter }}
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # Pin v4.1.1
- name: Detect Changes
uses: './.github/actions/diffs'
id: diff

test:
needs: diff
if: needs.diff.outputs.isRust == 'true' || needs.diff.outputs.isSolidity == 'true'
timeout-minutes: 45
env:
# Tests written with #[sim_test] are often flaky if run as #[tokio::test] - this var
# causes #[sim_test] to only run under the deterministic `simtest` job, and not the
# non-deterministic `test` job.
SUI_SKIP_SIMTESTS: 1
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- [ ubuntu-ghcloud ]
fail-fast: false
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # Pin v4.1.1
- uses: taiki-e/install-action@nextest
- name: Set Swap Space
uses: pierotofy/set-swap-space@master
with:
swap-size-gb: 256
- name: Install Foundry
run: |
curl -L https://foundry.paradigm.xyz | { cat; echo '$FOUNDRY_BIN_DIR/foundryup'; } | bash
echo "$HOME/.config/.foundry/bin" >> $GITHUB_PATH
- name: Install Foundry Dependencies
working-directory: bridge/evm
run: |
forge install https://github.com/OpenZeppelin/[email protected] https://github.com/foundry-rs/[email protected] https://github.com/OpenZeppelin/openzeppelin-foundry-upgrades --no-git --no-commit
- name: cargo test
run: |
cargo nextest run --profile ci -E 'package(sui-bridge)'
# Ensure there are no uncommitted changes in the repo after running tests
- run: scripts/changed-files.sh
shell: bash

bridge-evm:
name: bridge-evm-tests
needs: diff
if: needs.diff.outputs.isSolidity == 'true'
runs-on: [ ubuntu-ghcloud ]
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # Pin v4.1.1
- name: Install Foundry
run: |
curl -L https://foundry.paradigm.xyz | { cat; echo '$FOUNDRY_BIN_DIR/foundryup'; } | bash
echo "$HOME/.config/.foundry/bin" >> $GITHUB_PATH
- name: Install Foundry Dependencies
working-directory: bridge/evm
run: |
forge install https://github.com/OpenZeppelin/[email protected] https://github.com/foundry-rs/[email protected] https://github.com/OpenZeppelin/openzeppelin-foundry-upgrades --no-git --no-commit
- name: Check Bridge EVM Unit Tests
shell: bash
working-directory: bridge/evm
env:
INFURA_API_KEY: ${{ secrets.INFURA_API_KEY }}
run: |
forge clean
forge test --ffi
28 changes: 28 additions & 0 deletions .github/workflows/build-suiop-cli.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Build suiop-cli binaries
on:
push:
paths:
- 'crates/suiop-cli/**'
pull_request:
paths:
- 'crates/suiop-cli/**'

# Do not run the same workflow concurrenctly
# for the same branch.
concurrency: ${{ github.workflow }}-${{ github.ref }}

jobs:
release:
runs-on: ubuntu-latest
steps:
# Trigger a gh action in MystenLabs/sui-operations
- name: Dispatch Build To Operations Repo
uses: peter-evans/repository-dispatch@ff45666b9427631e3450c54a1bcbee4d9ff4d7c0 # [email protected]
with:
repository: MystenLabs/sui-operations
# Using the changeset's token for now,
# we could generate a different secret for this
# for separation of concerns:
token: ${{ secrets.CHANGESETS_DEPLOY_DISPATCH }}
event-type: build-suiop-cli-binaries
client-payload: '{"ref": "${{ github.ref }}", "sha": "${{ github.sha }}"}'
8 changes: 4 additions & 4 deletions .github/workflows/cargo-llvm-cov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,9 @@ jobs:
env:
CARGO_TERM_COLOR: always
steps:
- name: Install Rust
run: rustup update stable

- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # Pin v4.1.1
- uses: bmwill/rust-cache@v1

Expand All @@ -49,12 +52,9 @@ jobs:
uses: pierotofy/set-swap-space@master
with:
swap-size-gb: 256

- name: Install Rust
run: rustup update stable

- name: Run code coverage for nextest
run: SUI_SKIP_SIMTESTS=1 cargo llvm-cov --ignore-run-fail --lcov --output-path lcov.info nextest
run: RUSTFLAGS="-C debuginfo=0" SUI_SKIP_SIMTESTS=1 cargo llvm-cov --ignore-run-fail --lcov --output-path lcov.info nextest -vv

- name: Upload report to Codecov for nextest
uses: codecov/codecov-action@e0b68c6749509c5f83f984dd99a76a1c1a231044 # pin v4.0.1
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/changesets-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ jobs:
fetch-depth: 0
- uses: pnpm/action-setup@a3252b78c470c02df07e9d59298aecedc3ccdd6d # [email protected]
with:
version: 9
version: 9.1.1
- name: Install Nodejs
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # [email protected]
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/changesets.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
fetch-depth: 0
- uses: pnpm/action-setup@a3252b78c470c02df07e9d59298aecedc3ccdd6d # [email protected]
with:
version: 9
version: 9.1.1
- name: Install Nodejs
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # [email protected]
with:
Expand Down
6 changes: 1 addition & 5 deletions .github/workflows/ci-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,7 @@ jobs:
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # Pin v4.1.1

- name: Install Rust toolchain
uses: actions-rs/toolchain@b2417cde72dcf67f306c0ae8e0828a81bf0b189f # [email protected]
with:
profile: minimal
toolchain: stable
override: true
uses: taiki-e/install-action@nextest

- name: Generate documentation
uses: actions-rs/cargo@ae10961054e4aa8b4aa7dffede299aaf087aa33b # [email protected]
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docs-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
fetch-depth: 2
- uses: pnpm/action-setup@a3252b78c470c02df07e9d59298aecedc3ccdd6d # [email protected]
with:
version: 9
version: 9.1.1
- name: Install Nodejs
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # [email protected]
with:
Expand Down
Loading

0 comments on commit aaf4411

Please sign in to comment.