Skip to content

Commit

Permalink
Merge branch 'main' into george/remove-hardhat
Browse files Browse the repository at this point in the history
  • Loading branch information
georgemitenkov authored Jan 6, 2025
2 parents 8b262b5 + 20e25a4 commit f8bf97f
Show file tree
Hide file tree
Showing 834 changed files with 51,330 additions and 13,748 deletions.
2 changes: 1 addition & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
!aptos-move/framework/
!aptos-move/move-examples/hello_blockchain/
!crates/aptos/src/move_tool/*.bpl
!crates/aptos/src/node/local_testnet/hasura_metadata.json
!crates/aptos-localnet/src/hasura_metadata.json
!crates/aptos-faucet/doc/
!crates/transaction-emitter-lib/src/emitter/test_proofs_for_localnet_txn_emitter.txt
!api/doc/
Expand Down
17 changes: 5 additions & 12 deletions .github/workflows/forge-stable.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,8 @@ on:
description: The number of test jobs to run in parallel. If not specified, defaults to 1
default: 1

# NOTE: to support testing different branches on different schedules, you need to specify the cron schedule in the 'determine-test-branch' step as well below
# Reference: https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#schedule
schedule:
- cron: "0 22 * * 0,2,4" # The main branch cadence. This runs every Sun,Tues,Thurs
- cron: "0 22 * * 1-5" # The main branch cadence. This runs every Mon-Fri
pull_request:
paths:
- ".github/workflows/forge-stable.yaml"
Expand Down Expand Up @@ -147,24 +145,19 @@ jobs:
id: determine-test-branch
# NOTE: the schedule cron MUST match the one in the 'on.schedule.cron' section above
run: |
BRANCH=""
if [[ "${{ github.event_name }}" == "schedule" ]]; then
if [[ "${{ github.event.schedule }}" == "0 22 * * 0,2,4" ]]; then
echo "Branch: main"
echo "BRANCH=main" >> $GITHUB_OUTPUT
else
echo "Unknown schedule: ${{ github.event.schedule }}"
exit 1
fi
echo "BRANCH=main" >> $GITHUB_OUTPUT
elif [[ "${{ github.event_name }}" == "push" ]]; then
echo "Branch: ${{ github.ref_name }}"
echo "BRANCH=${{ github.ref_name }}" >> $GITHUB_OUTPUT
echo "BRANCH=${{ github.ref_name }}" >> $GITHUB_OUTPUT
# on workflow_dispatch, this will simply use the inputs.GIT_SHA given (or the default)
elif [[ -n "${{ inputs.GIT_SHA }}" ]]; then
echo "BRANCH=${{ inputs.GIT_SHA }}" >> $GITHUB_OUTPUT
# if GIT_SHA not provided, use the branch where workflow runs on
else
echo "BRANCH=${{ github.head_ref }}" >> $GITHUB_OUTPUT
fi
echo "Branch: $(grep BRANCH= $GITHUB_OUTPUT)"
# Use the branch hash instead of the full branch name to stay under kubernetes namespace length limit
- name: Hash the branch
id: hash-branch
Expand Down
5 changes: 2 additions & 3 deletions .github/workflows/provision-replay-verify-archive-disks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ on:
- ".github/workflows/provision-replay-verify-archive-disks.yaml"
- ".github/workflows/workflow-run-replay-verify-archive-storage-provision.yaml"
schedule:
- cron: "0 22 * * 1,3,5" # This runs every Mon,Wed,Fri
- cron: "0 8 * * 1,3,5" # This runs every Mon,Wed,Fri UTC 08:00

permissions:
contents: read
Expand Down Expand Up @@ -56,8 +56,7 @@ jobs:
provision-mainnet:
if: |
github.event_name == 'schedule' ||
github.event_name == 'push' ||
github.event_name == 'workflow_dispatch' && (inputs.NETWORK == 'testnet' || inputs.NETWORK == 'all')
github.event_name == 'workflow_dispatch' && (inputs.NETWORK == 'mainnet' || inputs.NETWORK == 'all')
needs: determine-test-metadata
uses: ./.github/workflows/workflow-run-replay-verify-archive-storage-provision.yaml
secrets: inherit
Expand Down
115 changes: 115 additions & 0 deletions .github/workflows/replay-verify-legacy.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
# This defines a workflow to replay transactions on the given chain with the latest aptos node software.
# In order to trigger it go to the Actions Tab of the Repo, click "replay-verify" and then "Run Workflow".
#
# On PR, a single test case will run. On workflow_dispatch, you may specify the CHAIN_NAME to verify.

name: "replay-verify"
on:
# Allow triggering manually
workflow_dispatch:
inputs:
GIT_SHA:
required: false
type: string
description: The git SHA1 to test. If not specified, it will use the latest commit on main.
CHAIN_NAME:
required: false
type: choice
options: [testnet, mainnet, all]
default: all
description: The chain name to test. If not specified, it will test both testnet and mainnet.
TESTNET_BUCKET:
required: false
type: string
description: The bucket to use for testnet replay. If not specified, it will use aptos-testnet-backup.
default: aptos-testnet-backup
MAINNET_BUCKET:
required: false
type: string
description: The bucket to use for mainnet replay. If not specified, it will use aptos-mainnet-backup.
default: aptos-mainnet-backup

# cancel redundant builds
concurrency:
# cancel redundant builds on PRs (only on PR, not on branches)
group: ${{ github.workflow }}-${{ (github.event_name == 'pull_request' && github.ref) || github.sha }}
cancel-in-progress: true

jobs:
determine-test-metadata:
runs-on: ubuntu-latest
steps:
# checkout the repo first, so check-aptos-core can use it and cancel the workflow if necessary
- uses: actions/checkout@v4
- uses: ./.github/actions/check-aptos-core
with:
cancel-workflow: ${{ github.event_name == 'schedule' }} # Cancel the workflow if it is scheduled on a fork

replay-testnet:
if: |
github.event_name == 'schedule' ||
github.event_name == 'push' ||
github.event_name == 'workflow_dispatch' && (inputs.CHAIN_NAME == 'testnet' || inputs.CHAIN_NAME == 'all')
needs: determine-test-metadata
uses: ./.github/workflows/workflow-run-replay-verify.yaml
secrets: inherit
with:
GIT_SHA: ${{ inputs.GIT_SHA }}
# replay-verify config
BUCKET: ${{ inputs.TESTNET_BUCKET || 'aptos-testnet-backup' }}
SUB_DIR: e1
HISTORY_START: 862000000
# to see historical TXNS_TO_SKIP, check out ce6158ac2764ee9d4c8738a85f3bcdc6bd0cadc1
TXNS_TO_SKIP: "0"
# 1195000000-122000000: https://github.com/aptos-labs/aptos-core/pull/13832
RANGES_TO_SKIP: "1195000000-1220000000"
BACKUP_CONFIG_TEMPLATE_PATH: terraform/helm/fullnode/files/backup/gcs.yaml
# workflow config
RUNS_ON: "high-perf-docker-with-local-ssd"
TIMEOUT_MINUTES: 180
MAX_VERSIONS_PER_RANGE: 2000000

replay-mainnet:
if: |
github.event_name == 'schedule' ||
github.event_name == 'push' ||
github.event_name == 'workflow_dispatch' && (inputs.CHAIN_NAME == 'mainnet' || inputs.CHAIN_NAME == 'all' )
needs: determine-test-metadata
uses: ./.github/workflows/workflow-run-replay-verify.yaml
secrets: inherit
with:
GIT_SHA: ${{ inputs.GIT_SHA }}
# replay-verify config
BUCKET: ${{ inputs.MAINNET_BUCKET || 'aptos-mainnet-backup' }}
SUB_DIR: e1
HISTORY_START: 518000000
#TXNS_TO_SKIP: 12253479 12277499 148358668
TXNS_TO_SKIP: "0"
# 1197378568-1198492648: https://github.com/aptos-labs/aptos-core/pull/13832
RANGES_TO_SKIP: "1197378568-1198492648"
BACKUP_CONFIG_TEMPLATE_PATH: terraform/helm/fullnode/files/backup/gcs.yaml
# workflow config
RUNS_ON: "high-perf-docker-with-local-ssd"
TIMEOUT_MINUTES: 180
MAX_VERSIONS_PER_RANGE: 800000

test-replay:
if: ${{ (github.event_name == 'pull_request') && contains(github.event.pull_request.labels.*.name, 'CICD:test-replay')}}
needs: determine-test-metadata
uses: ./.github/workflows/workflow-run-replay-verify.yaml
secrets: inherit
with:
GIT_SHA: ${{ github.event.pull_request.head.sha }}
# replay-verify config
BUCKET: ${{ inputs.TESTNET_BUCKET || 'aptos-testnet-backup' }}
SUB_DIR: e1
HISTORY_START: 862000000
# to see historical TXNS_TO_SKIP, check out ce6158ac2764ee9d4c8738a85f3bcdc6bd0cadc1
TXNS_TO_SKIP: "0"
# 1195000000-1220000000: https://github.com/aptos-labs/aptos-core/pull/13832
RANGES_TO_SKIP: "1195000000-1220000000"
BACKUP_CONFIG_TEMPLATE_PATH: terraform/helm/fullnode/files/backup/gcs.yaml
# workflow config
RUNS_ON: "high-perf-docker-with-local-ssd"
TIMEOUT_MINUTES: 120 # increase test replay timeout to capture more flaky errors
MAX_VERSIONS_PER_RANGE: 2000000
82 changes: 0 additions & 82 deletions .github/workflows/replay-verify-on-archive.yaml

This file was deleted.

Loading

0 comments on commit f8bf97f

Please sign in to comment.