feat: implement serialization for AccountPatch and AccountVaultPatch and apply_patch
#11478
This file contains hidden or 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
| # Runs linting related jobs. | |
| name: lint | |
| # Limits workflow concurrency to only the latest commit in the PR. | |
| concurrency: | |
| group: "${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}" | |
| cancel-in-progress: true | |
| on: | |
| push: | |
| branches: [main, next] | |
| pull_request: | |
| types: [opened, reopened, synchronize] | |
| merge_group: | |
| permissions: | |
| contents: read | |
| jobs: | |
| cargo-deny: | |
| name: cargo-deny on ubuntu-latest | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 | |
| with: | |
| persist-credentials: false | |
| - uses: taiki-e/install-action@055f5df8c3f65ea01cd41e9dc855becd88953486 # v2.75.18 | |
| with: | |
| tool: cargo-deny | |
| - name: Check dependencies with cargo-deny | |
| run: cargo deny check | |
| cargo-shear: | |
| name: check for unused dependencies | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 | |
| with: | |
| persist-credentials: false | |
| - name: Install cargo-shear | |
| uses: taiki-e/install-action@055f5df8c3f65ea01cd41e9dc855becd88953486 # v2.75.18 | |
| with: | |
| tool: cargo-shear@1.11.2 | |
| - name: Check for unused dependencies | |
| run: make shear | |
| workspace-inheritance: | |
| name: workspace inheritance on ubuntu-latest | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 | |
| with: | |
| persist-credentials: false | |
| # Do not pin taiki-e's moving tool shortcut tags by hash. Pin a released | |
| # install-action commit and set tool explicitly, or zizmor's | |
| # impostor-commit audit can flag stale shortcut-tag hashes. | |
| - name: Install cargo-binstall | |
| uses: taiki-e/install-action@055f5df8c3f65ea01cd41e9dc855becd88953486 # v2.75.18 | |
| with: | |
| tool: cargo-binstall | |
| - name: Install workspace inheritance checker | |
| run: cargo binstall --no-confirm cargo-workspace-inheritance-check@1.2.0 | |
| - name: Check workspace inheritance | |
| run: cargo workspace-inheritance-check --promotion-threshold 2 --promotion-failure | |
| typos: | |
| name: spellcheck | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| steps: | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 | |
| with: | |
| persist-credentials: false | |
| - uses: taiki-e/install-action@055f5df8c3f65ea01cd41e9dc855becd88953486 # v2.75.18 | |
| with: | |
| tool: typos | |
| - run: make typos-check | |
| hooks-test: | |
| name: claude hooks pytest | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| steps: | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 | |
| with: | |
| persist-credentials: false | |
| - uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0 | |
| with: | |
| python-version: '3.10' | |
| - name: Install pytest | |
| run: python -m pip install --upgrade pip pytest | |
| - run: make hooks-test | |
| toml: | |
| name: toml formatting | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| steps: | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 | |
| with: | |
| persist-credentials: false | |
| - uses: taiki-e/install-action@055f5df8c3f65ea01cd41e9dc855becd88953486 # v2.75.18 | |
| with: | |
| tool: taplo-cli | |
| - run: make toml-check | |
| clippy: | |
| name: clippy | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 | |
| with: | |
| persist-credentials: false | |
| - name: Cleanup large tools for build space | |
| uses: ./.github/actions/cleanup-runner | |
| - uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1 | |
| with: | |
| # Only update the cache on push onto the next branch. This strikes a nice balance between | |
| # cache hits and cache evictions (github has a 10GB cache limit). | |
| save-if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/next' }} | |
| - name: Clippy | |
| run: | | |
| rustup update --no-self-update | |
| rustup component add clippy | |
| make clippy | |
| clippy-no-std: | |
| name: clippy no_std | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 | |
| with: | |
| persist-credentials: false | |
| - name: Cleanup large tools for build space | |
| uses: ./.github/actions/cleanup-runner | |
| - uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1 | |
| with: | |
| # Only update the cache on push onto the next branch. This strikes a nice balance between | |
| # cache hits and cache evictions (github has a 10GB cache limit). | |
| save-if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/next' }} | |
| - name: Clippy no_std | |
| run: | | |
| rustup update --no-self-update | |
| rustup target add wasm32-unknown-unknown | |
| rustup component add clippy | |
| make clippy-no-std | |
| rustfmt: | |
| name: rustfmt | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 | |
| with: | |
| persist-credentials: false | |
| - name: Cleanup large tools for build space | |
| uses: ./.github/actions/cleanup-runner | |
| - uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1 | |
| with: | |
| # Only update the cache on push onto the next branch. This strikes a nice balance between | |
| # cache hits and cache evictions (github has a 10GB cache limit). | |
| save-if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/next' }} | |
| - name: Rustfmt | |
| run: | | |
| rustup update --no-self-update nightly | |
| rustup +nightly component add rustfmt | |
| make format-check | |
| doc: | |
| name: doc | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 | |
| with: | |
| persist-credentials: false | |
| - name: Cleanup large tools for build space | |
| uses: ./.github/actions/cleanup-runner | |
| - uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1 | |
| with: | |
| # Only update the cache on push onto the next branch. This strikes a nice balance between | |
| # cache hits and cache evictions (github has a 10GB cache limit). | |
| save-if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/next' }} | |
| - name: Build docs | |
| run: | | |
| rustup update --no-self-update | |
| make doc | |
| generated-files: | |
| name: generated files check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4.3.1 | |
| with: | |
| persist-credentials: false | |
| - name: Cleanup large tools for build space | |
| uses: ./.github/actions/cleanup-runner | |
| - name: Rustup | |
| run: rustup update --no-self-update | |
| - uses: Swatinem/rust-cache@c19371144df3bb44fab255c43d04cbc2ab54d1c4 # v2.9.1 | |
| with: | |
| save-if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/next' }} | |
| - name: Rebuild generated files in src | |
| run: BUILD_GENERATED_FILES_IN_SRC=1 make check | |
| - name: Diff check | |
| run: git diff --exit-code |