-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
4 changed files
with
133 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
name: Sync from aptos-core | ||
|
||
on: | ||
workflow_dispatch: | ||
|
||
permissions: | ||
contents: read | ||
id-token: write | ||
|
||
# env: | ||
# GH_TOKEN: ${{ github.token }} | ||
|
||
jobs: | ||
sync: | ||
runs-on: runs-on,runner=2cpu-linux-x64,run-id=${{ github.run_id }} | ||
steps: | ||
# Set up the git credentials for the job (using the aptos-bot personal access token) | ||
- uses: oleksiyrudenko/[email protected] | ||
with: | ||
global: true | ||
name: "aptos-bot" | ||
token: ${{ secrets.APTOS_BOT_CLONE_GH_PAT }} | ||
|
||
# Reconfigure the git url and credentials such that calling 'git clone <URL>' will work | ||
- name: Set github url and credentials | ||
run: | | ||
/usr/bin/git config --global --add url."https://${{ secrets.APTOS_BOT_CLONE_GH_PAT }}:x-oauth-basic@github".insteadOf ssh://git@github | ||
/usr/bin/git config --global --add url."https://${{ secrets.APTOS_BOT_CLONE_GH_PAT }}:x-oauth-basic@github".insteadOf https://github | ||
/usr/bin/git config --global --add url."https://${{ secrets.APTOS_BOT_CLONE_GH_PAT }}:x-oauth-basic@github".insteadOf git@github | ||
- uses: bazel-contrib/[email protected] | ||
with: | ||
# Avoid downloading Bazel every time. | ||
bazelisk-cache: true | ||
# Store build cache per workflow. | ||
disk-cache: ${{ github.workflow }} | ||
# Share repository cache between workflows. | ||
repository-cache: true | ||
bazelisk-version: 1.x | ||
|
||
- name: Checkout copybara | ||
uses: actions/checkout@v4 | ||
with: | ||
repository: google/copybara | ||
path: copybara | ||
ref: cdfcc084dd39774abd9b712e00064c7a0092ff7b | ||
|
||
- name: Build copybara | ||
working-directory: copybara | ||
run: | | ||
set -x | ||
bazel build //java/com/google/copybara:copybara_deploy.jar | ||
cp bazel-bin/java/com/google/copybara/copybara_deploy.jar /usr/local/bin/ | ||
cat <<'EOF' > /usr/local/bin/copybara | ||
#!/bin/bash -e | ||
java -jar /usr/local/bin/copybara_deploy.jar "$@" | ||
EOF | ||
chmod +x /usr/local/bin/copybara | ||
- name: Checkout aptos-framework | ||
uses: actions/checkout@v4 | ||
with: | ||
path: aptos-framework | ||
|
||
- name: Sync all branches | ||
working-directory: aptos-framework | ||
run: | | ||
set -x | ||
PATH=$PATH:/usr/local/bin/ | ||
./sync.sh | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
def foo(ctx): | ||
for change in ctx.changes.current: | ||
print(change) | ||
|
||
core.workflow( | ||
name = "push_move_libraries_direct", | ||
origin = git.github_origin( | ||
url = "https://github.com/aptos-labs/aptos-core.git", | ||
ref = "PLACEHOLDER_BRANCH", | ||
), | ||
destination = git.github_destination( | ||
url = "https://github.com/aptos-labs/aptos-framework.git", | ||
push = "PLACEHOLDER_BRANCH", | ||
), | ||
mode = "ITERATIVE", | ||
origin_files = glob([ | ||
"aptos-move/framework/move-stdlib/**", | ||
"aptos-move/framework/aptos-framework/**", | ||
"aptos-move/framework/aptos-names/**", | ||
"aptos-move/framework/aptos-stdlib/**", | ||
"aptos-move/framework/aptos-token/**", | ||
"aptos-move/framework/aptos-token-objects/**", | ||
]), | ||
destination_files = glob(["**"]), | ||
authoring = authoring.pass_thru("Victor <[email protected]>"), | ||
transformations = [ | ||
core.move("aptos-move/framework", ""), | ||
|
||
core.dynamic_transform(impl = foo, params = {}), | ||
], | ||
) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
#!/bin/bash | ||
|
||
set -ex | ||
set -o pipefail | ||
|
||
SOURCE_REPO_URL="https://github.com/aptos-labs/aptos-core.git" | ||
DESTINATION_REPO_URL="https://github.com/aptos-labs/aptos-framework.git" | ||
COPYBARA_CONFIG="copy.bara.sky.template" | ||
BRANCH_PREFIX="aptos_release_" | ||
EXACT_BRANCH_NAMES=("mainnet") | ||
|
||
# Fetch all branches from the source repository | ||
branches=$(git ls-remote --heads $SOURCE_REPO_URL | awk '{print $2}' | sed 's|refs/heads/||') | ||
|
||
# Iterate over each branch and run Copybara for branches with the specified prefix or exact name | ||
for branch in $branches; do | ||
if [[ $branch == $BRANCH_PREFIX* ]] || [[ " ${EXACT_BRANCH_NAMES[@]} " =~ " ${branch} " ]]; then | ||
echo "Syncing branch: $branch" | ||
|
||
# Create a temporary Copybara config with the current branch | ||
sed "s/PLACEHOLDER_BRANCH/$branch/g" $COPYBARA_CONFIG > copy.bara.sky | ||
|
||
# Run Copybara with the temporary config | ||
copybara migrate copy.bara.sky push_move_libraries_direct --init-history --force | ||
|
||
# Clean up the temporary config | ||
rm copy.bara.sky | ||
fi | ||
done |