diff --git a/.github/actions/rust/action.yaml b/.github/actions/rust/action.yaml index 8fac7eb2e81..c8cff6f4c0e 100644 --- a/.github/actions/rust/action.yaml +++ b/.github/actions/rust/action.yaml @@ -37,7 +37,7 @@ runs: - name: Set sccache Rust variables shell: bash run: | - echo SCCACHE_GHA_ENABLED=true >> $GITHUB_ENV + echo SCCACHE_BUCKET=platform-runner-cache >> $GITHUB_ENV echo RUSTC_WRAPPER=sccache >> $GITHUB_ENV - name: Rust cache diff --git a/.github/workflows/all-packages.yml b/.github/workflows/all-packages.yml index 0dfe349b2b7..65b7c104f9b 100644 --- a/.github/workflows/all-packages.yml +++ b/.github/workflows/all-packages.yml @@ -65,11 +65,13 @@ jobs: test-suite: name: Run Platform Test Suite runs-on: self-hosted + if: false timeout-minutes: 30 env: - SCCACHE_GHA_ENABLED: "true" + SCCACHE_BUCKET: "platform-runner-cache" RUSTC_WRAPPER: "sccache" CARGO_INCREMENTAL: "false" + SCCACHE_GHA_ENABLED: "false" steps: - name: Check out repo uses: actions/checkout@v3 @@ -91,18 +93,18 @@ jobs: toolchain: stable target: wasm32-unknown-unknown - - name: Setup Cargo cache - uses: Swatinem/rust-cache@v2 - with: - # Don't cache ./target, as it takes tons of space, use sccache instead. - cache-targets: false - # We set a shared key, as our cache is reusable between jobs - shared-key: rust-cargo + # - name: Setup Cargo cache + # uses: Swatinem/rust-cache@v2 + # with: + # # Don't cache ./target, as it takes tons of space, use sccache instead. + # cache-targets: false + # # We set a shared key, as our cache is reusable between jobs + # shared-key: rust-cargo - - name: Setup Rust compilation cache - uses: mozilla-actions/sccache-action@v0.0.3 - with: - version: "v0.4.1" + # - name: Setup Rust compilation cache + # uses: mozilla-actions/sccache-action@v0.0.3 + # with: + # version: "v0.4.1" - name: Enable corepack run: corepack enable @@ -127,6 +129,10 @@ jobs: - name: Set up Docker BuildX id: buildx uses: docker/setup-buildx-action@v2 + with: + install: true + driver-opts: | + image=moby/buildkit:master - name: Enable docker cache mount uses: actions/cache@v3 @@ -159,6 +165,7 @@ jobs: test-suite-browsers: name: Run Platform Test Suite in Browsers runs-on: self-hosted + if: false timeout-minutes: 30 env: SCCACHE_GHA_ENABLED: "true" diff --git a/.github/workflows/js-checks.yml b/.github/workflows/js-checks.yml index 9e0a9520f04..cbb26c4f56d 100644 --- a/.github/workflows/js-checks.yml +++ b/.github/workflows/js-checks.yml @@ -27,6 +27,7 @@ jobs: lint: name: Linting runs-on: self-hosted + if: false timeout-minutes: 15 env: SCCACHE_GHA_ENABLED: "true" @@ -93,7 +94,7 @@ jobs: name: Tests runs-on: self-hosted timeout-minutes: 30 - if: ${{ !inputs.skip-tests }} + if: false env: SCCACHE_GHA_ENABLED: "true" RUSTC_WRAPPER: "sccache" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 981960435a4..719a463a43a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,9 +21,7 @@ jobs: timeout-minutes: 15 if: github.event_name != 'workflow_dispatch' env: - SCCACHE_GHA_ENABLED: "true" - RUSTC_WRAPPER: "sccache" - CARGO_INCREMENTAL: "false" + CARGO_INCREMENTAL: "true" steps: - name: Check out repo uses: actions/checkout@v3 @@ -39,19 +37,6 @@ jobs: toolchain: stable target: wasm32-unknown-unknown - - name: Setup Cargo cache - uses: Swatinem/rust-cache@v2 - with: - # Don't cache ./target, as it takes tons of space, use sccache instead. - cache-targets: false - # We set a shared key, as our cache is reusable between jobs - shared-key: rust-cargo - - - name: Setup Rust compilation cache - uses: mozilla-actions/sccache-action@v0.0.3 - with: - version: "v0.4.1" - - name: Setup Node.JS uses: actions/setup-node@v3 with: @@ -113,11 +98,10 @@ jobs: release-drive-docker-image: name: Release Drive to Docker Hub runs-on: self-hosted - timeout-minutes: 120 + timeout-minutes: 60 + if: false env: - SCCACHE_GHA_ENABLED: "true" - RUSTC_WRAPPER: "sccache" - CARGO_INCREMENTAL: "false" + CARGO_INCREMENTAL: "true" steps: - name: Check out repo uses: actions/checkout@v3 @@ -134,19 +118,6 @@ jobs: toolchain: stable target: wasm32-unknown-unknown - - name: Setup Cargo cache - uses: Swatinem/rust-cache@v2 - with: - # Don't cache ./target, as it takes tons of space, use sccache instead. - cache-targets: false - # We set a shared key, as our cache is reusable between jobs - shared-key: rust-cargo - - - name: Setup Rust compilation cache - uses: mozilla-actions/sccache-action@v0.0.3 - with: - version: "v0.4.1" - - name: Setup Node.JS uses: actions/setup-node@v3 with: @@ -181,28 +152,21 @@ jobs: uses: docker/setup-buildx-action@v2 with: install: true - - - name: Enable docker cache mount - uses: actions/cache@v3 - with: - path: /tmp/buildkit-cache/buildkit-state.tar - key: ${{ runner.os }}-buildkit-${{ github.sha }} - restore-keys: | - ${{ runner.os }}-buildkit - - - name: Load docker cache mount - uses: dashevo/gh-action-cache-buildkit-state@master - with: - builder: buildx_buildkit_${{ steps.buildx.outputs.name }}0 - cache-path: /tmp/buildkit-cache - cache-max-size: 3g + config-inline: | + [worker.oci] + gc = true + gckeepstorage = 40000 # 40 GB + [[worker.oci.gcpolicy]] + all = true + keepBytes = 30000000000 # 30 GB + keepDuration = 864000 # 10 days - name: Get tag uses: actions/github-script@v6 id: tag with: result-encoding: string - script: "return context.eventName === 'workflow_dispatch' ? core.getInput('tag') : context.payload.release.tag_name;" + script: "return context.eventName === 'workflow_dispatch' ? '${{ github.event.inputs.tag }}' : context.payload.release.tag_name;" - name: Set suffix uses: actions/github-script@v6 @@ -233,6 +197,9 @@ jobs: suffix=${{ steps.suffix.outputs.result }},onlatest=true latest=${{ github.event_name == 'release' }} + - name: inject go-build-cache into docker + uses: dcginfra/buildkit-cache-dance/inject@main + - name: Build and push Docker image for Drive uses: docker/build-push-action@v3 with: @@ -244,20 +211,19 @@ jobs: tags: ${{ steps.docker_meta.outputs.tags }} labels: ${{ steps.docker_meta.outputs.labels }} build-args: | - SCCACHE_GHA_ENABLED=true - ACTIONS_CACHE_URL=${{ env.ACTIONS_CACHE_URL }} - ACTIONS_RUNTIME_TOKEN=${{ env.ACTIONS_RUNTIME_TOKEN }} CARGO_BUILD_PROFILE=release - platforms: linux/amd64,linux/arm64 + platforms: linux/amd64 + cache-from: type=s3,region=eu-west-1,bucket=platform-runner-cache + cache-to: type=s3,region=eu-west-1,bucket=platform-runner-cache,mode=max + + - name: extract go-build-cache from docker + uses: dcginfra/buildkit-cache-dance/extract@main release-dapi-docker-image: name: Release DAPI to Docker Hub runs-on: self-hosted - timeout-minutes: 120 env: - SCCACHE_GHA_ENABLED: "true" - RUSTC_WRAPPER: "sccache" - CARGO_INCREMENTAL: "false" + CARGO_INCREMENTAL: "true" steps: - name: Check out repo uses: actions/checkout@v3 @@ -274,19 +240,6 @@ jobs: toolchain: stable target: wasm32-unknown-unknown - - name: Setup Cargo cache - uses: Swatinem/rust-cache@v2 - with: - # Don't cache ./target, as it takes tons of space, use sccache instead. - cache-targets: false - # We set a shared key, as our cache is reusable between jobs - shared-key: rust-cargo - - - name: Setup Rust compilation cache - uses: mozilla-actions/sccache-action@v0.0.3 - with: - version: "v0.4.1" - - name: Setup Node.JS uses: actions/setup-node@v3 with: @@ -298,13 +251,27 @@ jobs: - name: Disable NPM audit run: npm config set audit false - - name: Enable Yarn unplugged modules cache - uses: actions/cache@v3 + - name: Configure AWS credentials + uses: aws-actions/configure-aws-credentials@v2 with: - path: ".yarn/unplugged" - key: ${{ runner.os }}-yarn-unplugged-${{ hashFiles('yarn.lock') }} - restore-keys: | - ${{ runner.os }}-yarn-unplugged- + aws-region: eu-west-1 + + - uses: everpcpc/actions-cache@v1 + with: + bucket: platform-runner-cache + root: cache-mounts + path: | + /home/ubuntu/.cargo/registry/index + /home/ubuntu/.cargo/registry/cache + /home/ubuntu/.cargo/git + target + .yarn/unplugged + key: opendal + restore-keys: opendal + + - name: Handle yarn install state cache + run: | + cp .yarn/unplugged/install-state.gz .yarn/install-state.gz || true - name: Install dependencies run: yarn install @@ -314,97 +281,87 @@ jobs: env: CARGO_BUILD_PROFILE: release - - name: Set up QEMU to run multi-arch builds - uses: docker/setup-qemu-action@v2 - - - name: Set up Docker BuildX - id: buildx - uses: docker/setup-buildx-action@v2 - with: - install: true - - - name: Enable docker cache mount - uses: actions/cache@v3 - with: - path: /tmp/buildkit-cache/buildkit-state.tar - key: ${{ runner.os }}-buildkit-${{ github.sha }} - restore-keys: | - ${{ runner.os }}-buildkit - - - name: Load docker cache mount - uses: dashevo/gh-action-cache-buildkit-state@master - with: - builder: buildx_buildkit_${{ steps.buildx.outputs.name }}0 - cache-path: /tmp/buildkit-cache - cache-max-size: 3g - - - name: Get tag - uses: actions/github-script@v6 - id: tag - with: - result-encoding: string - script: "return context.eventName === 'workflow_dispatch' ? core.getInput('tag') : context.payload.release.tag_name;" - - - name: Set suffix - uses: actions/github-script@v6 - id: suffix - with: - result-encoding: string - script: | - const fullTag = '${{steps.tag.outputs.result}}'; - if (fullTag.includes('-')) { - const [, fullSuffix] = fullTag.split('-'); - const [suffix] = fullSuffix.split('.'); - return `-${suffix}`; - } else { - return ''; - } - - - name: Set Docker tags and labels - id: docker_meta - uses: docker/metadata-action@v4 - with: - images: dashpay/dapi - tags: | - type=match,pattern=v(\d+),group=1,value=${{steps.tag.outputs.result}} - type=match,pattern=v(\d+.\d+),group=1,value=${{steps.tag.outputs.result}} - type=match,pattern=v(\d+.\d+.\d+),group=1,value=${{steps.tag.outputs.result}} - type=match,pattern=v(.*),group=1,value=${{steps.tag.outputs.result}},suffix= - flavor: | - suffix=${{ steps.suffix.outputs.result }},onlatest=true - latest=${{ github.event_name == 'release' }} - - - name: Build and push Docker image - uses: docker/build-push-action@v3 - with: - context: . - builder: ${{ steps.buildx.outputs.name }} - file: ./Dockerfile - target: dapi - push: true - tags: ${{ steps.docker_meta.outputs.tags }} - labels: ${{ steps.docker_meta.outputs.labels }} - platforms: linux/amd64,linux/arm64 - build-args: | - SCCACHE_GHA_ENABLED=true - ACTIONS_CACHE_URL=${{ env.ACTIONS_CACHE_URL }} - ACTIONS_RUNTIME_TOKEN=${{ env.ACTIONS_RUNTIME_TOKEN }} - CARGO_BUILD_PROFILE=release - cache-from: | - type=gha - # In practice, time spent preparing images is much lower than build. - # We minimize cached info to leave more space for sccache cache. - cache-to: | - type=gha,mode=min + # - name: Set up QEMU to run multi-arch builds + # uses: docker/setup-qemu-action@v2 + + # - name: Set up Docker BuildX + # id: buildx + # uses: docker/setup-buildx-action@v2 + # with: + # install: true + # config-inline: | + # [worker.oci] + # gc = true + # gckeepstorage = 40000 # 40 GB + # [[worker.oci.gcpolicy]] + # all = true + # keepBytes = 30000000000 # 30 GB + # keepDuration = 864000 # 10 days + + # - name: Get tag + # uses: actions/github-script@v6 + # id: tag + # with: + # result-encoding: string + # script: "return context.eventName === 'workflow_dispatch' ? '${{ github.event.inputs.tag }}' : context.payload.release.tag_name;" + + # - name: Set suffix + # uses: actions/github-script@v6 + # id: suffix + # with: + # result-encoding: string + # script: | + # const fullTag = '${{steps.tag.outputs.result}}'; + # if (fullTag.includes('-')) { + # const [, fullSuffix] = fullTag.split('-'); + # const [suffix] = fullSuffix.split('.'); + # return `-${suffix}`; + # } else { + # return ''; + # } + + # - name: Set Docker tags and labels + # id: docker_meta + # uses: docker/metadata-action@v4 + # with: + # images: dashpay/dapi + # tags: | + # type=match,pattern=v(\d+),group=1,value=${{steps.tag.outputs.result}} + # type=match,pattern=v(\d+.\d+),group=1,value=${{steps.tag.outputs.result}} + # type=match,pattern=v(\d+.\d+.\d+),group=1,value=${{steps.tag.outputs.result}} + # type=match,pattern=v(.*),group=1,value=${{steps.tag.outputs.result}},suffix= + # flavor: | + # suffix=${{ steps.suffix.outputs.result }},onlatest=true + # latest=${{ github.event_name == 'release' }} + + # - name: inject go-build-cache into docker + # uses: dcginfra/buildkit-cache-dance/inject@main + + # - name: Build and push Docker image for DAPI + # uses: docker/build-push-action@v3 + # with: + # context: . + # builder: ${{ steps.buildx.outputs.name }} + # file: ./Dockerfile + # target: dapi + # push: true + # tags: ${{ steps.docker_meta.outputs.tags }} + # labels: ${{ steps.docker_meta.outputs.labels }} + # build-args: | + # CARGO_BUILD_PROFILE=release + # platforms: linux/amd64 + # cache-from: type=s3,region=eu-west-1,bucket=platform-runner-cache + # cache-to: type=s3,region=eu-west-1,bucket=platform-runner-cache,mode=max + + # - name: extract go-build-cache from docker + # uses: dcginfra/buildkit-cache-dance/extract@main release-test-suite-docker-image: name: Release Test Suite to Docker Hub runs-on: self-hosted - timeout-minutes: 120 + if: false env: - SCCACHE_GHA_ENABLED: "true" - RUSTC_WRAPPER: "sccache" - CARGO_INCREMENTAL: "false" + CARGO_INCREMENTAL: "true" steps: - name: Check out repo uses: actions/checkout@v3 @@ -421,19 +378,6 @@ jobs: toolchain: stable target: wasm32-unknown-unknown - - name: Setup Cargo cache - uses: Swatinem/rust-cache@v2 - with: - # Don't cache ./target, as it takes tons of space, use sccache instead. - cache-targets: false - # We set a shared key, as our cache is reusable between jobs - shared-key: rust-cargo - - - name: Setup Rust compilation cache - uses: mozilla-actions/sccache-action@v0.0.3 - with: - version: "v0.4.1" - - name: Setup Node.JS uses: actions/setup-node@v3 with: @@ -469,28 +413,21 @@ jobs: uses: docker/setup-buildx-action@v2 with: install: true - - - name: Enable docker cache mount - uses: actions/cache@v3 - with: - path: /tmp/buildkit-cache/buildkit-state.tar - key: ${{ runner.os }}-buildkit-${{ github.sha }} - restore-keys: | - ${{ runner.os }}-buildkit - - - name: Load docker cache mount - uses: dashevo/gh-action-cache-buildkit-state@master - with: - builder: buildx_buildkit_${{ steps.buildx.outputs.name }}0 - cache-path: /tmp/buildkit-cache - cache-max-size: 3g + config-inline: | + [worker.oci] + gc = true + gckeepstorage = 40000 # 40 GB + [[worker.oci.gcpolicy]] + all = true + keepBytes = 30000000000 # 30 GB + keepDuration = 864000 # 10 days - name: Get tag uses: actions/github-script@v6 id: tag with: result-encoding: string - script: "return context.eventName === 'workflow_dispatch' ? core.getInput('tag') : context.payload.release.tag_name;" + script: "return context.eventName === 'workflow_dispatch' ? '${{ github.event.inputs.tag }}' : context.payload.release.tag_name;" - name: Set suffix uses: actions/github-script@v6 @@ -521,6 +458,9 @@ jobs: suffix=${{ steps.suffix.outputs.result }},onlatest=true latest=${{ github.event_name == 'release' }} + - name: inject go-build-cache into docker + uses: dcginfra/buildkit-cache-dance/inject@main + - name: Build and push Docker image uses: docker/build-push-action@v3 with: @@ -531,22 +471,19 @@ jobs: push: true tags: ${{ steps.docker_meta.outputs.tags }} labels: ${{ steps.docker_meta.outputs.labels }} - platforms: linux/amd64,linux/arm64 + platforms: linux/amd64 build-args: | - SCCACHE_GHA_ENABLED=true - ACTIONS_CACHE_URL=${{ env.ACTIONS_CACHE_URL }} - ACTIONS_RUNTIME_TOKEN=${{ env.ACTIONS_RUNTIME_TOKEN }} CARGO_BUILD_PROFILE=release - cache-from: | - type=gha - # In practice, time spent preparing images is much lower than build. - # We minimize cached info to leave more space for sccache cache. - cache-to: | - type=gha,mode=min + cache-from: type=s3,region=eu-west-1,bucket=platform-runner-cache + cache-to: type=s3,region=eu-west-1,bucket=platform-runner-cache,mode=max + + - name: extract go-build-cache from docker + uses: dcginfra/buildkit-cache-dance/extract@main release-envoy-docker-image: name: Release Envoy to Docker Hub runs-on: ubuntu-22.04 + if: false steps: - name: Check out repo uses: actions/checkout@v3 @@ -571,7 +508,7 @@ jobs: id: tag with: result-encoding: string - script: "return context.eventName === 'workflow_dispatch' ? core.getInput('tag') : context.payload.release.tag_name;" + script: "return context.eventName === 'workflow_dispatch' ? '${{ github.event.inputs.tag }}' : context.payload.release.tag_name;" - name: Set suffix uses: actions/github-script@v6 @@ -611,16 +548,14 @@ jobs: push: true tags: ${{ steps.docker_meta.outputs.tags }} labels: ${{ steps.docker_meta.outputs.labels }} - platforms: linux/amd64,linux/arm64 + platforms: linux/amd64 release-dashmate-helper-docker-image: name: Release Dashmate helper to Docker Hub runs-on: self-hosted - timeout-minutes: 60 + if: false env: - SCCACHE_GHA_ENABLED: "true" - RUSTC_WRAPPER: "sccache" - CARGO_INCREMENTAL: "false" + CARGO_INCREMENTAL: "true" steps: - name: Check out repo uses: actions/checkout@v3 @@ -631,25 +566,12 @@ jobs: toolchain: stable target: wasm32-unknown-unknown - - name: Setup Cargo cache - uses: Swatinem/rust-cache@v2 - with: - # Don't cache ./target, as it takes tons of space, use sccache instead. - cache-targets: false - # We set a shared key, as our cache is reusable between jobs - shared-key: rust-cargo - - name: Login to DockerHub uses: docker/login-action@v2 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Setup Rust compilation cache - uses: mozilla-actions/sccache-action@v0.0.3 - with: - version: "v0.4.1" - - name: Setup Node.JS uses: actions/setup-node@v3 with: @@ -686,27 +608,12 @@ jobs: with: install: true - - name: Enable docker cache mount - uses: actions/cache@v3 - with: - path: /tmp/buildkit-cache/buildkit-state.tar - key: ${{ runner.os }}-buildkit-${{ github.sha }} - restore-keys: | - ${{ runner.os }}-buildkit - - - name: Load docker cache mount - uses: dashevo/gh-action-cache-buildkit-state@master - with: - builder: buildx_buildkit_${{ steps.buildx.outputs.name }}0 - cache-path: /tmp/buildkit-cache - cache-max-size: 3g - - name: Get tag uses: actions/github-script@v6 id: tag with: result-encoding: string - script: "return context.eventName === 'workflow_dispatch' ? core.getInput('tag') : context.payload.release.tag_name;" + script: "return context.eventName === 'workflow_dispatch' ? '${{ github.event.inputs.tag }}' : context.payload.release.tag_name;" - name: Set suffix uses: actions/github-script@v6 @@ -737,6 +644,9 @@ jobs: suffix=${{ steps.suffix.outputs.result }},onlatest=true latest=${{ github.event_name == 'release' }} + - name: inject go-build-cache into docker + uses: dcginfra/buildkit-cache-dance/inject@main + - name: Build and push Docker image for Dashmate helper uses: docker/build-push-action@v3 with: @@ -747,17 +657,20 @@ jobs: push: true tags: ${{ steps.docker_meta.outputs.tags }} labels: ${{ steps.docker_meta.outputs.labels }} - platforms: linux/amd64,linux/arm64 build-args: | - SCCACHE_GHA_ENABLED=true - ACTIONS_CACHE_URL=${{ env.ACTIONS_CACHE_URL }} - ACTIONS_RUNTIME_TOKEN=${{ env.ACTIONS_RUNTIME_TOKEN }} CARGO_BUILD_PROFILE=release + platforms: linux/amd64 + cache-from: type=s3,region=eu-west-1,bucket=platform-runner-cache + cache-to: type=s3,region=eu-west-1,bucket=platform-runner-cache,mode=max + + - name: extract go-build-cache from docker + uses: dcginfra/buildkit-cache-dance/extract@main release-dashmate: name: Release Dashmate packages runs-on: ${{ matrix.os }} needs: release-npm + if: false strategy: fail-fast: false matrix: @@ -771,9 +684,7 @@ jobs: - package_type: macos os: macos-12 env: - SCCACHE_GHA_ENABLED: "true" - RUSTC_WRAPPER: "sccache" - CARGO_INCREMENTAL: "false" + CARGO_INCREMENTAL: "true" steps: - name: Check out repo uses: actions/checkout@v3 @@ -821,19 +732,6 @@ jobs: toolchain: stable target: wasm32-unknown-unknown - - name: Setup Cargo cache - uses: Swatinem/rust-cache@v2 - with: - # Don't cache ./target, as it takes tons of space, use sccache instead. - cache-targets: false - # We set a shared key, as our cache is reusable between jobs - shared-key: rust-cargo - - - name: Setup Rust compilation cache - uses: mozilla-actions/sccache-action@v0.0.3 - with: - version: "v0.4.1" - - name: Enable corepack run: corepack enable diff --git a/.github/workflows/rs-checks.yml b/.github/workflows/rs-checks.yml index 0be2f2f3ee1..c6fa93897d4 100644 --- a/.github/workflows/rs-checks.yml +++ b/.github/workflows/rs-checks.yml @@ -12,6 +12,7 @@ jobs: lint: name: Linting runs-on: self-hosted + if: false timeout-minutes: 15 env: SCCACHE_GHA_ENABLED: "true" @@ -64,6 +65,7 @@ jobs: compile: name: Compilation errors runs-on: self-hosted + if: false timeout-minutes: 15 env: SCCACHE_GHA_ENABLED: "true" @@ -97,6 +99,7 @@ jobs: test: name: Tests runs-on: self-hosted + if: false timeout-minutes: 15 env: SCCACHE_GHA_ENABLED: "true" diff --git a/.github/workflows/rs-drive-abci.yml b/.github/workflows/rs-drive-abci.yml index f2809bbec58..dab5f609f94 100644 --- a/.github/workflows/rs-drive-abci.yml +++ b/.github/workflows/rs-drive-abci.yml @@ -36,6 +36,7 @@ jobs: docker: name: Docker runs-on: self-hosted + if: false timeout-minutes: 180 # ARM build can take forever steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/rs-drive.yml b/.github/workflows/rs-drive.yml index 3e3ff1bc2d3..f1ac5375d57 100644 --- a/.github/workflows/rs-drive.yml +++ b/.github/workflows/rs-drive.yml @@ -25,6 +25,7 @@ jobs: feature-compilation: name: Feature compilation errors runs-on: self-hosted + if: false timeout-minutes: 15 env: SCCACHE_GHA_ENABLED: "true" diff --git a/.github/workflows/wasm-dpp.yml b/.github/workflows/wasm-dpp.yml index 269eddf149f..4a0046d37a9 100644 --- a/.github/workflows/wasm-dpp.yml +++ b/.github/workflows/wasm-dpp.yml @@ -41,6 +41,7 @@ jobs: wasm-errors: name: WASM compilation + if: false runs-on: self-hosted timeout-minutes: 15 env: diff --git a/.pnp.cjs b/.pnp.cjs index f39544023e1..249cf8d672e 100755 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -116,7 +116,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["add-stream", "npm:1.0.0"],\ ["conventional-changelog", "npm:3.1.24"],\ ["conventional-changelog-dash", "https://github.com/dashevo/conventional-changelog-dash.git#commit=3d4d77e2cea876a27b92641c28b15aedf13eb788"],\ - ["node-gyp", "npm:9.3.1"],\ ["semver", "npm:7.3.8"],\ ["tempfile", "npm:3.0.0"],\ ["ultra-runner", "npm:3.10.5"]\ @@ -219,7 +218,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@babel/traverse", "npm:7.17.3"],\ ["@babel/types", "npm:7.17.0"],\ ["convert-source-map", "npm:1.8.0"],\ - ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"],\ + ["debug", "virtual:c2bff3e67180802999655a22d390062982690e911b9d9225c258f3b25e7409f3867b2682c16232b77415f560a09d05a95042dc512a5b8c566c42bbbed88b0bbc#npm:4.3.4"],\ ["gensync", "npm:1.0.0-beta.2"],\ ["json5", "npm:2.2.0"],\ ["semver", "npm:6.3.0"],\ @@ -357,7 +356,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@babel/helper-plugin-utils", "npm:7.14.5"],\ ["@babel/traverse", "npm:7.17.3"],\ ["@types/babel__core", null],\ - ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"],\ + ["debug", "virtual:c2bff3e67180802999655a22d390062982690e911b9d9225c258f3b25e7409f3867b2682c16232b77415f560a09d05a95042dc512a5b8c566c42bbbed88b0bbc#npm:4.3.4"],\ ["lodash.debounce", "npm:4.0.8"],\ ["resolve", "patch:resolve@npm%3A1.22.0#~builtin::version=1.22.0&hash=c3c19d"],\ ["semver", "npm:6.3.0"]\ @@ -2253,7 +2252,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@babel/helper-split-export-declaration", "npm:7.16.7"],\ ["@babel/parser", "npm:7.17.3"],\ ["@babel/types", "npm:7.17.0"],\ - ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"],\ + ["debug", "virtual:c2bff3e67180802999655a22d390062982690e911b9d9225c258f3b25e7409f3867b2682c16232b77415f560a09d05a95042dc512a5b8c566c42bbbed88b0bbc#npm:4.3.4"],\ ["globals", "npm:11.12.0"]\ ],\ "linkType": "HARD"\ @@ -2758,7 +2757,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@oclif/plugin-warn-if-update-available", "npm:2.0.17"],\ ["aws-sdk", "npm:2.1278.0"],\ ["concurrently", "npm:7.6.0"],\ - ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"],\ + ["debug", "virtual:c2bff3e67180802999655a22d390062982690e911b9d9225c258f3b25e7409f3867b2682c16232b77415f560a09d05a95042dc512a5b8c566c42bbbed88b0bbc#npm:4.3.4"],\ ["find-yarn-workspace-root", "npm:2.0.0"],\ ["fs-extra", "npm:8.1.0"],\ ["github-slugger", "npm:1.5.0"],\ @@ -2782,7 +2781,6 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["add-stream", "npm:1.0.0"],\ ["conventional-changelog", "npm:3.1.24"],\ ["conventional-changelog-dash", "https://github.com/dashevo/conventional-changelog-dash.git#commit=3d4d77e2cea876a27b92641c28b15aedf13eb788"],\ - ["node-gyp", "npm:9.3.1"],\ ["semver", "npm:7.3.8"],\ ["tempfile", "npm:3.0.0"],\ ["ultra-runner", "npm:3.10.5"]\ @@ -3085,7 +3083,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [\ ["@eslint/eslintrc", "npm:0.4.3"],\ ["ajv", "npm:6.12.6"],\ - ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"],\ + ["debug", "virtual:c2bff3e67180802999655a22d390062982690e911b9d9225c258f3b25e7409f3867b2682c16232b77415f560a09d05a95042dc512a5b8c566c42bbbed88b0bbc#npm:4.3.4"],\ ["espree", "npm:7.3.1"],\ ["globals", "npm:13.12.0"],\ ["ignore", "npm:4.0.6"],\ @@ -3153,7 +3151,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [\ ["@humanwhocodes/config-array", "npm:0.5.0"],\ ["@humanwhocodes/object-schema", "npm:1.2.1"],\ - ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"],\ + ["debug", "virtual:c2bff3e67180802999655a22d390062982690e911b9d9225c258f3b25e7409f3867b2682c16232b77415f560a09d05a95042dc512a5b8c566c42bbbed88b0bbc#npm:4.3.4"],\ ["minimatch", "npm:3.1.2"]\ ],\ "linkType": "HARD"\ @@ -3461,7 +3459,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["lru-cache", "npm:6.0.0"],\ ["mkdirp", "npm:1.0.4"],\ ["npm-pick-manifest", "npm:6.1.1"],\ - ["promise-inflight", "virtual:4e2088ed0df52533102f445d7e7aeba6560b7effa0cabbc7cc20dd1e36a86dd838cc541de4414688f4ce3ec77b0ad5298cea6de581350d934ceb35c3e0fe3462#npm:1.0.1"],\ + ["promise-inflight", "virtual:a7e5239c6ae68bf6359adfd3598326db000e94dbb349bc00a3852ed53a31712a0e2e787228c6e859d3e5cf2fbb872aba1ea4abe4995cef8086a77ef619ae1be6#npm:1.0.1"],\ ["promise-retry", "npm:2.0.1"],\ ["semver", "npm:7.3.8"],\ ["which", "npm:2.0.2"]\ @@ -3702,7 +3700,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@oclif/plugin-warn-if-update-available", "npm:2.0.17"],\ ["@oclif/core", "npm:1.22.0"],\ ["chalk", "npm:4.1.2"],\ - ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"],\ + ["debug", "virtual:c2bff3e67180802999655a22d390062982690e911b9d9225c258f3b25e7409f3867b2682c16232b77415f560a09d05a95042dc512a5b8c566c42bbbed88b0bbc#npm:4.3.4"],\ ["fs-extra", "npm:9.1.0"],\ ["http-call", "npm:5.3.0"],\ ["lodash", "npm:4.17.21"],\ @@ -4644,7 +4642,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@typescript-eslint/scope-manager", "npm:5.55.0"],\ ["@typescript-eslint/type-utils", "virtual:0e22d802b65219681b64a9f99af596d56d444fb6f03cdf776b56a06fb9ddeefe4b0a611780f0b0eea0b47a1f1fba5a366d19cd6561bbc1e55271f08c190cd76f#npm:5.55.0"],\ ["@typescript-eslint/utils", "virtual:0e22d802b65219681b64a9f99af596d56d444fb6f03cdf776b56a06fb9ddeefe4b0a611780f0b0eea0b47a1f1fba5a366d19cd6561bbc1e55271f08c190cd76f#npm:5.55.0"],\ - ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"],\ + ["debug", "virtual:c2bff3e67180802999655a22d390062982690e911b9d9225c258f3b25e7409f3867b2682c16232b77415f560a09d05a95042dc512a5b8c566c42bbbed88b0bbc#npm:4.3.4"],\ ["eslint", "npm:7.32.0"],\ ["grapheme-splitter", "npm:1.0.4"],\ ["ignore", "npm:5.2.0"],\ @@ -4681,7 +4679,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@typescript-eslint/scope-manager", "npm:5.55.0"],\ ["@typescript-eslint/types", "npm:5.55.0"],\ ["@typescript-eslint/typescript-estree", "virtual:0c2ac79ebf72f4493d7516f3ee57421c8337be2bdf9498590055ee112e7fdf62dd0b817c13f6c8a030baf64dbe843920deec4c3c8ea8bd6888b7baf950492c3a#npm:5.55.0"],\ - ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"],\ + ["debug", "virtual:c2bff3e67180802999655a22d390062982690e911b9d9225c258f3b25e7409f3867b2682c16232b77415f560a09d05a95042dc512a5b8c566c42bbbed88b0bbc#npm:4.3.4"],\ ["eslint", "npm:7.32.0"],\ ["typescript", "patch:typescript@npm%3A3.9.10#~builtin::version=3.9.10&hash=3bd3d3"]\ ],\ @@ -4721,7 +4719,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@types/typescript", null],\ ["@typescript-eslint/typescript-estree", "virtual:0c2ac79ebf72f4493d7516f3ee57421c8337be2bdf9498590055ee112e7fdf62dd0b817c13f6c8a030baf64dbe843920deec4c3c8ea8bd6888b7baf950492c3a#npm:5.55.0"],\ ["@typescript-eslint/utils", "virtual:0e22d802b65219681b64a9f99af596d56d444fb6f03cdf776b56a06fb9ddeefe4b0a611780f0b0eea0b47a1f1fba5a366d19cd6561bbc1e55271f08c190cd76f#npm:5.55.0"],\ - ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"],\ + ["debug", "virtual:c2bff3e67180802999655a22d390062982690e911b9d9225c258f3b25e7409f3867b2682c16232b77415f560a09d05a95042dc512a5b8c566c42bbbed88b0bbc#npm:4.3.4"],\ ["eslint", "npm:7.32.0"],\ ["tsutils", "virtual:0e22d802b65219681b64a9f99af596d56d444fb6f03cdf776b56a06fb9ddeefe4b0a611780f0b0eea0b47a1f1fba5a366d19cd6561bbc1e55271f08c190cd76f#npm:3.21.0"],\ ["typescript", "patch:typescript@npm%3A3.9.10#~builtin::version=3.9.10&hash=3bd3d3"]\ @@ -4759,7 +4757,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@types/typescript", null],\ ["@typescript-eslint/types", "npm:5.55.0"],\ ["@typescript-eslint/visitor-keys", "npm:5.55.0"],\ - ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"],\ + ["debug", "virtual:c2bff3e67180802999655a22d390062982690e911b9d9225c258f3b25e7409f3867b2682c16232b77415f560a09d05a95042dc512a5b8c566c42bbbed88b0bbc#npm:4.3.4"],\ ["globby", "npm:11.1.0"],\ ["is-glob", "npm:4.0.3"],\ ["semver", "npm:7.3.8"],\ @@ -4779,7 +4777,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@types/typescript", null],\ ["@typescript-eslint/types", "npm:5.55.0"],\ ["@typescript-eslint/visitor-keys", "npm:5.55.0"],\ - ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"],\ + ["debug", "virtual:c2bff3e67180802999655a22d390062982690e911b9d9225c258f3b25e7409f3867b2682c16232b77415f560a09d05a95042dc512a5b8c566c42bbbed88b0bbc#npm:4.3.4"],\ ["globby", "npm:11.1.0"],\ ["is-glob", "npm:4.0.3"],\ ["semver", "npm:7.3.8"],\ @@ -5573,7 +5571,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./.yarn/cache/agent-base-npm-6.0.2-428f325a93-f52b6872cc.zip/node_modules/agent-base/",\ "packageDependencies": [\ ["agent-base", "npm:6.0.2"],\ - ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"]\ + ["debug", "virtual:c2bff3e67180802999655a22d390062982690e911b9d9225c258f3b25e7409f3867b2682c16232b77415f560a09d05a95042dc512a5b8c566c42bbbed88b0bbc#npm:4.3.4"]\ ],\ "linkType": "HARD"\ }]\ @@ -5583,7 +5581,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./.yarn/cache/agentkeepalive-npm-4.2.0-e5e72b8ce4-89806f83ce.zip/node_modules/agentkeepalive/",\ "packageDependencies": [\ ["agentkeepalive", "npm:4.2.0"],\ - ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"],\ + ["debug", "virtual:c2bff3e67180802999655a22d390062982690e911b9d9225c258f3b25e7409f3867b2682c16232b77415f560a09d05a95042dc512a5b8c566c42bbbed88b0bbc#npm:4.3.4"],\ ["depd", "npm:1.1.2"],\ ["humanize-ms", "npm:1.2.1"]\ ],\ @@ -5593,7 +5591,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./.yarn/cache/agentkeepalive-npm-4.3.0-ac3d8e6807-982453aa44.zip/node_modules/agentkeepalive/",\ "packageDependencies": [\ ["agentkeepalive", "npm:4.3.0"],\ - ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"],\ + ["debug", "virtual:c2bff3e67180802999655a22d390062982690e911b9d9225c258f3b25e7409f3867b2682c16232b77415f560a09d05a95042dc512a5b8c566c42bbbed88b0bbc#npm:4.3.4"],\ ["depd", "npm:2.0.0"],\ ["humanize-ms", "npm:1.2.1"]\ ],\ @@ -6792,7 +6790,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["minipass-pipeline", "npm:1.2.4"],\ ["mkdirp", "npm:1.0.4"],\ ["p-map", "npm:4.0.0"],\ - ["promise-inflight", "virtual:4e2088ed0df52533102f445d7e7aeba6560b7effa0cabbc7cc20dd1e36a86dd838cc541de4414688f4ce3ec77b0ad5298cea6de581350d934ceb35c3e0fe3462#npm:1.0.1"],\ + ["promise-inflight", "virtual:a7e5239c6ae68bf6359adfd3598326db000e94dbb349bc00a3852ed53a31712a0e2e787228c6e859d3e5cf2fbb872aba1ea4abe4995cef8086a77ef619ae1be6#npm:1.0.1"],\ ["rimraf", "npm:3.0.2"],\ ["ssri", "npm:8.0.1"],\ ["tar", "npm:6.1.11"],\ @@ -6817,10 +6815,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["minipass-pipeline", "npm:1.2.4"],\ ["mkdirp", "npm:1.0.4"],\ ["p-map", "npm:4.0.0"],\ - ["promise-inflight", "virtual:4e2088ed0df52533102f445d7e7aeba6560b7effa0cabbc7cc20dd1e36a86dd838cc541de4414688f4ce3ec77b0ad5298cea6de581350d934ceb35c3e0fe3462#npm:1.0.1"],\ + ["promise-inflight", "virtual:a7e5239c6ae68bf6359adfd3598326db000e94dbb349bc00a3852ed53a31712a0e2e787228c6e859d3e5cf2fbb872aba1ea4abe4995cef8086a77ef619ae1be6#npm:1.0.1"],\ ["rimraf", "npm:3.0.2"],\ ["ssri", "npm:9.0.1"],\ - ["tar", "npm:6.1.13"],\ + ["tar", "npm:6.1.15"],\ ["unique-filename", "npm:2.0.1"]\ ],\ "linkType": "HARD"\ @@ -8335,10 +8333,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "HARD"\ }],\ - ["virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4", {\ - "packageLocation": "./.yarn/__virtual__/debug-virtual-ebc9063b40/0/cache/debug-npm-4.3.4-4513954577-3dbad3f94e.zip/node_modules/debug/",\ + ["virtual:c2bff3e67180802999655a22d390062982690e911b9d9225c258f3b25e7409f3867b2682c16232b77415f560a09d05a95042dc512a5b8c566c42bbbed88b0bbc#npm:4.3.4", {\ + "packageLocation": "./.yarn/__virtual__/debug-virtual-977b56e9ad/0/cache/debug-npm-4.3.4-4513954577-3dbad3f94e.zip/node_modules/debug/",\ "packageDependencies": [\ - ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"],\ + ["debug", "virtual:c2bff3e67180802999655a22d390062982690e911b9d9225c258f3b25e7409f3867b2682c16232b77415f560a09d05a95042dc512a5b8c566c42bbbed88b0bbc#npm:4.3.4"],\ ["@types/supports-color", null],\ ["ms", "npm:2.1.2"],\ ["supports-color", null]\ @@ -8752,7 +8750,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./.yarn/cache/docker-modem-npm-3.0.8-9923fc0db1-e3675c9b1a.zip/node_modules/docker-modem/",\ "packageDependencies": [\ ["docker-modem", "npm:3.0.8"],\ - ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"],\ + ["debug", "virtual:c2bff3e67180802999655a22d390062982690e911b9d9225c258f3b25e7409f3867b2682c16232b77415f560a09d05a95042dc512a5b8c566c42bbbed88b0bbc#npm:4.3.4"],\ ["readable-stream", "npm:3.6.0"],\ ["split-ca", "npm:1.0.1"],\ ["ssh2", "npm:1.11.0"]\ @@ -8994,7 +8992,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["base64id", "npm:2.0.0"],\ ["cookie", "npm:0.4.1"],\ ["cors", "npm:2.8.5"],\ - ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"],\ + ["debug", "virtual:c2bff3e67180802999655a22d390062982690e911b9d9225c258f3b25e7409f3867b2682c16232b77415f560a09d05a95042dc512a5b8c566c42bbbed88b0bbc#npm:4.3.4"],\ ["engine.io-parser", "npm:5.0.4"],\ ["ws", "virtual:b375dcefccef90d9158d5f197a75395cffedb61772e66f2efcf31c6c8e30c82a6423e0d52b091b15b4fa72cda43a09256ed00b6ce89b9cfb14074f087b9c8496#npm:8.11.0"]\ ],\ @@ -9302,7 +9300,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["ajv", "npm:6.12.6"],\ ["chalk", "npm:4.1.2"],\ ["cross-spawn", "npm:7.0.3"],\ - ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"],\ + ["debug", "virtual:c2bff3e67180802999655a22d390062982690e911b9d9225c258f3b25e7409f3867b2682c16232b77415f560a09d05a95042dc512a5b8c566c42bbbed88b0bbc#npm:4.3.4"],\ ["doctrine", "npm:3.0.0"],\ ["enquirer", "npm:2.3.6"],\ ["escape-string-regexp", "npm:4.0.0"],\ @@ -9628,7 +9626,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["eslint-plugin-jsdoc", "virtual:8f25fc90e0fb5fd89843707863857591fa8c52f9f33eadced4bf404b1871d91959f7bb86948ae0e1b53ee94d491ef8fde9c0b58b39c9490c0d0fa6c931945f97#npm:27.1.2"],\ ["@types/eslint", null],\ ["comment-parser", "npm:0.7.6"],\ - ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"],\ + ["debug", "virtual:c2bff3e67180802999655a22d390062982690e911b9d9225c258f3b25e7409f3867b2682c16232b77415f560a09d05a95042dc512a5b8c566c42bbbed88b0bbc#npm:4.3.4"],\ ["eslint", "npm:7.32.0"],\ ["jsdoctypeparser", "npm:6.1.0"],\ ["lodash", "npm:4.17.21"],\ @@ -10999,7 +10997,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [\ ["http-call", "npm:5.3.0"],\ ["content-type", "npm:1.0.4"],\ - ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"],\ + ["debug", "virtual:c2bff3e67180802999655a22d390062982690e911b9d9225c258f3b25e7409f3867b2682c16232b77415f560a09d05a95042dc512a5b8c566c42bbbed88b0bbc#npm:4.3.4"],\ ["is-retry-allowed", "npm:1.2.0"],\ ["is-stream", "npm:2.0.1"],\ ["parse-json", "npm:4.0.0"],\ @@ -11041,7 +11039,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["http-proxy-agent", "npm:4.0.1"],\ ["@tootallnate/once", "npm:1.1.2"],\ ["agent-base", "npm:6.0.2"],\ - ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"]\ + ["debug", "virtual:c2bff3e67180802999655a22d390062982690e911b9d9225c258f3b25e7409f3867b2682c16232b77415f560a09d05a95042dc512a5b8c566c42bbbed88b0bbc#npm:4.3.4"]\ ],\ "linkType": "HARD"\ }],\ @@ -11051,7 +11049,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["http-proxy-agent", "npm:5.0.0"],\ ["@tootallnate/once", "npm:2.0.0"],\ ["agent-base", "npm:6.0.2"],\ - ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"]\ + ["debug", "virtual:c2bff3e67180802999655a22d390062982690e911b9d9225c258f3b25e7409f3867b2682c16232b77415f560a09d05a95042dc512a5b8c566c42bbbed88b0bbc#npm:4.3.4"]\ ],\ "linkType": "HARD"\ }]\ @@ -11082,7 +11080,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [\ ["https-proxy-agent", "npm:5.0.0"],\ ["agent-base", "npm:6.0.2"],\ - ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"]\ + ["debug", "virtual:c2bff3e67180802999655a22d390062982690e911b9d9225c258f3b25e7409f3867b2682c16232b77415f560a09d05a95042dc512a5b8c566c42bbbed88b0bbc#npm:4.3.4"]\ ],\ "linkType": "HARD"\ }]\ @@ -11940,7 +11938,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./.yarn/cache/istanbul-lib-source-maps-npm-4.0.1-af0f859df7-21ad3df45d.zip/node_modules/istanbul-lib-source-maps/",\ "packageDependencies": [\ ["istanbul-lib-source-maps", "npm:4.0.1"],\ - ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"],\ + ["debug", "virtual:c2bff3e67180802999655a22d390062982690e911b9d9225c258f3b25e7409f3867b2682c16232b77415f560a09d05a95042dc512a5b8c566c42bbbed88b0bbc#npm:4.3.4"],\ ["istanbul-lib-coverage", "npm:3.2.0"],\ ["source-map", "npm:0.6.1"]\ ],\ @@ -13013,7 +13011,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [\ ["log4js", "npm:6.6.1"],\ ["date-format", "npm:4.0.13"],\ - ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"],\ + ["debug", "virtual:c2bff3e67180802999655a22d390062982690e911b9d9225c258f3b25e7409f3867b2682c16232b77415f560a09d05a95042dc512a5b8c566c42bbbed88b0bbc#npm:4.3.4"],\ ["flatted", "npm:3.2.7"],\ ["rfdc", "npm:1.3.0"],\ ["streamroller", "npm:3.1.2"]\ @@ -13609,6 +13607,13 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["minipass", "npm:4.2.8"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:5.0.0", {\ + "packageLocation": "./.yarn/cache/minipass-npm-5.0.0-c64fb63c92-425dab2887.zip/node_modules/minipass/",\ + "packageDependencies": [\ + ["minipass", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["minipass-collect", [\ @@ -14785,7 +14790,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageLocation": "./.yarn/cache/p-transform-npm-1.3.0-99cf79f22a-d1e2d6ad75.zip/node_modules/p-transform/",\ "packageDependencies": [\ ["p-transform", "npm:1.3.0"],\ - ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"],\ + ["debug", "virtual:c2bff3e67180802999655a22d390062982690e911b9d9225c258f3b25e7409f3867b2682c16232b77415f560a09d05a95042dc512a5b8c566c42bbbed88b0bbc#npm:4.3.4"],\ ["p-queue", "npm:6.6.2"]\ ],\ "linkType": "HARD"\ @@ -15303,10 +15308,10 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ],\ "linkType": "SOFT"\ }],\ - ["virtual:4e2088ed0df52533102f445d7e7aeba6560b7effa0cabbc7cc20dd1e36a86dd838cc541de4414688f4ce3ec77b0ad5298cea6de581350d934ceb35c3e0fe3462#npm:1.0.1", {\ - "packageLocation": "./.yarn/__virtual__/promise-inflight-virtual-faec2dbb37/0/cache/promise-inflight-npm-1.0.1-5bb925afac-2274948309.zip/node_modules/promise-inflight/",\ + ["virtual:a7e5239c6ae68bf6359adfd3598326db000e94dbb349bc00a3852ed53a31712a0e2e787228c6e859d3e5cf2fbb872aba1ea4abe4995cef8086a77ef619ae1be6#npm:1.0.1", {\ + "packageLocation": "./.yarn/__virtual__/promise-inflight-virtual-b427a57c8f/0/cache/promise-inflight-npm-1.0.1-5bb925afac-2274948309.zip/node_modules/promise-inflight/",\ "packageDependencies": [\ - ["promise-inflight", "virtual:4e2088ed0df52533102f445d7e7aeba6560b7effa0cabbc7cc20dd1e36a86dd838cc541de4414688f4ce3ec77b0ad5298cea6de581350d934ceb35c3e0fe3462#npm:1.0.1"],\ + ["promise-inflight", "virtual:a7e5239c6ae68bf6359adfd3598326db000e94dbb349bc00a3852ed53a31712a0e2e787228c6e859d3e5cf2fbb872aba1ea4abe4995cef8086a77ef619ae1be6#npm:1.0.1"],\ ["@types/bluebird", null],\ ["bluebird", null]\ ],\ @@ -16609,7 +16614,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["socket.io", "npm:4.5.2"],\ ["accepts", "npm:1.3.7"],\ ["base64id", "npm:2.0.0"],\ - ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"],\ + ["debug", "virtual:c2bff3e67180802999655a22d390062982690e911b9d9225c258f3b25e7409f3867b2682c16232b77415f560a09d05a95042dc512a5b8c566c42bbbed88b0bbc#npm:4.3.4"],\ ["engine.io", "npm:6.4.2"],\ ["socket.io-adapter", "npm:2.4.0"],\ ["socket.io-parser", "npm:4.2.3"]\ @@ -16632,7 +16637,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [\ ["socket.io-parser", "npm:4.2.3"],\ ["@socket.io/component-emitter", "npm:3.1.0"],\ - ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"]\ + ["debug", "virtual:c2bff3e67180802999655a22d390062982690e911b9d9225c258f3b25e7409f3867b2682c16232b77415f560a09d05a95042dc512a5b8c566c42bbbed88b0bbc#npm:4.3.4"]\ ],\ "linkType": "HARD"\ }]\ @@ -16663,7 +16668,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [\ ["socks-proxy-agent", "npm:6.1.1"],\ ["agent-base", "npm:6.0.2"],\ - ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"],\ + ["debug", "virtual:c2bff3e67180802999655a22d390062982690e911b9d9225c258f3b25e7409f3867b2682c16232b77415f560a09d05a95042dc512a5b8c566c42bbbed88b0bbc#npm:4.3.4"],\ ["socks", "npm:2.6.1"]\ ],\ "linkType": "HARD"\ @@ -16673,7 +16678,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [\ ["socks-proxy-agent", "npm:7.0.0"],\ ["agent-base", "npm:6.0.2"],\ - ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"],\ + ["debug", "virtual:c2bff3e67180802999655a22d390062982690e911b9d9225c258f3b25e7409f3867b2682c16232b77415f560a09d05a95042dc512a5b8c566c42bbbed88b0bbc#npm:4.3.4"],\ ["socks", "npm:2.7.1"]\ ],\ "linkType": "HARD"\ @@ -16836,7 +16841,8 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["asn1", "npm:0.2.6"],\ ["bcrypt-pbkdf", "npm:1.0.2"],\ ["cpu-features", "https://registry.yarnpkg.com/@favware/skip-dependency/-/skip-dependency-1.2.1.tgz"],\ - ["nan", "npm:2.17.0"]\ + ["nan", "npm:2.17.0"],\ + ["node-gyp", "npm:9.3.1"]\ ],\ "linkType": "HARD"\ }]\ @@ -16917,7 +16923,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { "packageDependencies": [\ ["streamroller", "npm:3.1.2"],\ ["date-format", "npm:4.0.13"],\ - ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"],\ + ["debug", "virtual:c2bff3e67180802999655a22d390062982690e911b9d9225c258f3b25e7409f3867b2682c16232b77415f560a09d05a95042dc512a5b8c566c42bbbed88b0bbc#npm:4.3.4"],\ ["fs-extra", "npm:8.1.0"]\ ],\ "linkType": "HARD"\ @@ -17329,6 +17335,19 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["yallist", "npm:4.0.0"]\ ],\ "linkType": "HARD"\ + }],\ + ["npm:6.1.15", {\ + "packageLocation": "./.yarn/cache/tar-npm-6.1.15-44c3e71720-f23832fcee.zip/node_modules/tar/",\ + "packageDependencies": [\ + ["tar", "npm:6.1.15"],\ + ["chownr", "npm:2.0.0"],\ + ["fs-minipass", "npm:2.1.0"],\ + ["minipass", "npm:5.0.0"],\ + ["minizlib", "npm:2.1.2"],\ + ["mkdirp", "npm:1.0.4"],\ + ["yallist", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ }]\ ]],\ ["tar-fs", [\ @@ -19630,7 +19649,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["cli-table", "npm:0.3.11"],\ ["commander", "npm:7.1.0"],\ ["dateformat", "npm:4.6.3"],\ - ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"],\ + ["debug", "virtual:c2bff3e67180802999655a22d390062982690e911b9d9225c258f3b25e7409f3867b2682c16232b77415f560a09d05a95042dc512a5b8c566c42bbbed88b0bbc#npm:4.3.4"],\ ["diff", "npm:5.0.0"],\ ["error", "npm:10.4.0"],\ ["escape-string-regexp", "npm:4.0.0"],\ @@ -19681,7 +19700,7 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["@types/yeoman-environment", null],\ ["chalk", "npm:4.1.2"],\ ["dargs", "npm:7.0.0"],\ - ["debug", "virtual:ac3d8e680759ce54399273724d44e041d6c9b73454d191d411a8c44bb27e22f02aaf6ed9d3ad0ac1c298eac4833cff369c9c7b84c573016112c4f84be2cd8543#npm:4.3.4"],\ + ["debug", "virtual:c2bff3e67180802999655a22d390062982690e911b9d9225c258f3b25e7409f3867b2682c16232b77415f560a09d05a95042dc512a5b8c566c42bbbed88b0bbc#npm:4.3.4"],\ ["execa", "npm:4.1.0"],\ ["github-username", "npm:6.0.0"],\ ["lodash", "npm:4.17.21"],\ diff --git a/.yarn/cache/minipass-npm-5.0.0-c64fb63c92-425dab2887.zip b/.yarn/cache/minipass-npm-5.0.0-c64fb63c92-425dab2887.zip new file mode 100644 index 00000000000..c49ee93fbbf Binary files /dev/null and b/.yarn/cache/minipass-npm-5.0.0-c64fb63c92-425dab2887.zip differ diff --git a/.yarn/cache/tar-npm-6.1.15-44c3e71720-f23832fcee.zip b/.yarn/cache/tar-npm-6.1.15-44c3e71720-f23832fcee.zip new file mode 100644 index 00000000000..9c2411f9432 Binary files /dev/null and b/.yarn/cache/tar-npm-6.1.15-44c3e71720-f23832fcee.zip differ diff --git a/.yarnrc.yml b/.yarnrc.yml index c5cd00a720e..0e9a6853df9 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -25,6 +25,9 @@ packageExtensions: pino@*: dependencies: pino-pretty: ^4.0.3 + ssh2@*: + dependencies: + node-gyp: ^9.3.1 ts-node@*: dependencies: typescript: ^3.9.5 diff --git a/Dockerfile b/Dockerfile index e776f9b92cc..e0a821f7f64 100644 --- a/Dockerfile +++ b/Dockerfile @@ -57,7 +57,7 @@ RUN apk add --no-cache \ xz \ zeromq-dev -SHELL ["/bin/bash", "-c"] +SHELL ["/bin/bash", "-xc"] ARG TARGETARCH @@ -73,13 +73,6 @@ RUN if [[ "$TARGETARCH" == "arm64" ]] ; then export PROTOC_ARCH=aarch_64; else e rm /tmp/protoc.zip && \ ln -s /opt/protoc/bin/protoc /usr/bin/ -# Install sccache for caching -RUN if [[ "$TARGETARCH" == "arm64" ]] ; then export SCC_ARCH=aarch64; else export SCC_ARCH=x86_64; fi; \ - curl -Ls \ - https://github.com/mozilla/sccache/releases/download/v0.4.1/sccache-v0.4.1-${SCC_ARCH}-unknown-linux-musl.tar.gz | \ - tar -C /tmp -xz && \ - mv /tmp/sccache-*/sccache /usr/bin/ - # Configure Node.js RUN npm install -g npm@9.6.6 && \ npm install -g corepack@latest && \ @@ -89,20 +82,8 @@ RUN npm install -g npm@9.6.6 && \ # Switch to clang RUN rm /usr/bin/cc && ln -s /usr/bin/clang /usr/bin/cc -# -# Configure sccache -# -# Activate sccache for Rust code -ENV RUSTC_WRAPPER=/usr/bin/sccache -# Set args below to use Github Actions cache; see https://github.com/mozilla/sccache/blob/main/docs/GHA.md -ARG SCCACHE_GHA_ENABLED -ARG ACTIONS_CACHE_URL -ARG ACTIONS_RUNTIME_TOKEN -# Alternative solution is to use memcache -ARG SCCACHE_MEMCACHED - -# Disable incremental buildings, not supported by sccache -ARG CARGO_INCREMENTAL=false +# Enable incremental building to benefit from cache mounts +ARG CARGO_INCREMENTAL=true # Select whether we want dev or release ARG CARGO_BUILD_PROFILE=dev @@ -114,15 +95,14 @@ ENV NODE_ENV ${NODE_ENV} # Install wasm-bindgen-cli in the same profile as other components, to sacrifice some performance & disk space to gain # better build caching WORKDIR /platform -RUN --mount=type=cache,sharing=shared,target=/root/.cache/sccache \ - --mount=type=cache,sharing=private,target=${CARGO_HOME}/registry/index \ - --mount=type=cache,sharing=private,target=${CARGO_HOME}/registry/cache \ - --mount=type=cache,sharing=private,target=${CARGO_HOME}/git/db \ - --mount=type=cache,sharing=private,id=target_${TARGETARCH},target=/platform/target \ - export SCCACHE_SERVER_PORT=$((RANDOM+1025)) && \ - if [[ -z "${SCCACHE_MEMCACHED}" ]] ; then unset SCCACHE_MEMCACHED ; fi ; \ + +RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=/usr/local/cargo/registry/index \ + --mount=type=cache,sharing=shared,id=cargo_registry_cache,target=/usr/local/cargo/registry/cache \ + --mount=type=cache,sharing=shared,id=cargo_git,target=/usr/local/cargo/git/db \ + --mount=type=cache,sharing=shared,id=target,target=/platform/target \ export CARGO_TARGET_DIR=/platform/target ; \ - cargo install --profile "${CARGO_BUILD_PROFILE}" wasm-bindgen-cli@0.2.85 && \ + export RUSTFLAGS="-C target-feature=-crt-static" ; \ + cargo install --profile "${CARGO_BUILD_PROFILE}" wasm-bindgen-cli@0.2.86 && \ cargo install --profile "${CARGO_BUILD_PROFILE}" cargo-lock --features=cli # @@ -130,7 +110,6 @@ RUN --mount=type=cache,sharing=shared,target=/root/.cache/sccache \ # FROM deps as sources - WORKDIR /platform COPY . . @@ -145,42 +124,35 @@ RUN yarn config set enableInlineBuilds true FROM sources AS build-drive-abci RUN mkdir /artifacts - -RUN --mount=type=cache,sharing=shared,target=/root/.cache/sccache \ - --mount=type=cache,sharing=private,target=${CARGO_HOME}/registry/index \ - --mount=type=cache,sharing=private,target=${CARGO_HOME}/registry/cache \ - --mount=type=cache,sharing=private,target=${CARGO_HOME}/git/db \ - --mount=type=cache,sharing=private,id=target_${TARGETARCH},target=/platform/target \ - export SCCACHE_SERVER_PORT=$((RANDOM+1025)) && \ - if [[ -z "${SCCACHE_MEMCACHED}" ]] ; then unset SCCACHE_MEMCACHED ; fi ; \ +RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=/usr/local/cargo/registry/index \ + --mount=type=cache,sharing=shared,id=cargo_registry_cache,target=/usr/local/cargo/registry/cache \ + --mount=type=cache,sharing=shared,id=cargo_git,target=/usr/local/cargo/git/db \ + --mount=type=cache,sharing=shared,id=target,target=/platform/target \ cargo build \ - --profile "$CARGO_BUILD_PROFILE" \ - -p drive-abci \ - --config net.git-fetch-with-cli=true && \ - cp /platform/target/*/drive-abci /artifacts/drive-abci && \ - sccache --show-stats + --profile "$CARGO_BUILD_PROFILE" \ + --package drive-abci && \ + cp /platform/target/*/drive-abci /artifacts/drive-abci # # STAGE: BUILD JAVASCRIPT INTERMEDIATE IMAGE # FROM sources AS build-js +# TODO: what this dir for? RUN mkdir /artifacts -RUN --mount=type=cache,sharing=shared,target=/root/.cache/sccache \ - --mount=type=cache,sharing=private,target=${CARGO_HOME}/registry/index \ - --mount=type=cache,sharing=private,target=${CARGO_HOME}/registry/cache \ - --mount=type=cache,sharing=private,target=${CARGO_HOME}/git/db \ - --mount=type=cache,sharing=shared,id=target_wasm_${TARGETARCH},target=/platform/target \ - --mount=type=cache,id=target_unplugged_${TARGETARCH},target=/tmp/unplugged \ +RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=/usr/local/cargo/registry/index \ + --mount=type=cache,sharing=shared,id=cargo_registry_cache,target=/usr/local/cargo/registry/cache \ + --mount=type=cache,sharing=shared,id=cargo_git,target=/usr/local/cargo/git/db \ + --mount=type=cache,sharing=shared,id=target,target=/platform/target \ + --mount=type=cache,sharing=shared,id=unplugged,target=/tmp/unplugged \ cp -R /tmp/unplugged /platform/.yarn/ && \ - export SCCACHE_SERVER_PORT=$((RANDOM+1025)) && \ - if [[ -z "${SCCACHE_MEMCACHED}" ]] ; then unset SCCACHE_MEMCACHED ; fi ; \ + cp /platform/.yarn/unplugged/install-state.gz /platform/.yarn/ || true && \ export SKIP_GRPC_PROTO_BUILD=1 && \ yarn install && \ - yarn build && \ + cp /platform/.yarn/install-state.gz /platform/.yarn/unplugged/ && \ cp -R /platform/.yarn/unplugged /tmp/ && \ - sccache --show-stats + yarn build # # STAGE: FINAL DRIVE-ABCI IMAGE @@ -237,10 +209,7 @@ FROM build-js AS build-dashmate-helper # Install Test Suite specific dependencies using previous # node_modules directory to reuse built binaries -RUN --mount=type=cache,id=target_unplugged_${TARGETARCH},target=/tmp/unplugged \ - cp -R /tmp/unplugged /platform/.yarn/ && \ - yarn workspaces focus --production dashmate && \ - cp -R /platform/.yarn/unplugged /tmp/ +RUN yarn workspaces focus --production dashmate # # STAGE: FINAL DASHMATE HELPER IMAGE @@ -288,10 +257,7 @@ FROM build-js AS build-test-suite # Install Test Suite specific dependencies using previous # node_modules directory to reuse built binaries -RUN --mount=type=cache,id=target_unplugged_${TARGETARCH},target=/tmp/unplugged \ - cp -R /tmp/unplugged /platform/.yarn/ && \ - yarn workspaces focus --production @dashevo/platform-test-suite && \ - cp -R /platform/.yarn/unplugged /tmp/ +RUN yarn workspaces focus --production @dashevo/platform-test-suite # # STAGE: FINAL TEST SUITE IMAGE @@ -349,10 +315,7 @@ FROM build-js AS build-dapi # Install Test Suite specific dependencies using previous # node_modules directory to reuse built binaries -RUN --mount=type=cache,id=target_unplugged_${TARGETARCH},target=/tmp/unplugged \ - cp -R /tmp/unplugged /platform/.yarn/ && \ - yarn workspaces focus --production @dashevo/dapi && \ - cp -R /platform/.yarn/unplugged /tmp/ +RUN yarn workspaces focus --production @dashevo/dapi # # STAGE: FINAL DAPI IMAGE diff --git a/package.json b/package.json index eec41737bc5..e32b12bd865 100644 --- a/package.json +++ b/package.json @@ -78,8 +78,5 @@ "dns-packet": "^5.4.0", "cpu-features": "https://registry.yarnpkg.com/@favware/skip-dependency/-/skip-dependency-1.2.1.tgz", "socket.io-parser": "^4.2.3" - }, - "dependencies": { - "node-gyp": "^9.3.1" } } diff --git a/packages/dapi-grpc/src/.gitignore b/packages/dapi-grpc/src/.gitignore deleted file mode 100644 index fa8ecb8fada..00000000000 --- a/packages/dapi-grpc/src/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -core/proto -platform/proto diff --git a/packages/dapi-grpc/src/core/proto/org.dash.platform.dapi.v0.rs b/packages/dapi-grpc/src/core/proto/org.dash.platform.dapi.v0.rs new file mode 100644 index 00000000000..cec21fb87e8 --- /dev/null +++ b/packages/dapi-grpc/src/core/proto/org.dash.platform.dapi.v0.rs @@ -0,0 +1,378 @@ +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetStatusRequest {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetStatusResponse { + #[prost(message, optional, tag = "1")] + pub version: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub time: ::core::option::Option, + #[prost(enumeration = "get_status_response::Status", tag = "3")] + pub status: i32, + #[prost(double, tag = "4")] + pub sync_progress: f64, + #[prost(message, optional, tag = "5")] + pub chain: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub masternode: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub network: ::core::option::Option, +} +/// Nested message and enum types in `GetStatusResponse`. +pub mod get_status_response { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct Version { + #[prost(uint32, tag = "1")] + pub protocol: u32, + #[prost(uint32, tag = "2")] + pub software: u32, + #[prost(string, tag = "3")] + pub agent: ::prost::alloc::string::String, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct Time { + #[prost(uint32, tag = "1")] + pub now: u32, + #[prost(int32, tag = "2")] + pub offset: i32, + #[prost(uint32, tag = "3")] + pub median: u32, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct Chain { + #[prost(string, tag = "1")] + pub name: ::prost::alloc::string::String, + #[prost(uint32, tag = "2")] + pub headers_count: u32, + #[prost(uint32, tag = "3")] + pub blocks_count: u32, + #[prost(bytes = "vec", tag = "4")] + pub best_block_hash: ::prost::alloc::vec::Vec, + #[prost(double, tag = "5")] + pub difficulty: f64, + #[prost(bytes = "vec", tag = "6")] + pub chain_work: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "7")] + pub is_synced: bool, + #[prost(double, tag = "8")] + pub sync_progress: f64, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct Masternode { + #[prost(enumeration = "masternode::Status", tag = "1")] + pub status: i32, + #[prost(bytes = "vec", tag = "2")] + pub pro_tx_hash: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub pose_penalty: u32, + #[prost(bool, tag = "4")] + pub is_synced: bool, + #[prost(double, tag = "5")] + pub sync_progress: f64, + } + /// Nested message and enum types in `Masternode`. + pub mod masternode { + #[derive( + Clone, + Copy, + Debug, + PartialEq, + Eq, + Hash, + PartialOrd, + Ord, + ::prost::Enumeration + )] + #[repr(i32)] + pub enum Status { + Unknown = 0, + WaitingForProtx = 1, + PoseBanned = 2, + Removed = 3, + OperatorKeyChanged = 4, + ProtxIpChanged = 5, + Ready = 6, + Error = 7, + } + impl Status { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Status::Unknown => "UNKNOWN", + Status::WaitingForProtx => "WAITING_FOR_PROTX", + Status::PoseBanned => "POSE_BANNED", + Status::Removed => "REMOVED", + Status::OperatorKeyChanged => "OPERATOR_KEY_CHANGED", + Status::ProtxIpChanged => "PROTX_IP_CHANGED", + Status::Ready => "READY", + Status::Error => "ERROR", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "UNKNOWN" => Some(Self::Unknown), + "WAITING_FOR_PROTX" => Some(Self::WaitingForProtx), + "POSE_BANNED" => Some(Self::PoseBanned), + "REMOVED" => Some(Self::Removed), + "OPERATOR_KEY_CHANGED" => Some(Self::OperatorKeyChanged), + "PROTX_IP_CHANGED" => Some(Self::ProtxIpChanged), + "READY" => Some(Self::Ready), + "ERROR" => Some(Self::Error), + _ => None, + } + } + } + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct NetworkFee { + #[prost(double, tag = "1")] + pub relay: f64, + #[prost(double, tag = "2")] + pub incremental: f64, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct Network { + #[prost(uint32, tag = "1")] + pub peers_count: u32, + #[prost(message, optional, tag = "2")] + pub fee: ::core::option::Option, + } + #[derive( + Clone, + Copy, + Debug, + PartialEq, + Eq, + Hash, + PartialOrd, + Ord, + ::prost::Enumeration + )] + #[repr(i32)] + pub enum Status { + NotStarted = 0, + Syncing = 1, + Ready = 2, + Error = 3, + } + impl Status { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Status::NotStarted => "NOT_STARTED", + Status::Syncing => "SYNCING", + Status::Ready => "READY", + Status::Error => "ERROR", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "NOT_STARTED" => Some(Self::NotStarted), + "SYNCING" => Some(Self::Syncing), + "READY" => Some(Self::Ready), + "ERROR" => Some(Self::Error), + _ => None, + } + } + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetBlockRequest { + #[prost(oneof = "get_block_request::Block", tags = "1, 2")] + pub block: ::core::option::Option, +} +/// Nested message and enum types in `GetBlockRequest`. +pub mod get_block_request { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Block { + #[prost(uint32, tag = "1")] + Height(u32), + #[prost(string, tag = "2")] + Hash(::prost::alloc::string::String), + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetBlockResponse { + #[prost(bytes = "vec", tag = "1")] + pub block: ::prost::alloc::vec::Vec, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BroadcastTransactionRequest { + #[prost(bytes = "vec", tag = "1")] + pub transaction: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "2")] + pub allow_high_fees: bool, + #[prost(bool, tag = "3")] + pub bypass_limits: bool, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BroadcastTransactionResponse { + #[prost(string, tag = "1")] + pub transaction_id: ::prost::alloc::string::String, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetTransactionRequest { + #[prost(string, tag = "1")] + pub id: ::prost::alloc::string::String, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetTransactionResponse { + #[prost(bytes = "vec", tag = "1")] + pub transaction: ::prost::alloc::vec::Vec, + #[prost(bytes = "vec", tag = "2")] + pub block_hash: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "3")] + pub height: u32, + #[prost(uint32, tag = "4")] + pub confirmations: u32, + #[prost(bool, tag = "5")] + pub is_instant_locked: bool, + #[prost(bool, tag = "6")] + pub is_chain_locked: bool, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BlockHeadersWithChainLocksRequest { + #[prost(uint32, tag = "3")] + pub count: u32, + #[prost(oneof = "block_headers_with_chain_locks_request::FromBlock", tags = "1, 2")] + pub from_block: ::core::option::Option< + block_headers_with_chain_locks_request::FromBlock, + >, +} +/// Nested message and enum types in `BlockHeadersWithChainLocksRequest`. +pub mod block_headers_with_chain_locks_request { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum FromBlock { + #[prost(bytes, tag = "1")] + FromBlockHash(::prost::alloc::vec::Vec), + #[prost(uint32, tag = "2")] + FromBlockHeight(u32), + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BlockHeadersWithChainLocksResponse { + #[prost(oneof = "block_headers_with_chain_locks_response::Responses", tags = "1, 2")] + pub responses: ::core::option::Option< + block_headers_with_chain_locks_response::Responses, + >, +} +/// Nested message and enum types in `BlockHeadersWithChainLocksResponse`. +pub mod block_headers_with_chain_locks_response { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Responses { + #[prost(message, tag = "1")] + BlockHeaders(super::BlockHeaders), + #[prost(bytes, tag = "2")] + ChainLock(::prost::alloc::vec::Vec), + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BlockHeaders { + #[prost(bytes = "vec", repeated, tag = "1")] + pub headers: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetEstimatedTransactionFeeRequest { + #[prost(uint32, tag = "1")] + pub blocks: u32, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetEstimatedTransactionFeeResponse { + #[prost(double, tag = "1")] + pub fee: f64, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TransactionsWithProofsRequest { + #[prost(message, optional, tag = "1")] + pub bloom_filter: ::core::option::Option, + #[prost(uint32, tag = "4")] + pub count: u32, + #[prost(bool, tag = "5")] + pub send_transaction_hashes: bool, + #[prost(oneof = "transactions_with_proofs_request::FromBlock", tags = "2, 3")] + pub from_block: ::core::option::Option, +} +/// Nested message and enum types in `TransactionsWithProofsRequest`. +pub mod transactions_with_proofs_request { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum FromBlock { + #[prost(bytes, tag = "2")] + FromBlockHash(::prost::alloc::vec::Vec), + #[prost(uint32, tag = "3")] + FromBlockHeight(u32), + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BloomFilter { + #[prost(bytes = "vec", tag = "1")] + pub v_data: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "2")] + pub n_hash_funcs: u32, + #[prost(uint32, tag = "3")] + pub n_tweak: u32, + #[prost(uint32, tag = "4")] + pub n_flags: u32, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TransactionsWithProofsResponse { + #[prost(oneof = "transactions_with_proofs_response::Responses", tags = "1, 2, 3")] + pub responses: ::core::option::Option, +} +/// Nested message and enum types in `TransactionsWithProofsResponse`. +pub mod transactions_with_proofs_response { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Responses { + #[prost(message, tag = "1")] + RawTransactions(super::RawTransactions), + #[prost(message, tag = "2")] + InstantSendLockMessages(super::InstantSendLockMessages), + #[prost(bytes, tag = "3")] + RawMerkleBlock(::prost::alloc::vec::Vec), + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RawTransactions { + #[prost(bytes = "vec", repeated, tag = "1")] + pub transactions: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct InstantSendLockMessages { + #[prost(bytes = "vec", repeated, tag = "1")] + pub messages: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, +} diff --git a/packages/dapi-grpc/src/platform/proto/org.dash.platform.dapi.v0.rs b/packages/dapi-grpc/src/platform/proto/org.dash.platform.dapi.v0.rs new file mode 100644 index 00000000000..4cf1ac541a3 --- /dev/null +++ b/packages/dapi-grpc/src/platform/proto/org.dash.platform.dapi.v0.rs @@ -0,0 +1,717 @@ +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Proof { + #[prost(bytes = "vec", tag = "1")] + pub grovedb_proof: ::prost::alloc::vec::Vec, + #[prost(bytes = "vec", tag = "2")] + pub quorum_hash: ::prost::alloc::vec::Vec, + #[prost(bytes = "vec", tag = "3")] + pub signature: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "4")] + pub round: u32, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ResponseMetadata { + #[prost(uint64, tag = "1")] + pub height: u64, + #[prost(uint32, tag = "2")] + pub core_chain_locked_height: u32, + #[prost(uint64, tag = "3")] + pub time_ms: u64, + #[prost(uint32, tag = "4")] + pub protocol_version: u32, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct StateTransitionBroadcastError { + #[prost(uint32, tag = "1")] + pub code: u32, + #[prost(string, tag = "2")] + pub message: ::prost::alloc::string::String, + #[prost(bytes = "vec", tag = "3")] + pub data: ::prost::alloc::vec::Vec, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BroadcastStateTransitionRequest { + #[prost(bytes = "vec", tag = "1")] + pub state_transition: ::prost::alloc::vec::Vec, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BroadcastStateTransitionResponse {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetIdentityRequest { + #[prost(bytes = "vec", tag = "1")] + pub id: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "2")] + pub prove: bool, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetIdentityResponse { + #[prost(bytes = "vec", tag = "1")] + pub identity: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "2")] + pub proof: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub metadata: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetIdentitiesRequest { + #[prost(bytes = "vec", repeated, tag = "1")] + pub ids: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, + #[prost(bool, tag = "2")] + pub prove: bool, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetIdentitiesResponse { + #[prost(message, optional, tag = "3")] + pub metadata: ::core::option::Option, + #[prost(oneof = "get_identities_response::Result", tags = "1, 2")] + pub result: ::core::option::Option, +} +/// Nested message and enum types in `GetIdentitiesResponse`. +pub mod get_identities_response { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct IdentityValue { + #[prost(bytes = "vec", tag = "1")] + pub value: ::prost::alloc::vec::Vec, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct IdentityEntry { + #[prost(bytes = "vec", tag = "1")] + pub key: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "2")] + pub value: ::core::option::Option, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct Identities { + #[prost(message, repeated, tag = "1")] + pub identity_entries: ::prost::alloc::vec::Vec, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Result { + #[prost(message, tag = "1")] + Identities(Identities), + #[prost(message, tag = "2")] + Proof(super::Proof), + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetIdentityBalanceResponse { + #[prost(message, optional, tag = "1")] + pub balance: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub proof: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub metadata: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetIdentityBalanceAndRevisionResponse { + #[prost(message, optional, tag = "1")] + pub balance: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub revision: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub proof: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub metadata: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct KeyRequestType { + #[prost(oneof = "key_request_type::Request", tags = "1, 2, 3")] + pub request: ::core::option::Option, +} +/// Nested message and enum types in `KeyRequestType`. +pub mod key_request_type { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Request { + #[prost(message, tag = "1")] + AllKeys(super::AllKeys), + #[prost(message, tag = "2")] + SpecificKeys(super::SpecificKeys), + #[prost(message, tag = "3")] + SearchKey(super::SearchKey), + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AllKeys {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SpecificKeys { + #[prost(uint32, repeated, tag = "1")] + pub key_ids: ::prost::alloc::vec::Vec, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SearchKey { + #[prost(map = "uint32, message", tag = "1")] + pub purpose_map: ::std::collections::HashMap, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SecurityLevelMap { + #[prost( + map = "uint32, enumeration(security_level_map::KeyKindRequestType)", + tag = "1" + )] + pub security_level_map: ::std::collections::HashMap, +} +/// Nested message and enum types in `SecurityLevelMap`. +pub mod security_level_map { + #[derive( + Clone, + Copy, + Debug, + PartialEq, + Eq, + Hash, + PartialOrd, + Ord, + ::prost::Enumeration + )] + #[repr(i32)] + pub enum KeyKindRequestType { + CurrentKeyOfKindRequest = 0, + AllKeysOfKindRequest = 1, + } + impl KeyKindRequestType { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + KeyKindRequestType::CurrentKeyOfKindRequest => { + "CURRENT_KEY_OF_KIND_REQUEST" + } + KeyKindRequestType::AllKeysOfKindRequest => "ALL_KEYS_OF_KIND_REQUEST", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CURRENT_KEY_OF_KIND_REQUEST" => Some(Self::CurrentKeyOfKindRequest), + "ALL_KEYS_OF_KIND_REQUEST" => Some(Self::AllKeysOfKindRequest), + _ => None, + } + } + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetIdentityKeysRequest { + #[prost(bytes = "vec", tag = "1")] + pub identity_id: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "2")] + pub request_type: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub limit: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub offset: ::core::option::Option, + #[prost(bool, tag = "5")] + pub prove: bool, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetIdentityKeysResponse { + #[prost(message, optional, tag = "3")] + pub metadata: ::core::option::Option, + #[prost(oneof = "get_identity_keys_response::Result", tags = "1, 2")] + pub result: ::core::option::Option, +} +/// Nested message and enum types in `GetIdentityKeysResponse`. +pub mod get_identity_keys_response { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct Keys { + #[prost(bytes = "vec", repeated, tag = "1")] + pub keys_bytes: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Result { + #[prost(message, tag = "1")] + Keys(Keys), + #[prost(message, tag = "2")] + Proof(super::Proof), + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetIdentitiesKeysRequest { + #[prost(bytes = "vec", repeated, tag = "1")] + pub identity_ids: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, + #[prost(message, optional, tag = "2")] + pub request_type: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub limit: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub offset: ::core::option::Option, + #[prost(bool, tag = "5")] + pub prove: bool, +} +/// Nested message and enum types in `GetIdentitiesKeysRequest`. +pub mod get_identities_keys_request { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct SecurityLevelMap { + #[prost( + map = "uint32, enumeration(security_level_map::KeyKindRequestType)", + tag = "1" + )] + pub security_level_map: ::std::collections::HashMap, + } + /// Nested message and enum types in `SecurityLevelMap`. + pub mod security_level_map { + #[derive( + Clone, + Copy, + Debug, + PartialEq, + Eq, + Hash, + PartialOrd, + Ord, + ::prost::Enumeration + )] + #[repr(i32)] + pub enum KeyKindRequestType { + CurrentKeyOfKindRequest = 0, + } + impl KeyKindRequestType { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + KeyKindRequestType::CurrentKeyOfKindRequest => { + "CURRENT_KEY_OF_KIND_REQUEST" + } + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CURRENT_KEY_OF_KIND_REQUEST" => Some(Self::CurrentKeyOfKindRequest), + _ => None, + } + } + } + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetIdentitiesKeysResponse { + #[prost(message, optional, tag = "3")] + pub metadata: ::core::option::Option, + #[prost(oneof = "get_identities_keys_response::Result", tags = "1, 2")] + pub result: ::core::option::Option, +} +/// Nested message and enum types in `GetIdentitiesKeysResponse`. +pub mod get_identities_keys_response { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct PublicKey { + #[prost(bytes = "vec", tag = "1")] + pub value: ::prost::alloc::vec::Vec, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct PublicKeyEntry { + #[prost(bytes = "vec", tag = "1")] + pub key: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "2")] + pub value: ::core::option::Option, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct PublicKeyEntries { + #[prost(message, repeated, tag = "1")] + pub public_key_entries: ::prost::alloc::vec::Vec, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Result { + #[prost(message, tag = "1")] + PublicKeys(PublicKeyEntries), + #[prost(message, tag = "2")] + Proof(super::Proof), + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetProofsRequest { + #[prost(message, repeated, tag = "1")] + pub identities: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "2")] + pub contracts: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub documents: ::prost::alloc::vec::Vec, +} +/// Nested message and enum types in `GetProofsRequest`. +pub mod get_proofs_request { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct DocumentRequest { + #[prost(bytes = "vec", tag = "1")] + pub contract_id: ::prost::alloc::vec::Vec, + #[prost(string, tag = "2")] + pub document_type: ::prost::alloc::string::String, + #[prost(bool, tag = "3")] + pub document_type_keeps_history: bool, + #[prost(bytes = "vec", tag = "4")] + pub document_id: ::prost::alloc::vec::Vec, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct IdentityRequest { + #[prost(bytes = "vec", tag = "1")] + pub identity_id: ::prost::alloc::vec::Vec, + #[prost(enumeration = "identity_request::Type", tag = "2")] + pub request_type: i32, + } + /// Nested message and enum types in `IdentityRequest`. + pub mod identity_request { + #[derive( + Clone, + Copy, + Debug, + PartialEq, + Eq, + Hash, + PartialOrd, + Ord, + ::prost::Enumeration + )] + #[repr(i32)] + pub enum Type { + FullIdentity = 0, + Balance = 1, + Keys = 2, + } + impl Type { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Type::FullIdentity => "FULL_IDENTITY", + Type::Balance => "BALANCE", + Type::Keys => "KEYS", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "FULL_IDENTITY" => Some(Self::FullIdentity), + "BALANCE" => Some(Self::Balance), + "KEYS" => Some(Self::Keys), + _ => None, + } + } + } + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct ContractRequest { + #[prost(bytes = "vec", tag = "1")] + pub contract_id: ::prost::alloc::vec::Vec, + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetProofsResponse { + #[prost(message, optional, tag = "1")] + pub proof: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub metadata: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetDataContractRequest { + #[prost(bytes = "vec", tag = "1")] + pub id: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "2")] + pub prove: bool, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetDataContractResponse { + #[prost(bytes = "vec", tag = "1")] + pub data_contract: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "2")] + pub proof: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub metadata: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetDataContractsRequest { + #[prost(bytes = "vec", repeated, tag = "1")] + pub ids: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, + #[prost(bool, tag = "2")] + pub prove: bool, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetDataContractsResponse { + #[prost(message, optional, tag = "3")] + pub metadata: ::core::option::Option, + #[prost(oneof = "get_data_contracts_response::Result", tags = "1, 2")] + pub result: ::core::option::Option, +} +/// Nested message and enum types in `GetDataContractsResponse`. +pub mod get_data_contracts_response { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct DataContractValue { + #[prost(bytes = "vec", tag = "1")] + pub value: ::prost::alloc::vec::Vec, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct DataContractEntry { + #[prost(bytes = "vec", tag = "1")] + pub key: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "2")] + pub value: ::core::option::Option, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct DataContracts { + #[prost(message, repeated, tag = "1")] + pub data_contract_entries: ::prost::alloc::vec::Vec, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Result { + #[prost(message, tag = "1")] + DataContracts(DataContracts), + #[prost(message, tag = "2")] + Proof(super::Proof), + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetDataContractHistoryRequest { + #[prost(bytes = "vec", tag = "1")] + pub id: ::prost::alloc::vec::Vec, + #[prost(uint32, optional, tag = "2")] + pub limit: ::core::option::Option, + #[prost(uint32, optional, tag = "3")] + pub offset: ::core::option::Option, + #[prost(uint64, optional, tag = "4")] + pub start_at_seconds: ::core::option::Option, + #[prost(bool, tag = "5")] + pub prove: bool, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetDataContractHistoryResponse { + #[prost(message, optional, tag = "3")] + pub metadata: ::core::option::Option, + #[prost(oneof = "get_data_contract_history_response::Result", tags = "1, 2")] + pub result: ::core::option::Option, +} +/// Nested message and enum types in `GetDataContractHistoryResponse`. +pub mod get_data_contract_history_response { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct DataContractValue { + #[prost(bytes = "vec", tag = "1")] + pub value: ::prost::alloc::vec::Vec, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct DataContractHistoryEntry { + #[prost(uint64, tag = "1")] + pub date: u64, + #[prost(message, optional, tag = "2")] + pub value: ::core::option::Option, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct DataContractHistory { + #[prost(message, repeated, tag = "1")] + pub data_contract_entries: ::prost::alloc::vec::Vec, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Result { + #[prost(message, tag = "1")] + DataContractHistory(DataContractHistory), + #[prost(message, tag = "2")] + Proof(super::Proof), + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetDocumentsRequest { + #[prost(bytes = "vec", tag = "1")] + pub data_contract_id: ::prost::alloc::vec::Vec, + #[prost(string, tag = "2")] + pub document_type: ::prost::alloc::string::String, + #[prost(bytes = "vec", tag = "3")] + pub r#where: ::prost::alloc::vec::Vec, + #[prost(bytes = "vec", tag = "4")] + pub order_by: ::prost::alloc::vec::Vec, + #[prost(uint32, tag = "5")] + pub limit: u32, + #[prost(bool, tag = "8")] + pub prove: bool, + #[prost(oneof = "get_documents_request::Start", tags = "6, 7")] + pub start: ::core::option::Option, +} +/// Nested message and enum types in `GetDocumentsRequest`. +pub mod get_documents_request { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Start { + #[prost(bytes, tag = "6")] + StartAfter(::prost::alloc::vec::Vec), + #[prost(bytes, tag = "7")] + StartAt(::prost::alloc::vec::Vec), + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetDocumentsResponse { + #[prost(bytes = "vec", repeated, tag = "1")] + pub documents: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, + #[prost(message, optional, tag = "2")] + pub proof: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub metadata: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetIdentitiesByPublicKeyHashesRequest { + #[prost(bytes = "vec", repeated, tag = "1")] + pub public_key_hashes: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, + #[prost(bool, tag = "2")] + pub prove: bool, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetIdentitiesByPublicKeyHashesResponse { + #[prost(bytes = "vec", repeated, tag = "1")] + pub identities: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, + #[prost(message, optional, tag = "2")] + pub proof: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub metadata: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetIdentityByPublicKeyHashesRequest { + #[prost(bytes = "vec", tag = "1")] + pub public_key_hash: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "2")] + pub prove: bool, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetIdentityByPublicKeyHashesResponse { + #[prost(message, optional, tag = "3")] + pub metadata: ::core::option::Option, + #[prost(oneof = "get_identity_by_public_key_hashes_response::Result", tags = "1, 2")] + pub result: ::core::option::Option< + get_identity_by_public_key_hashes_response::Result, + >, +} +/// Nested message and enum types in `GetIdentityByPublicKeyHashesResponse`. +pub mod get_identity_by_public_key_hashes_response { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Result { + #[prost(bytes, tag = "1")] + Identity(::prost::alloc::vec::Vec), + #[prost(message, tag = "2")] + Proof(super::Proof), + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct WaitForStateTransitionResultRequest { + #[prost(bytes = "vec", tag = "1")] + pub state_transition_hash: ::prost::alloc::vec::Vec, + #[prost(bool, tag = "2")] + pub prove: bool, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct WaitForStateTransitionResultResponse { + #[prost(message, optional, tag = "3")] + pub metadata: ::core::option::Option, + #[prost( + oneof = "wait_for_state_transition_result_response::Responses", + tags = "1, 2" + )] + pub responses: ::core::option::Option< + wait_for_state_transition_result_response::Responses, + >, +} +/// Nested message and enum types in `WaitForStateTransitionResultResponse`. +pub mod wait_for_state_transition_result_response { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Responses { + #[prost(message, tag = "1")] + Error(super::StateTransitionBroadcastError), + #[prost(message, tag = "2")] + Proof(super::Proof), + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConsensusParamsBlock { + #[prost(string, tag = "1")] + pub max_bytes: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub max_gas: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub time_iota_ms: ::prost::alloc::string::String, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConsensusParamsEvidence { + #[prost(string, tag = "1")] + pub max_age_num_blocks: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub max_age_duration: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub max_bytes: ::prost::alloc::string::String, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetConsensusParamsRequest { + #[prost(int64, tag = "1")] + pub height: i64, + #[prost(bool, tag = "2")] + pub prove: bool, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetConsensusParamsResponse { + #[prost(message, optional, tag = "1")] + pub block: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub evidence: ::core::option::Option, +} diff --git a/packages/dashmate/docker-compose.platform.build.yml b/packages/dashmate/docker-compose.platform.build.yml index b4964dc7bbe..0b7b6a44188 100644 --- a/packages/dashmate/docker-compose.platform.build.yml +++ b/packages/dashmate/docker-compose.platform.build.yml @@ -9,8 +9,11 @@ services: args: SCCACHE_MEMCACHED: ${SCCACHE_MEMCACHED} SCCACHE_GHA_ENABLED: ${SCCACHE_GHA_ENABLED} + SCCACHE_BUCKET: ${SCCACHE_BUCKET} ACTIONS_CACHE_URL: ${ACTIONS_CACHE_URL} ACTIONS_RUNTIME_TOKEN: ${ACTIONS_RUNTIME_TOKEN} + cache_from: + - "type=s3,region=eu-west-1,bucket=platform-runner-cache,name=cache-image" image: drive:local stop_grace_period: 30s diff --git a/yarn.lock b/yarn.lock index 4c66d991bbf..e4fd91358e9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1821,7 +1821,6 @@ __metadata: add-stream: ^1.0.0 conventional-changelog: ^3.1.24 conventional-changelog-dash: "github:dashevo/conventional-changelog-dash" - node-gyp: ^9.3.1 semver: ^7.3.2 tempfile: ^3.0.0 ultra-runner: ^3.10.5 @@ -10738,6 +10737,13 @@ fsevents@~2.3.2: languageName: node linkType: hard +"minipass@npm:^5.0.0": + version: 5.0.0 + resolution: "minipass@npm:5.0.0" + checksum: 425dab288738853fded43da3314a0b5c035844d6f3097a8e3b5b29b328da8f3c1af6fc70618b32c29ff906284cf6406b6841376f21caaadd0793c1d5a6a620ea + languageName: node + linkType: hard + "minizlib@npm:^2.0.0, minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": version: 2.1.2 resolution: "minizlib@npm:2.1.2" @@ -14045,7 +14051,7 @@ fsevents@~2.3.2: languageName: node linkType: hard -"tar@npm:^6.0.5, tar@npm:^6.1.11": +"tar@npm:^6.0.5": version: 6.1.13 resolution: "tar@npm:6.1.13" dependencies: @@ -14059,6 +14065,20 @@ fsevents@~2.3.2: languageName: node linkType: hard +"tar@npm:^6.1.11": + version: 6.1.15 + resolution: "tar@npm:6.1.15" + dependencies: + chownr: ^2.0.0 + fs-minipass: ^2.0.0 + minipass: ^5.0.0 + minizlib: ^2.1.1 + mkdirp: ^1.0.3 + yallist: ^4.0.0 + checksum: f23832fceeba7578bf31907aac744ae21e74a66f4a17a9e94507acf460e48f6db598c7023882db33bab75b80e027c21f276d405e4a0322d58f51c7088d428268 + languageName: node + linkType: hard + "temp-dir@npm:^2.0.0": version: 2.0.0 resolution: "temp-dir@npm:2.0.0"