fix(iota-network): PeerBalancer::new
peers total order
#7591
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
name: Hierarchy | |
on: | |
push: | |
branches: | |
- "develop" | |
- "devnet" | |
- "testnet" | |
- "mainnet" | |
- "releases/iota-*-release" | |
pull_request: | |
types: [opened, synchronize, reopened, ready_for_review] | |
jobs: | |
diff: | |
runs-on: [self-hosted] | |
concurrency: | |
group: diff-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: ${{ github.ref != 'refs/heads/develop' }} | |
outputs: | |
isRust: ${{ steps.diff.outputs.isRust }} | |
isMove: ${{ steps.diff.outputs.isMove }} | |
isDoc: ${{ steps.diff.outputs.isDoc }} | |
isReleaseNotesEligible: ${{ steps.diff.outputs.isReleaseNotesEligible }} | |
isWallet: ${{ (steps.turbo.outputs.packages && contains(fromJson(steps.turbo.outputs.packages), 'iota-wallet')) }} | |
isExplorer: ${{ (steps.turbo.outputs.packages && contains(fromJson(steps.turbo.outputs.packages), 'iota-explorer')) }} | |
isTypescriptSDK: ${{ (steps.turbo.outputs.packages && contains(fromJson(steps.turbo.outputs.packages), '@iota/iota-sdk')) }} | |
isAppsBackend: ${{ (steps.turbo.outputs.packages && contains(fromJson(steps.turbo.outputs.packages), 'apps-backend')) }} | |
isAppsUiKit: ${{ (steps.turbo.outputs.packages && contains(fromJson(steps.turbo.outputs.packages), '@iota/apps-ui-kit')) }} | |
isWalletDashboard: ${{ (steps.turbo.outputs.packages && contains(fromJson(steps.turbo.outputs.packages), 'wallet-dashboard')) }} | |
isGraphQlTransport: ${{ (steps.turbo.outputs.packages && contains(fromJson(steps.turbo.outputs.packages), '@iota/graphql-transport')) }} | |
isLedgerjs: ${{ (steps.turbo.outputs.packages && contains(fromJson(steps.turbo.outputs.packages), '@iota/ledgerjs-hw-app-iota')) }} | |
steps: | |
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # pin@v4 | |
- name: Detect Changes (turbo) | |
uses: "./.github/actions/turbo-diffs" | |
id: turbo | |
- name: Detect Changes (diff) | |
uses: "./.github/actions/diffs" | |
id: diff | |
dprint-format: | |
runs-on: [self-hosted] | |
concurrency: | |
group: dprint-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
steps: | |
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # pin@v4 | |
- name: Check dprint formatting | |
run: dprint check | |
typos: | |
uses: ./.github/workflows/_typos.yml | |
license-check: | |
name: license-check | |
concurrency: | |
group: license-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
needs: diff | |
if: (!cancelled() && needs.diff.outputs.isRust == 'true') | |
runs-on: [self-hosted] | |
steps: | |
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # pin@v4 | |
- name: Run license check | |
run: cargo ci-license | |
docusaurus: | |
needs: diff | |
if: (!cancelled() && needs.diff.outputs.isDoc == 'true' && !github.event.pull_request.draft) | |
uses: ./.github/workflows/_docusaurus.yml | |
docs-lint: | |
needs: diff | |
if: (!cancelled() && needs.diff.outputs.isDoc == 'true') | |
uses: ./.github/workflows/_docs_lint.yml | |
release-notes-description-check: | |
name: release-notes-check | |
concurrency: | |
group: release-notes-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
needs: diff | |
if: (!cancelled() && needs.diff.outputs.isReleaseNotesEligible == 'true') | |
runs-on: [self-hosted] | |
steps: | |
- uses: actions/checkout@eef61447b9ff4aafe5dcd4e0bbf5d482be7e7871 # pin@v4 | |
- name: Check Pull Request Description | |
shell: bash | |
run: | | |
export PR_NUMBER=$(jq --raw-output .pull_request.number "$GITHUB_EVENT_PATH") | |
export DESCRIPTION=$(curl -s -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \ | |
"https://api.github.com/repos/iotaledger/iota/pulls/${PR_NUMBER}" \ | |
| jq --raw-output .body) | |
if [[ "${DESCRIPTION}" == *"[x]"* ]]; then | |
if [[ "${DESCRIPTION}" =~ Release[[:space:]]notes[[:space:]]+.* ]]; then | |
exit 0 | |
else | |
echo "At least one '[x]' was checked under 'Type of Change (Check all that apply)', you need to add a blob under the 'Release Notes' section." | |
exit 1 | |
fi | |
fi | |
turborepo: | |
needs: | |
- dprint-format | |
- typos | |
uses: ./.github/workflows/_turborepo.yml | |
move-tests: | |
needs: | |
- diff | |
- dprint-format | |
- license-check | |
- typos | |
if: | | |
!cancelled() && !failure() && | |
needs.diff.outputs.isRust == 'false' && | |
needs.diff.outputs.isMove == 'true' && | |
github.event.pull_request.draft == false | |
uses: ./.github/workflows/_move_tests.yml | |
rust: | |
needs: | |
- diff | |
- dprint-format | |
- license-check | |
- typos | |
if: (!cancelled() && !failure()) | |
uses: ./.github/workflows/_rust.yml | |
secrets: inherit | |
with: | |
isRust: ${{ needs.diff.outputs.isRust == 'true' }} | |
e2e: | |
if: (!cancelled() && !failure() && (!github.event.pull_request.draft || github.ref_name == 'develop')) | |
needs: | |
- diff | |
- dprint-format | |
- license-check | |
- typos | |
uses: ./.github/workflows/_e2e.yml | |
with: | |
isRust: ${{ needs.diff.outputs.isRust == 'true' }} | |
isWallet: ${{ needs.diff.outputs.isWallet == 'true' }} | |
isExplorer: ${{ needs.diff.outputs.isExplorer == 'true' }} | |
isAppsBackend: ${{ needs.diff.outputs.isAppsBackend == 'true' }} | |
isTypescriptSDK: ${{ needs.diff.outputs.isTypescriptSDK == 'true' }} | |
isGraphQlTransport: ${{ needs.diff.outputs.isGraphQlTransport == 'true' }} | |
vercel-deploy: | |
if: (!cancelled() && !failure()) | |
needs: | |
- diff | |
- dprint-format | |
- license-check | |
- typos | |
uses: ./.github/workflows/_vercel_deploy.yml | |
secrets: inherit | |
with: | |
shouldDeployPreview: ${{ github.event_name == 'pull_request' && github.event.pull_request.draft == false }} | |
isExplorer: ${{ needs.diff.outputs.isExplorer == 'true' }} | |
isTypescriptSDK: ${{ needs.diff.outputs.isTypescriptSDK == 'true' }} | |
isAppsBackend: ${{ needs.diff.outputs.isAppsBackend == 'true' }} | |
isAppsUiKit: ${{ needs.diff.outputs.isAppsUiKit == 'true' }} | |
isWalletDashboard: ${{ needs.diff.outputs.isWalletDashboard == 'true' }} | |
ledgernano: | |
if: (!cancelled() && !failure()) && needs.diff.outputs.isLedgerjs == 'true' && github.event.pull_request.draft == false | |
needs: | |
- diff | |
- dprint-format | |
- license-check | |
- typos | |
uses: ./.github/workflows/_ledgernano.yml | |
secrets: inherit |