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

Add Packet Flag #647

Closed
wants to merge 9 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
9 changes: 9 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
.dockerignore
.git/
.github/
.gitignore
.idea/
README.md
Dockerfile
f
target/
2 changes: 2 additions & 0 deletions .github/workflows/cargo.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'

- uses: mozilla-actions/[email protected]
with:
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/changelog-label.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ jobs:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: 'recursive'
- name: Check if changes to CHANGELOG.md
shell: bash
env:
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/client-targets.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'

- run: cargo install [email protected]

Expand All @@ -56,6 +58,8 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'

- name: Setup Rust
run: |
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/crate-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ jobs:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: 'recursive'

- name: Get commit range (push)
if: ${{ github.event_name == 'push' }}
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ jobs:
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: 'recursive'

- name: Get commit range (push)
if: ${{ github.event_name == 'push' }}
Expand Down Expand Up @@ -77,6 +78,8 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@v4
with:
submodules: 'recursive'

- name: Setup Node
uses: actions/setup-node@v4
Expand Down
4 changes: 3 additions & 1 deletion .github/workflows/downstream-project-anchor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,9 +41,11 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
version: ["v0.29.0", "v0.30.0"]
version: [ "v0.29.0", "v0.30.0" ]
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'

- shell: bash
run: |
Expand Down
42 changes: 24 additions & 18 deletions .github/workflows/downstream-project-spl.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,8 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'

- shell: bash
run: |
Expand All @@ -66,7 +68,7 @@ jobs:
arrays:
[
{
test_paths: ["token/cli"],
test_paths: [ "token/cli" ],
required_programs:
[
"token/program",
Expand All @@ -76,14 +78,14 @@ jobs:
],
},
{
test_paths: ["single-pool/cli"],
test_paths: [ "single-pool/cli" ],
required_programs:
[
"single-pool/program",
],
},
{
test_paths: ["token-upgrade/cli"],
test_paths: [ "token-upgrade/cli" ],
required_programs:
[
"token-upgrade/program",
Expand All @@ -92,6 +94,8 @@ jobs:
]
steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'

- shell: bash
run: |
Expand Down Expand Up @@ -126,26 +130,28 @@ jobs:
strategy:
matrix:
programs:
- [token/program]
- [ token/program ]
- [
instruction-padding/program,
token/program-2022,
token/program-2022-test,
]
instruction-padding/program,
token/program-2022,
token/program-2022-test,
]
- [
associated-token-account/program,
associated-token-account/program-test,
]
- [token-upgrade/program]
- [feature-proposal/program]
- [governance/addin-mock/program, governance/program]
- [memo/program]
- [name-service/program]
- [stake-pool/program]
- [single-pool/program]
associated-token-account/program,
associated-token-account/program-test,
]
- [ token-upgrade/program ]
- [ feature-proposal/program ]
- [ governance/addin-mock/program, governance/program ]
- [ memo/program ]
- [ name-service/program ]
- [ stake-pool/program ]
- [ single-pool/program ]

steps:
- uses: actions/checkout@v4
with:
submodules: 'recursive'

- shell: bash
run: |
Expand Down
180 changes: 180 additions & 0 deletions .github/workflows/rebase.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,180 @@
# This workflow runs a periodic rebase process, pulling in updates from an upstream repository
# The workflow for rebasing a jito-solana branch to a solana labs branch locally is typically:
# $ git checkout v1.17
# $ git pull --rebase # --rebase needed locally
# $ git branch -D lb/v1.17_rebase # deletes branch from last v1.17 rebase
# $ git checkout -b lb/v1.17_rebase
# $ git fetch upstream
# $ git rebase upstream/v1.17 # rebase + fix merge conflicts
# $ git rebase --continue
# $ git push origin +lb/v1.17_rebase # force needed to overwrite remote. wait for CI, fix if any issues
# $ git checkout v1.17
# $ git reset --hard lb/v1.17_rebase
# $ git push origin +v1.17
#
# This workflow automates this process, with periodic status updates over slack.
# It will also run CI and wait for it to pass before performing the force push to v1.17.
# In the event there's a failure in the process, it's reported to slack and the job stops.

name: "Rebase jito-solana from upstream anza-xyz/agave"

on:
# push:
schedule:
- cron: "00 19 * * 1-5"

jobs:
rebase:
runs-on: ubuntu-latest
strategy:
matrix:
include:
- branch: master
upstream_branch: master
upstream_repo: https://github.com/anza-xyz/agave.git
- branch: v2.0
upstream_branch: v2.0
upstream_repo: https://github.com/anza-xyz/agave.git
- branch: v1.18
upstream_branch: v1.18
upstream_repo: https://github.com/solana-labs/solana.git
fail-fast: false
steps:
- uses: actions/checkout@v4
with:
ref: ${{ matrix.branch }}
submodules: recursive
fetch-depth: 0
token: ${{ secrets.JITO_SOLANA_RELEASE_TOKEN }}
- name: Add upstream
run: git remote add upstream ${{ matrix.upstream_repo }}
- name: Fetch upstream
run: git fetch upstream
- name: Fetch origin
run: git fetch origin
- name: Set REBASE_BRANCH
run: echo "REBASE_BRANCH=ci/nightly/${{ matrix.branch }}/$(date +'%Y-%m-%d-%H-%M')" >> $GITHUB_ENV
- name: echo $REBASE_BRANCH
run: echo $REBASE_BRANCH
- name: Create rebase branch
run: git checkout -b $REBASE_BRANCH
- name: Setup email
run: |
git config --global user.email "[email protected]"
git config --global user.name "Jito Infrastructure"
- name: Rebase
id: rebase
run: git rebase upstream/${{ matrix.upstream_branch }}
- name: Send warning for rebase error
if: failure() && steps.rebase.outcome == 'failure'
uses: slackapi/[email protected]
with:
payload: |
{
"text": "Nightly rebase on branch ${{ matrix.branch }}\nStatus: Rebase failed to apply cleanly"
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
- name: Check if rebase applied
id: check_rebase_applied
run: |
PRE_REBASE_SHA=$(git rev-parse ${{ matrix.branch }})
POST_REBASE_SHA=$(git rev-parse HEAD)
if [ "$PRE_REBASE_SHA" = "$POST_REBASE_SHA" ]; then
echo "No rebase was applied, exiting..."
exit 1
else
echo "Rebase applied successfully."
fi
- name: Send warning for rebase error
if: failure() && steps.check_rebase_applied.outcome == 'failure'
uses: slackapi/[email protected]
with:
payload: |
{
"text": "Nightly rebase on branch ${{ matrix.branch }}\nStatus: Rebase not needed"
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
- name: Set REBASE_SHA
run: echo "REBASE_SHA=$(git rev-parse HEAD)" >> $GITHUB_ENV
- name: Push changes
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
branch: ${{ env.REBASE_BRANCH }}
- name: Wait for buildkite to start build
run: sleep 300
- name: Wait for buildkite to finish
id: wait_for_buildkite
timeout-minutes: 300
run: |
while true; do
response=$(curl -s -f -H "Authorization: Bearer ${{ secrets.BUILDKITE_TOKEN }}" "https://api.buildkite.com/v2/organizations/jito/pipelines/jito-solana/builds?commit=${{ env.REBASE_SHA }}")
if [ $? -ne 0 ]; then
echo "Curl request failed."
exit 1
fi

state=$(echo $response | jq --exit-status -r '.[0].state')
echo "Current build state: $state"

# Check if the state is one of the finished states
case $state in
"passed"|"finished")
echo "Build finished successfully."
exit 0
;;
"canceled"|"canceling"|"not_run")
# ignoring "failing"|"failed" because flaky CI, can restart and hope it finishes or times out
echo "Build failed or was cancelled."
exit 2
;;
esac

sleep 30
done
- name: Send failure update
uses: slackapi/[email protected]
if: failure() && steps.wait_for_buildkite.outcome == 'failure'
with:
payload: |
{
"text": "Nightly rebase on branch ${{ matrix.branch }}\nStatus: CI failed\nBranch: ${{ env.REBASE_BRANCH}}\nBuild: https://buildkite.com/jito/jito-solana/builds?commit=${{ env.REBASE_SHA }}"
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
# check to see if different branch since CI build can take awhile and these steps are not atomic
- name: Fetch the latest remote changes
run: git fetch origin ${{ matrix.branch }}
- name: Check if origin HEAD has changed from the beginning of the workflow
run: |
LOCAL_SHA=$(git rev-parse ${{ matrix.branch }})
ORIGIN_SHA=$(git rev-parse origin/${{ matrix.branch }})
if [ "$ORIGIN_SHA" != "$LOCAL_SHA" ]; then
echo "The remote HEAD of ${{ matrix.branch }} does not match the local HEAD of ${{ matrix.branch }} at the beginning of CI."
echo "origin sha: $ORIGIN_SHA"
echo "local sha: $LOCAL_SHA"
exit 1
else
echo "The remote HEAD matches the local REBASE_SHA at the beginning of CI. Proceeding."
fi
- name: Reset ${{ matrix.branch }} to ${{ env.REBASE_BRANCH }}
run: |
git checkout ${{ matrix.branch }}
git reset --hard ${{ env.REBASE_BRANCH }}
- name: Push rebased %{{ matrix.branch }}
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.JITO_SOLANA_RELEASE_TOKEN }}
branch: ${{ matrix.branch }}
force: true
- name: Send success update
uses: slackapi/[email protected]
with:
payload: |
{
"text": "Nightly rebase on branch ${{ matrix.branch }}\nStatus: CI success, rebased, and pushed\nBranch: ${{ env.REBASE_BRANCH}}\nBuild: https://buildkite.com/jito/jito-solana/builds?commit=${{ env.REBASE_SHA }}"
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
1 change: 1 addition & 0 deletions .github/workflows/release-artifacts.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ jobs:
with:
ref: master
fetch-depth: 0
submodules: 'recursive'

- name: Setup Rust
shell: bash
Expand Down
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ target/
/solana-release.tar.bz2
/solana-metrics/
/solana-metrics.tar.bz2
**/target/
/test-ledger/

**/*.rs.bk
Expand All @@ -28,7 +29,11 @@ log-*/
# fetch-spl.sh artifacts
/spl-genesis-args.sh
/spl_*.so
/jito_*.so

.DS_Store
# scripts that may be generated by cargo *-bpf commands
**/cargo-*-bpf-child-script-*.sh

.env
docker-output/
9 changes: 9 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
[submodule "anchor"]
path = anchor
url = https://github.com/jito-foundation/anchor.git
[submodule "jito-programs"]
path = jito-programs
url = https://github.com/jito-foundation/jito-programs.git
[submodule "jito-protos/protos"]
path = jito-protos/protos
url = https://github.com/jito-labs/mev-protos.git
Loading
Loading