From 0bba0265eeb8dcd17a973a218fc8a81bdd3725c7 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Wed, 13 Nov 2024 18:23:19 +0700 Subject: [PATCH 01/40] ci: fix docker cache mounts --- .github/actions/docker/action.yaml | 93 ++++++++++++++++++++++++------ 1 file changed, 74 insertions(+), 19 deletions(-) diff --git a/.github/actions/docker/action.yaml b/.github/actions/docker/action.yaml index d41ebf4dcfc..542ca640757 100644 --- a/.github/actions/docker/action.yaml +++ b/.github/actions/docker/action.yaml @@ -22,12 +22,6 @@ inputs: description: User name to use when pushing images to Docker Hub dockerhub_token: description: Docker Hub token to use - cache_mounts: - description: Load cache mounts cache - default: | - cargo_registry_index - cargo_registry_cache - cargo_git cargo_profile: description: Cargo build profile, i.e release or dev default: dev @@ -69,12 +63,12 @@ runs: [worker.oci] gc = false - - name: Load Docker mount cache - uses: dcginfra/buildkit-cache-dance/inject@s5cmd - if: ${{ inputs.cache_mounts != '' }} - with: - bucket: ${{ inputs.bucket }} - mounts: ${{ inputs.cache_mounts }} + # - name: Load Docker mount cache + # uses: dcginfra/buildkit-cache-dance/inject@s5cmd + # if: ${{ inputs.cache_mounts != '' }} + # with: + # bucket: ${{ inputs.bucket }} + # mounts: ${{ inputs.cache_mounts }} - name: Set Docker tags and labels from image tag id: docker_meta @@ -92,14 +86,75 @@ runs: name: ${{ inputs.image_name }} bucket: ${{ inputs.bucket }} + - name: Cargo cache for Docker + uses: actions/cache@v4 + id: cargo-cache + with: + path: | + ../cargo-cache-registry-index + ../cargo-cache-registry-cache + ../cargo-cache-git-db + key: ${{ runner.os }}-cargo-${{ hashFiles('Cargo.lock') }} + restore-keys: | + - ${{ runner.os }}-cargo- + + - name: Inject cargo cache into docker + uses: reproducible-containers/buildkit-cache-dance@v3.1.2 + with: + cache-map: | + { + "../cargo-cache-registry-index": { + "target": "/root/.cargo/registry/index", + "id": "cargo_registry_index" + }, + "../cargo-cache-registry-cache": { + "target": "/root/.cargo/registry/cache", + "id": "cargo_registry_cache" + }, + "../cargo-cache-git-db": { + "target": "/root/.cargo/git/db", + "id": "cargo_git" + } + } + skip-extraction: ${{ steps.cargo-cache.outputs.cache-hit }} + + - name: Yarn unplugged cache for Docker + uses: actions/cache@v4 + id: yarn-cache + with: + path: ../yarn-unplugged-cache + key: ${{ inputs.platform }}-yarn-unplugged-${{ hashFiles('yarn.lock') }} + restore-keys: | + - ${{ inputs.platform }}-yarn-unplugged- + + - name: Set arch + id: arch + uses: actions/github-script@v6 + with: + result-encoding: 'string' + script: return '${{ inputs.platform }}'.replace('linux/', ''); + + - name: Inject cargo cache into docker + uses: reproducible-containers/buildkit-cache-dance@v3.1.2 + with: + cache-map: | + { + "../yarn-unplugged-cache": { + "target": "/tmp/unplugged", + "id": "unplugged_${{ steps.arch.outputs.result }}" + } + } + skip-extraction: ${{ steps.yarn-cache.outputs.cache-hit }} + - name: Build and push Docker image ${{ inputs.image }} id: docker_build - uses: docker/build-push-action@v5 + uses: docker/build-push-action@v6 with: context: . builder: ${{ steps.buildx.outputs.name }} target: ${{ inputs.target }} labels: ${{ steps.docker_meta.outputs.labels }} + push: ${{ inputs.push_tags }} tags: ${{ inputs.push_tags == 'true' && steps.docker_meta.outputs.tags || '' }} platforms: ${{ inputs.platform }} build-args: | @@ -114,9 +169,9 @@ runs: cache-to: ${{ steps.layer_cache_settings.outputs.cache_to }} outputs: type=image,name=${{ inputs.image_org }}/${{ inputs.image_name }},push-by-digest=${{ inputs.push_tags != 'true' }},name-canonical=true,push=true - - name: Save Docker mount cache - uses: dcginfra/buildkit-cache-dance/extract@s5cmd - if: ${{ inputs.cache_mounts != '' }} - with: - bucket: ${{ inputs.bucket }} - mounts: ${{ inputs.cache_mounts }} +# - name: Save Docker mount cache +# uses: dcginfra/buildkit-cache-dance/extract@s5cmd +# if: ${{ inputs.cache_mounts != '' }} +# with: +# bucket: ${{ inputs.bucket }} +# mounts: ${{ inputs.cache_mounts }} From 4124bc31c26cb03dc3ee2c9c811b7b95d4d52bd5 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Wed, 13 Nov 2024 22:18:17 +0700 Subject: [PATCH 02/40] ci: switch more to gha --- .github/actions/docker/action.yaml | 40 ++++++++----- .github/actions/librocksdb/action.yaml | 16 ++++-- .github/actions/local-network/action.yaml | 47 +++++++++++---- .github/actions/nodejs/action.yaml | 17 ++++-- .github/actions/rust/action.yaml | 22 +++++-- .github/workflows/release.yml | 42 +++++++++++--- .github/workflows/tests-build-js.yml | 32 ++++++++--- .github/workflows/tests-codeql.yml | 13 ++++- .github/workflows/tests-dashmate.yml | 34 ++++++++--- .github/workflows/tests-js-package.yml | 26 +++++++-- .github/workflows/tests-rs-package.yml | 70 ++++++++++++++++++----- 11 files changed, 272 insertions(+), 87 deletions(-) diff --git a/.github/actions/docker/action.yaml b/.github/actions/docker/action.yaml index 48b71dc5b08..886cfca8e0c 100644 --- a/.github/actions/docker/action.yaml +++ b/.github/actions/docker/action.yaml @@ -79,12 +79,12 @@ runs: type=semver,pattern={{version}},value=${{inputs.image_version}},enable=${{ inputs.image_version != '' }} type=sha,format=long,enable=${{ inputs.image_version == '' }} - - name: Configure docker layer cache - uses: ./.github/actions/s3-layer-cache-settings - id: layer_cache_settings - with: - name: ${{ inputs.image_name }} - bucket: ${{ inputs.bucket }} +# - name: Configure docker layer cache +# uses: ./.github/actions/s3-layer-cache-settings +# id: layer_cache_settings +# with: +# name: ${{ inputs.image_name }} +# bucket: ${{ inputs.bucket }} - name: Cargo cache for Docker uses: actions/cache@v4 @@ -146,6 +146,13 @@ runs: } skip-extraction: ${{ steps.yarn-cache.outputs.cache-hit }} + - name: Export actions cache vars + uses: actions/github-script@v7 + with: + script: | + core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); + core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); + - name: Build and push Docker image ${{ inputs.image }} id: docker_build uses: docker/build-push-action@v6 @@ -160,14 +167,19 @@ runs: build-args: | CARGO_BUILD_PROFILE=${{ inputs.cargo_profile }} RUSTC_WRAPPER=sccache - SCCACHE_BUCKET=${{ inputs.bucket }} - SCCACHE_REGION=${{ inputs.region }} - SCCACHE_S3_KEY_PREFIX=${{ runner.os }}/sccache - AWS_ACCESS_KEY_ID=${{ inputs.aws_access_key_id }} - AWS_SECRET_ACCESS_KEY=${{ inputs.aws_secret_access_key }} - AWS_REGION=${{ inputs.region }} - cache-from: ${{ steps.layer_cache_settings.outputs.cache_from }} - cache-to: ${{ steps.layer_cache_settings.outputs.cache_to }} + SCCACHE_GHA_ENABLED=true + ACTIONS_CACHE_URL=${{ env.ACTIONS_CACHE_URL }} + ACTIONS_RUNTIME_TOKEN=${{ env.ACTIONS_RUNTIME_TOKEN }} +# SCCACHE_BUCKET=${{ inputs.bucket }} +# SCCACHE_REGION=${{ inputs.region }} +# SCCACHE_S3_KEY_PREFIX=${{ runner.os }}/sccache +# AWS_ACCESS_KEY_ID=${{ inputs.aws_access_key_id }} +# AWS_SECRET_ACCESS_KEY=${{ inputs.aws_secret_access_key }} +# AWS_REGION=${{ inputs.region }} +# cache-from: ${{ steps.layer_cache_settings.outputs.cache_from }} +# cache-to: ${{ steps.layer_cache_settings.outputs.cache_to }} + cache-from: type=gha + cache-to: type=gha,mode=max outputs: type=image,name=${{ inputs.image_org }}/${{ inputs.image_name }},push-by-digest=${{ inputs.push_tags != 'true' }},name-canonical=true,push=true # - name: Save Docker mount cache diff --git a/.github/actions/librocksdb/action.yaml b/.github/actions/librocksdb/action.yaml index 895185f43dd..9c58ecc6688 100644 --- a/.github/actions/librocksdb/action.yaml +++ b/.github/actions/librocksdb/action.yaml @@ -22,13 +22,19 @@ runs: using: composite steps: # Cache librocksdb using s3 bucket - - name: Restore cached librocksdb from S3 - id: librocksdb-cache - uses: strophy/actions-cache@opendal-update +# - name: Restore cached librocksdb from S3 +# id: librocksdb-cache +# uses: strophy/actions-cache@opendal-update +# with: +# bucket: ${{ inputs.bucket }} +# path: /opt/rocksdb +# key: librocksdb/${{ inputs.version }}/${{ runner.os }}/${{ runner.arch }} + + - name: Restore cached librocksdb + uses: actions/cache@v4 with: - bucket: ${{ inputs.bucket }} - path: /opt/rocksdb key: librocksdb/${{ inputs.version }}/${{ runner.os }}/${{ runner.arch }} + path: /opt/rocksdb - if: ${{ steps.librocksdb-cache.outputs.cache-hit != 'true' || inputs.force == 'true' }} shell: bash diff --git a/.github/actions/local-network/action.yaml b/.github/actions/local-network/action.yaml index 42b16723666..7fdf99a574e 100644 --- a/.github/actions/local-network/action.yaml +++ b/.github/actions/local-network/action.yaml @@ -11,13 +11,20 @@ runs: - name: Setup Node.JS uses: ./.github/actions/nodejs +# - name: Restore JS build artifacts +# uses: strophy/actions-cache@opendal-update +# with: +# bucket: multi-runner-cache-x1xibo9c +# root: actions-cache +# path: build-js-artifacts-${{ github.sha }}.tar +# key: build-js-artifacts/${{ github.sha }} + - name: Restore JS build artifacts - uses: strophy/actions-cache@opendal-update + uses: actions/cache/restore@v4 with: - bucket: multi-runner-cache-x1xibo9c - root: actions-cache + key: build-js-artifacts-${{ github.sha }} path: build-js-artifacts-${{ github.sha }}.tar - key: build-js-artifacts/${{ github.sha }} + fail-on-cache-miss: 'true' - name: Unpack JS build artifacts archive shell: bash @@ -33,12 +40,22 @@ runs: run: echo "HOME=$HOME" >> $GITHUB_ENV # TODO: Use upload artifacts action instead +# - name: Restore local network data +# id: local-network-data +# uses: strophy/actions-cache/restore@opendal-update +# with: +# bucket: multi-runner-cache-x1xibo9c +# root: local-network-data +# path: | +# ${{ env.HOME }}/.dashmate +# **/.env +# dashmate_volumes_dump +# key: local-network-volumes/${{ steps.dashmate-fingerprint.outputs.sha }} + - name: Restore local network data id: local-network-data - uses: strophy/actions-cache/restore@opendal-update + uses: actions/cache/restore@v4 with: - bucket: multi-runner-cache-x1xibo9c - root: local-network-data path: | ${{ env.HOME }}/.dashmate **/.env @@ -71,11 +88,21 @@ runs: shell: bash if: steps.local-network-data.outputs.cache-hit != 'true' +# - name: Save local network data +# uses: strophy/actions-cache/save@opendal-update +# with: +# bucket: multi-runner-cache-x1xibo9c +# root: local-network-data +# path: | +# ${{ env.HOME }}/.dashmate +# **/.env +# dashmate_volumes_dump +# key: local-network-volumes/${{ steps.dashmate-fingerprint.outputs.sha }} +# if: steps.local-network-data.outputs.cache-hit != 'true' + - name: Save local network data - uses: strophy/actions-cache/save@opendal-update + uses: actions/cache/save@v4 with: - bucket: multi-runner-cache-x1xibo9c - root: local-network-data path: | ${{ env.HOME }}/.dashmate **/.env diff --git a/.github/actions/nodejs/action.yaml b/.github/actions/nodejs/action.yaml index 7cb41d5955e..77db80a9ed9 100644 --- a/.github/actions/nodejs/action.yaml +++ b/.github/actions/nodejs/action.yaml @@ -17,11 +17,20 @@ runs: shell: bash run: npm config set audit false - - name: Cache NPM build artifacts (S3 bucket cache) - uses: strophy/actions-cache@opendal-update +# - name: Cache NPM build artifacts (S3 bucket cache) +# uses: strophy/actions-cache@opendal-update +# with: +# bucket: multi-runner-cache-x1xibo9c +# root: actions-cache +# path: | +# .yarn/unplugged +# key: ${{ runner.os }}/yarn/unplugged/${{ runner.arch }}/${{ hashFiles('yarn.lock') }} +# restore-keys: | +# ${{ runner.os }}/yarn/unplugged/${{ runner.arch }}/ + + - name: Cache NPM build artifacts + uses: actions/cache@v4 with: - bucket: multi-runner-cache-x1xibo9c - root: actions-cache path: | .yarn/unplugged key: ${{ runner.os }}/yarn/unplugged/${{ runner.arch }}/${{ hashFiles('yarn.lock') }} diff --git a/.github/actions/rust/action.yaml b/.github/actions/rust/action.yaml index 91544508733..97853618b7a 100644 --- a/.github/actions/rust/action.yaml +++ b/.github/actions/rust/action.yaml @@ -99,12 +99,25 @@ runs: shell: bash run: echo "HOME=$HOME" >> $GITHUB_ENV - - name: Cache cargo registry (S3 bucket cache) - uses: strophy/actions-cache@opendal-update +# - name: Cache cargo registry (S3 bucket cache) +# uses: strophy/actions-cache@opendal-update +# if: inputs.cache == 'true' +# with: +# bucket: multi-runner-cache-x1xibo9c +# root: actions-cache +# path: | +# ${{ env.HOME }}/.cargo/registry/index +# ${{ env.HOME }}/.cargo/registry/cache +# ${{ env.HOME }}/.cargo/git +# key: ${{ runner.os }}/cargo/registry/${{ hashFiles('**/Cargo.lock') }} +# restore-keys: | +# ${{ runner.os }}/cargo/registry/${{ hashFiles('**/Cargo.lock') }} +# ${{ runner.os }}/cargo/registry/ + + - name: Cache cargo registry + uses: actions/cache@v4 if: inputs.cache == 'true' with: - bucket: multi-runner-cache-x1xibo9c - root: actions-cache path: | ${{ env.HOME }}/.cargo/registry/index ${{ env.HOME }}/.cargo/registry/cache @@ -114,6 +127,7 @@ runs: ${{ runner.os }}/cargo/registry/${{ hashFiles('**/Cargo.lock') }} ${{ runner.os }}/cargo/registry/ + # TODO: Move to AMI and build every day - name: Install clang id: deps-clang diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7584b4f08b5..90d6e3a362c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -40,14 +40,22 @@ jobs: aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} aws-region: ${{ secrets.AWS_REGION }} +# - name: Retrieve JS build artifacts +# uses: strophy/actions-cache@opendal-update +# id: cache +# with: +# bucket: multi-runner-cache-x1xibo9c +# root: actions-cache +# path: build-js-artifacts-${{ github.sha }}.tar +# key: build-js-artifacts/${{ github.sha }} + - name: Retrieve JS build artifacts - uses: strophy/actions-cache@opendal-update + uses: actions/cache/restore@v4 id: cache with: - bucket: multi-runner-cache-x1xibo9c - root: actions-cache path: build-js-artifacts-${{ github.sha }}.tar key: build-js-artifacts/${{ github.sha }} + fail-on-cache-miss: 'true' - name: Unpack JS build artifacts archive run: tar -xf build-js-artifacts-${{ github.sha }}.tar @@ -69,14 +77,22 @@ jobs: - name: Setup Node.JS uses: ./.github/actions/nodejs + - name: Configure sccache + uses: actions/github-script@v7 + with: + script: | + core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); + core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); + - name: Build packages run: yarn build env: CARGO_BUILD_PROFILE: release RUSTC_WRAPPER: sccache - SCCACHE_BUCKET: multi-runner-cache-x1xibo9c - SCCACHE_REGION: ${{ secrets.AWS_REGION }} - SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/wasm/wasm32 + SCCACHE_GHA_ENABLED: true +# SCCACHE_BUCKET: multi-runner-cache-x1xibo9c +# SCCACHE_REGION: ${{ secrets.AWS_REGION }} +# SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/wasm/wasm32 if: ${{ steps.cache.outputs.cache-hit != 'true' }} - name: Set suffix @@ -228,13 +244,21 @@ jobs: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} +# - name: Retrieve JS build artifacts +# uses: strophy/actions-cache@opendal-update +# with: +# bucket: multi-runner-cache-x1xibo9c +# root: actions-cache +# path: build-js-artifacts-${{ github.sha }}.tar +# key: build-js-artifacts/${{ github.sha }} + - name: Retrieve JS build artifacts - uses: strophy/actions-cache@opendal-update + uses: actions/cache/restore@v4 with: - bucket: multi-runner-cache-x1xibo9c - root: actions-cache path: build-js-artifacts-${{ github.sha }}.tar key: build-js-artifacts/${{ github.sha }} + fail-on-cache-miss: 'true' + - name: Unpack JS build artifacts archive run: tar -xf build-js-artifacts-${{ github.sha }}.tar diff --git a/.github/workflows/tests-build-js.yml b/.github/workflows/tests-build-js.yml index bc67850ad99..6992fd7b812 100644 --- a/.github/workflows/tests-build-js.yml +++ b/.github/workflows/tests-build-js.yml @@ -13,15 +13,21 @@ jobs: aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} aws-region: ${{ secrets.AWS_REGION }} - # TODO: Use upload artifacts action instead + # TODO: Use upload artifacts action instead of cache +# - name: Cache build artifacts +# uses: strophy/actions-cache@opendal-update +# id: cache +# with: +# bucket: multi-runner-cache-x1xibo9c +# root: actions-cache +# path: build-js-artifacts-${{ github.sha }}.tar +# key: build-js-artifacts/${{ github.sha }} + - name: Cache build artifacts - uses: strophy/actions-cache@opendal-update - id: cache + uses: actions/cache@v4 with: - bucket: multi-runner-cache-x1xibo9c - root: actions-cache + key: build-js-artifacts-${{ github.sha }} path: build-js-artifacts-${{ github.sha }}.tar - key: build-js-artifacts/${{ github.sha }} - name: Check out repo uses: actions/checkout@v4 @@ -46,14 +52,22 @@ jobs: with: target: wasm32-unknown-unknown + - name: Configure sccache + uses: actions/github-script@v7 + with: + script: | + core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); + core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); + - name: Build JS packages run: yarn build if: ${{ steps.cache.outputs.cache-hit != 'true' }} env: RUSTC_WRAPPER: sccache - SCCACHE_BUCKET: multi-runner-cache-x1xibo9c - SCCACHE_REGION: ${{ secrets.AWS_REGION }} - SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/wasm/wasm32 + SCCACHE_GHA_ENABLED: true +# SCCACHE_BUCKET: multi-runner-cache-x1xibo9c +# SCCACHE_REGION: ${{ secrets.AWS_REGION }} +# SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/wasm/wasm32 - name: Ignore only already cached artifacts run: | diff --git a/.github/workflows/tests-codeql.yml b/.github/workflows/tests-codeql.yml index 78a3f53aeb7..9228ee29c61 100644 --- a/.github/workflows/tests-codeql.yml +++ b/.github/workflows/tests-codeql.yml @@ -30,13 +30,20 @@ jobs: - name: Setup Node.JS uses: ./.github/actions/nodejs +# - name: Restore JS build artifacts archive +# uses: strophy/actions-cache@opendal-update +# with: +# bucket: multi-runner-cache-x1xibo9c +# root: actions-cache +# path: build-js-artifacts-${{ github.sha }}.tar +# key: build-js-artifacts/${{ github.sha }} + - name: Restore JS build artifacts archive - uses: strophy/actions-cache@opendal-update + uses: actions/cache/restore@v4 with: - bucket: multi-runner-cache-x1xibo9c - root: actions-cache path: build-js-artifacts-${{ github.sha }}.tar key: build-js-artifacts/${{ github.sha }} + fail-on-cache-miss: 'true' - name: Unpack JS build artifacts archive run: tar -xf build-js-artifacts-${{ github.sha }}.tar diff --git a/.github/workflows/tests-dashmate.yml b/.github/workflows/tests-dashmate.yml index 6e1b527aa06..650557a7ceb 100644 --- a/.github/workflows/tests-dashmate.yml +++ b/.github/workflows/tests-dashmate.yml @@ -41,14 +41,20 @@ jobs: - name: Setup Node.JS uses: ./.github/actions/nodejs - # TODO: Use action artifacts +# - name: Restore JS build artifacts +# uses: strophy/actions-cache@opendal-update +# with: +# bucket: multi-runner-cache-x1xibo9c +# root: actions-cache +# path: build-js-artifacts-${{ github.sha }}.tar +# key: build-js-artifacts/${{ github.sha }} + - name: Restore JS build artifacts - uses: strophy/actions-cache@opendal-update + uses: actions/cache/restore@v4 with: - bucket: multi-runner-cache-x1xibo9c - root: actions-cache + key: build-js-artifacts-${{ github.sha }} path: build-js-artifacts-${{ github.sha }}.tar - key: build-js-artifacts/${{ github.sha }} + fail-on-cache-miss: 'true' - name: Unpack JS build artifacts archive run: tar -xvf build-js-artifacts-${{ github.sha }}.tar @@ -88,12 +94,24 @@ jobs: shell: bash run: echo "HOME=$HOME" >> $GITHUB_ENV +# - name: Use test suite local network data to speed up dashmate local network tests +# id: local-network-data +# uses: strophy/actions-cache/restore@opendal-update +# with: +# bucket: multi-runner-cache-x1xibo9c +# root: local-network-data +# path: | +# ${{ env.HOME }}/.dashmate +# dashmate_volumes_dump +# key: local-network-volumes/${{ steps.dashmate-fingerprint.outputs.sha }} +# if: inputs.restore_local_network_data == true + - name: Use test suite local network data to speed up dashmate local network tests id: local-network-data - uses: strophy/actions-cache/restore@opendal-update + uses: actions/cache@v4 with: - bucket: multi-runner-cache-x1xibo9c - root: local-network-data +# bucket: multi-runner-cache-x1xibo9c +# root: local-network-data path: | ${{ env.HOME }}/.dashmate dashmate_volumes_dump diff --git a/.github/workflows/tests-js-package.yml b/.github/workflows/tests-js-package.yml index bdffc8cd41f..c57d237a9fa 100644 --- a/.github/workflows/tests-js-package.yml +++ b/.github/workflows/tests-js-package.yml @@ -35,13 +35,20 @@ jobs: - name: Setup Node.JS uses: ./.github/actions/nodejs +# - name: Restore JS build artifacts +# uses: strophy/actions-cache@opendal-update +# with: +# bucket: multi-runner-cache-x1xibo9c +# root: actions-cache +# path: build-js-artifacts-${{ github.sha }}.tar +# key: build-js-artifacts/${{ github.sha }} + - name: Restore JS build artifacts - uses: strophy/actions-cache@opendal-update + uses: actions/cache/restore@v4 with: - bucket: multi-runner-cache-x1xibo9c - root: actions-cache path: build-js-artifacts-${{ github.sha }}.tar key: build-js-artifacts/${{ github.sha }} + fail-on-cache-miss: 'true' - name: Unpack JS build artifacts archive run: tar -xf build-js-artifacts-${{ github.sha }}.tar @@ -72,13 +79,20 @@ jobs: - name: Setup Node.JS uses: ./.github/actions/nodejs +# - name: Restore JS build artifacts +# uses: strophy/actions-cache@opendal-update +# with: +# bucket: multi-runner-cache-x1xibo9c +# root: actions-cache +# path: build-js-artifacts-${{ github.sha }}.tar +# key: build-js-artifacts/${{ github.sha }} + - name: Restore JS build artifacts - uses: strophy/actions-cache@opendal-update + uses: actions/cache/restore@v4 with: - bucket: multi-runner-cache-x1xibo9c - root: actions-cache path: build-js-artifacts-${{ github.sha }}.tar key: build-js-artifacts/${{ github.sha }} + fail-on-cache-miss: 'true' - name: Unpack JS build artifacts archive run: tar -xf build-js-artifacts-${{ github.sha }}.tar diff --git a/.github/workflows/tests-rs-package.yml b/.github/workflows/tests-rs-package.yml index fa038285f2c..d30aa6d92b2 100644 --- a/.github/workflows/tests-rs-package.yml +++ b/.github/workflows/tests-rs-package.yml @@ -45,14 +45,22 @@ jobs: - name: Install librocksdb uses: ./.github/actions/librocksdb + - name: Configure sccache + uses: actions/github-script@v7 + with: + script: | + core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); + core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); + - uses: clechasseur/rs-clippy-check@v3 with: args: --package ${{ inputs.package }} --all-features --locked -- --no-deps env: RUSTC_WRAPPER: sccache - SCCACHE_BUCKET: multi-runner-cache-x1xibo9c - SCCACHE_REGION: ${{ secrets.AWS_REGION }} - SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/${{ runner.arch }}/linux-gnu + SCCACHE_GHA_ENABLED: true +# SCCACHE_BUCKET: multi-runner-cache-x1xibo9c +# SCCACHE_REGION: ${{ secrets.AWS_REGION }} +# SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/${{ runner.arch }}/linux-gnu ROCKSDB_STATIC: "/opt/rocksdb/usr/local/lib/librocksdb.a" ROCKSDB_LIB_DIR: "/opt/rocksdb/usr/local/lib" SNAPPY_STATIC: "/usr/lib/x86_64-linux-gnu/libsnappy.a" @@ -73,12 +81,20 @@ jobs: # This step doesn't need librocksdb, so we don't install it + - name: Configure sccache + uses: actions/github-script@v7 + with: + script: | + core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); + core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); + - name: Check formatting env: RUSTC_WRAPPER: sccache - SCCACHE_BUCKET: multi-runner-cache-x1xibo9c - SCCACHE_REGION: ${{ secrets.AWS_REGION }} - SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/${{ runner.arch }}/linux-gnu + SCCACHE_GHA_ENABLED: true +# SCCACHE_BUCKET: multi-runner-cache-x1xibo9c +# SCCACHE_REGION: ${{ secrets.AWS_REGION }} +# SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/${{ runner.arch }}/linux-gnu run: cargo fmt --check --package=${{ inputs.package }} unused_deps: @@ -111,13 +127,21 @@ jobs: with: package: ${{ inputs.package }} + - name: Configure sccache + uses: actions/github-script@v7 + with: + script: | + core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); + core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); + - name: Find unused dependencies uses: lklimek/cargo-machete@feat/workdir env: RUSTC_WRAPPER: sccache - SCCACHE_BUCKET: multi-runner-cache-x1xibo9c - SCCACHE_REGION: ${{ secrets.AWS_REGION }} - SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/${{ runner.arch }}/linux-gnu + SCCACHE_GHA_ENABLED: true +# SCCACHE_BUCKET: multi-runner-cache-x1xibo9c +# SCCACHE_REGION: ${{ secrets.AWS_REGION }} +# SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/${{ runner.arch }}/linux-gnu ROCKSDB_STATIC: "/opt/rocksdb/usr/local/lib/librocksdb.a" ROCKSDB_LIB_DIR: "/opt/rocksdb/usr/local/lib" SNAPPY_STATIC: "/usr/lib/x86_64-linux-gnu/libsnappy.a" @@ -207,13 +231,21 @@ jobs: - name: Install librocksdb uses: ./.github/actions/librocksdb + - name: Configure sccache + uses: actions/github-script@v7 + with: + script: | + core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); + core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); + - name: Run tests run: cargo test --package=${{ inputs.package }} --all-features --locked env: RUSTC_WRAPPER: sccache - SCCACHE_BUCKET: multi-runner-cache-x1xibo9c - SCCACHE_REGION: ${{ secrets.AWS_REGION }} - SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/${{ runner.arch }}/linux-gnu + SCCACHE_GHA_ENABLED: true +# SCCACHE_BUCKET: multi-runner-cache-x1xibo9c +# SCCACHE_REGION: ${{ secrets.AWS_REGION }} +# SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/${{ runner.arch }}/linux-gnu ROCKSDB_STATIC: "/opt/rocksdb/usr/local/lib/librocksdb.a" ROCKSDB_LIB_DIR: "/opt/rocksdb/usr/local/lib" SNAPPY_STATIC: "/usr/lib/x86_64-linux-gnu/libsnappy.a" @@ -246,12 +278,20 @@ jobs: with: package: ${{ inputs.package }} + - name: Configure sccache + uses: actions/github-script@v7 + with: + script: | + core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); + core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); + - name: Check each feature in ${{ inputs.package }} env: RUSTC_WRAPPER: sccache - SCCACHE_BUCKET: multi-runner-cache-x1xibo9c - SCCACHE_REGION: ${{ secrets.AWS_REGION }} - SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/${{ runner.arch }}/linux-gnu + SCCACHE_GHA_ENABLED: true +# SCCACHE_BUCKET: multi-runner-cache-x1xibo9c +# SCCACHE_REGION: ${{ secrets.AWS_REGION }} +# SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/${{ runner.arch }}/linux-gnu ROCKSDB_STATIC: "/opt/rocksdb/usr/local/lib/librocksdb.a" ROCKSDB_LIB_DIR: "/opt/rocksdb/usr/local/lib" SNAPPY_STATIC: "/usr/lib/x86_64-linux-gnu/libsnappy.a" From 83f665990abf9347e7082fd102b6717c0911168f Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Wed, 13 Nov 2024 23:12:15 +0700 Subject: [PATCH 03/40] ci: fix artifact key --- .github/workflows/release.yml | 4 ++-- .github/workflows/tests-codeql.yml | 2 +- .github/workflows/tests-js-package.yml | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index affb2c768f1..b41cbb4cd6f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -54,7 +54,7 @@ jobs: id: cache with: path: build-js-artifacts-${{ github.sha }}.tar - key: build-js-artifacts/${{ github.sha }} + key: build-js-artifacts-${{ github.sha }} fail-on-cache-miss: 'true' - name: Unpack JS build artifacts archive @@ -264,7 +264,7 @@ jobs: uses: actions/cache/restore@v4 with: path: build-js-artifacts-${{ github.sha }}.tar - key: build-js-artifacts/${{ github.sha }} + key: build-js-artifacts-${{ github.sha }} fail-on-cache-miss: 'true' diff --git a/.github/workflows/tests-codeql.yml b/.github/workflows/tests-codeql.yml index 9228ee29c61..8d1e5158a5b 100644 --- a/.github/workflows/tests-codeql.yml +++ b/.github/workflows/tests-codeql.yml @@ -42,7 +42,7 @@ jobs: uses: actions/cache/restore@v4 with: path: build-js-artifacts-${{ github.sha }}.tar - key: build-js-artifacts/${{ github.sha }} + key: build-js-artifacts-${{ github.sha }} fail-on-cache-miss: 'true' - name: Unpack JS build artifacts archive diff --git a/.github/workflows/tests-js-package.yml b/.github/workflows/tests-js-package.yml index c57d237a9fa..9d9ae52a773 100644 --- a/.github/workflows/tests-js-package.yml +++ b/.github/workflows/tests-js-package.yml @@ -47,7 +47,7 @@ jobs: uses: actions/cache/restore@v4 with: path: build-js-artifacts-${{ github.sha }}.tar - key: build-js-artifacts/${{ github.sha }} + key: build-js-artifacts-${{ github.sha }} fail-on-cache-miss: 'true' - name: Unpack JS build artifacts archive @@ -91,7 +91,7 @@ jobs: uses: actions/cache/restore@v4 with: path: build-js-artifacts-${{ github.sha }}.tar - key: build-js-artifacts/${{ github.sha }} + key: build-js-artifacts-${{ github.sha }} fail-on-cache-miss: 'true' - name: Unpack JS build artifacts archive From 6a03bd3dc4f57754148433c91f8407463ecc8c06 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Thu, 14 Nov 2024 11:55:40 +0700 Subject: [PATCH 04/40] ci: try using download artifact --- .github/workflows/tests-build-js.yml | 49 +++++++++++++++++++--------- 1 file changed, 34 insertions(+), 15 deletions(-) diff --git a/.github/workflows/tests-build-js.yml b/.github/workflows/tests-build-js.yml index b69a2130f5c..258a8ed640d 100644 --- a/.github/workflows/tests-build-js.yml +++ b/.github/workflows/tests-build-js.yml @@ -23,34 +23,42 @@ jobs: # path: build-js-artifacts-${{ github.sha }}.tar # key: build-js-artifacts/${{ github.sha }} - - name: Cache build artifacts - uses: actions/cache@v4 + - name: Download JS build artifacts + uses: actions/download-artifact@v4 with: - key: build-js-artifacts-${{ github.sha }} - path: build-js-artifacts-${{ github.sha }}.tar + name: build-js-artifacts-${{ github.sha }} + + - name: Check if artifacts exist + id: exists + run: | + if test -f build-js-artifacts-${{ github.sha }}.tar; then + echo "result=true" >> "$GITHUB_OUTPUT" + else + echo "result=false" >> "$GITHUB_OUTPUT" + fi - name: Check out repo uses: actions/checkout@v4 - if: ${{ steps.cache.outputs.cache-hit != 'true' }} with: fetch-depth: 0 + if: ${{ steps.exists.outputs.result != 'true' }} - name: Login to DockerHub uses: docker/login-action@v3 - if: ${{ steps.cache.outputs.cache-hit != 'true' }} with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} + if: ${{ steps.exists.outputs.result != 'true' }} - name: Setup Node.JS uses: ./.github/actions/nodejs - if: ${{ steps.cache.outputs.cache-hit != 'true' }} + if: ${{ steps.exists.outputs.result != 'true' }} - name: Setup Rust uses: ./.github/actions/rust - if: ${{ steps.cache.outputs.cache-hit != 'true' }} with: target: wasm32-unknown-unknown + if: ${{ steps.exists.outputs.result != 'true' }} - name: Configure sccache uses: actions/github-script@v7 @@ -58,24 +66,25 @@ jobs: script: | core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); + if: ${{ steps.exists.outputs.result != 'true' }} - name: Install Cargo binstall uses: cargo-bins/cargo-binstall@v1.3.1 - if: ${{ steps.cache.outputs.cache-hit != 'true' }} + if: ${{ steps.exists.outputs.result != 'true' }} - name: Install wasm-bindgen-cli run: cargo binstall wasm-bindgen-cli@0.2.86 - if: ${{ steps.cache.outputs.cache-hit != 'true' }} + if: ${{ steps.exists.outputs.result != 'true' }} - name: Build JS packages run: yarn build - if: ${{ steps.cache.outputs.cache-hit != 'true' }} env: RUSTC_WRAPPER: sccache SCCACHE_GHA_ENABLED: true # SCCACHE_BUCKET: multi-runner-cache-x1xibo9c # SCCACHE_REGION: ${{ secrets.AWS_REGION }} # SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/wasm/wasm32 + if: ${{ steps.exists.outputs.result != 'true' }} - name: Ignore only already cached artifacts run: | @@ -85,15 +94,25 @@ jobs: echo "node_modules" >> .gitignore echo ".nyc_output" >> .gitignore echo ".idea" >> .gitignore - echo ".ultra.cache.json" >> .gitignore + echo ".ultra.exists.json" >> .gitignore echo "db/*" >> .gitignore - if: ${{ steps.cache.outputs.cache-hit != 'true' }} + if: ${{ steps.exists.outputs.result != 'true' }} - name: Get modified files id: diff run: git ls-files --others --exclude-standard >> artifacts_list.txt - if: ${{ steps.cache.outputs.cache-hit != 'true' }} + if: ${{ steps.exists.outputs.result != 'true' }} - name: Create an archive of built files run: xargs -a artifacts_list.txt tar cvf build-js-artifacts-${{ github.sha }}.tar - if: ${{ steps.cache.outputs.cache-hit != 'true' }} + if: ${{ steps.exists.outputs.result != 'true' }} + + - name: Upload the archive of built files + uses: actions/upload-artifact@v4 + with: + name: build-js-artifacts-${{ github.sha }} + path: build-js-artifacts-${{ github.sha }}.tar + retention-days: 1 + if-no-files-found: error + if: ${{ steps.exists.outputs.result != 'true' }} + From 98232efbea23a050b66f15c6a286f5b045eae102 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Thu, 14 Nov 2024 12:39:24 +0700 Subject: [PATCH 05/40] ci: use artifacts --- .github/actions/local-network/action.yaml | 16 ++---- .github/workflows/release.yml | 65 +++++++++-------------- .github/workflows/tests-build-js.yml | 47 +++++----------- .github/workflows/tests-codeql.yml | 16 ++---- .github/workflows/tests-dashmate.yml | 16 ++---- .github/workflows/tests-js-package.yml | 32 +++-------- .github/workflows/tests-rs-package.yml | 15 ++---- .github/workflows/tests.yml | 25 ++++++--- 8 files changed, 75 insertions(+), 157 deletions(-) diff --git a/.github/actions/local-network/action.yaml b/.github/actions/local-network/action.yaml index 7fdf99a574e..df2570ec8bf 100644 --- a/.github/actions/local-network/action.yaml +++ b/.github/actions/local-network/action.yaml @@ -11,20 +11,10 @@ runs: - name: Setup Node.JS uses: ./.github/actions/nodejs -# - name: Restore JS build artifacts -# uses: strophy/actions-cache@opendal-update -# with: -# bucket: multi-runner-cache-x1xibo9c -# root: actions-cache -# path: build-js-artifacts-${{ github.sha }}.tar -# key: build-js-artifacts/${{ github.sha }} - - - name: Restore JS build artifacts - uses: actions/cache/restore@v4 + - name: Download JS build artifacts + uses: actions/download-artifact@v4 with: - key: build-js-artifacts-${{ github.sha }} - path: build-js-artifacts-${{ github.sha }}.tar - fail-on-cache-miss: 'true' + name: build-js-artifacts-${{ github.sha }} - name: Unpack JS build artifacts archive shell: bash diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b41cbb4cd6f..aad710e35c7 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -40,39 +40,23 @@ jobs: aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} aws-region: ${{ secrets.AWS_REGION }} -# - name: Retrieve JS build artifacts -# uses: strophy/actions-cache@opendal-update -# id: cache -# with: -# bucket: multi-runner-cache-x1xibo9c -# root: actions-cache -# path: build-js-artifacts-${{ github.sha }}.tar -# key: build-js-artifacts/${{ github.sha }} - - - name: Retrieve JS build artifacts - uses: actions/cache/restore@v4 - id: cache + - uses: softwareforgood/check-artifact-v4-existence@v0 + id: check-artifact with: - path: build-js-artifacts-${{ github.sha }}.tar - key: build-js-artifacts-${{ github.sha }} - fail-on-cache-miss: 'true' - - - name: Unpack JS build artifacts archive - run: tar -xf build-js-artifacts-${{ github.sha }}.tar - if: ${{ steps.cache.outputs.cache-hit == 'true' }} + name: build-js-artifacts-${{ github.sha }} - name: Login to DockerHub uses: docker/login-action@v3 - if: ${{ steps.cache.outputs.cache-hit != 'true' }} with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} + if: ${{ steps.check-artifact.outputs.exists != 'true' }} - name: Setup Rust uses: ./.github/actions/rust with: target: wasm32-unknown-unknown - if: ${{ steps.cache.outputs.cache-hit != 'true' }} + if: ${{ steps.check-artifact.outputs.exists != 'true' }} - name: Setup Node.JS uses: ./.github/actions/nodejs @@ -83,14 +67,15 @@ jobs: script: | core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); + if: ${{ steps.check-artifact.outputs.exists != 'true' }} - name: Install Cargo binstall uses: cargo-bins/cargo-binstall@v1.3.1 - if: ${{ steps.cache.outputs.cache-hit != 'true' }} + if: ${{ steps.check-artifact.outputs.exists != 'true' }} - name: Install wasm-bindgen-cli run: cargo binstall wasm-bindgen-cli@0.2.86 - if: ${{ steps.cache.outputs.cache-hit != 'true' }} + if: ${{ steps.check-artifact.outputs.exists != 'true' }} - name: Build packages run: yarn build @@ -101,7 +86,7 @@ jobs: # SCCACHE_BUCKET: multi-runner-cache-x1xibo9c # SCCACHE_REGION: ${{ secrets.AWS_REGION }} # SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/wasm/wasm32 - if: ${{ steps.cache.outputs.cache-hit != 'true' }} + if: ${{ steps.check-artifact.outputs.exists != 'true' }} - name: Set suffix uses: actions/github-script@v6 @@ -149,16 +134,25 @@ jobs: echo ".idea" >> .gitignore echo ".ultra.cache.json" >> .gitignore echo "db/*" >> .gitignore - if: ${{ steps.cache.outputs.cache-hit != 'true' }} + if: ${{ steps.check-artifact.outputs.exists != 'true' }} - name: Get modified files id: diff run: git ls-files --others --exclude-standard >> artifacts_list.txt - if: ${{ steps.cache.outputs.cache-hit != 'true' }} + if: ${{ steps.check-artifact.outputs.exists != 'true' }} - name: Create an archive of built files run: xargs -a artifacts_list.txt tar cvf build-js-artifacts-${{ github.sha }}.tar - if: ${{ steps.cache.outputs.cache-hit != 'true' }} + if: ${{ steps.check-artifact.outputs.exists != 'true' }} + + - name: Upload the archive of built files + uses: actions/upload-artifact@v4 + with: + name: build-js-artifacts-${{ github.sha }} + path: build-js-artifacts-${{ github.sha }}.tar + retention-days: 1 + if-no-files-found: error + if: ${{ steps.check-artifact.outputs.exists != 'true' }} release-drive-image: name: Release Drive image @@ -252,21 +246,10 @@ jobs: aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} -# - name: Retrieve JS build artifacts -# uses: strophy/actions-cache@opendal-update -# with: -# bucket: multi-runner-cache-x1xibo9c -# root: actions-cache -# path: build-js-artifacts-${{ github.sha }}.tar -# key: build-js-artifacts/${{ github.sha }} - - - name: Retrieve JS build artifacts - uses: actions/cache/restore@v4 + - name: Download JS build artifacts + uses: actions/download-artifact@v4 with: - path: build-js-artifacts-${{ github.sha }}.tar - key: build-js-artifacts-${{ github.sha }} - fail-on-cache-miss: 'true' - + name: build-js-artifacts-${{ github.sha }} - name: Unpack JS build artifacts archive run: tar -xf build-js-artifacts-${{ github.sha }}.tar diff --git a/.github/workflows/tests-build-js.yml b/.github/workflows/tests-build-js.yml index 258a8ed640d..ddb3aa4ece3 100644 --- a/.github/workflows/tests-build-js.yml +++ b/.github/workflows/tests-build-js.yml @@ -13,52 +13,33 @@ jobs: aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} aws-region: ${{ secrets.AWS_REGION }} - # TODO: Use upload artifacts action instead of cache -# - name: Cache build artifacts -# uses: strophy/actions-cache@opendal-update -# id: cache -# with: -# bucket: multi-runner-cache-x1xibo9c -# root: actions-cache -# path: build-js-artifacts-${{ github.sha }}.tar -# key: build-js-artifacts/${{ github.sha }} - - - name: Download JS build artifacts - uses: actions/download-artifact@v4 + - uses: softwareforgood/check-artifact-v4-existence@v0 + id: check-artifact with: name: build-js-artifacts-${{ github.sha }} - - name: Check if artifacts exist - id: exists - run: | - if test -f build-js-artifacts-${{ github.sha }}.tar; then - echo "result=true" >> "$GITHUB_OUTPUT" - else - echo "result=false" >> "$GITHUB_OUTPUT" - fi - - name: Check out repo uses: actions/checkout@v4 with: fetch-depth: 0 - if: ${{ steps.exists.outputs.result != 'true' }} + if: ${{ steps.check-artifact.outputs.exists != 'true' }} - name: Login to DockerHub uses: docker/login-action@v3 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - if: ${{ steps.exists.outputs.result != 'true' }} + if: ${{ steps.check-artifact.outputs.exists != 'true' }} - name: Setup Node.JS uses: ./.github/actions/nodejs - if: ${{ steps.exists.outputs.result != 'true' }} + if: ${{ steps.check-artifact.outputs.exists != 'true' }} - name: Setup Rust uses: ./.github/actions/rust with: target: wasm32-unknown-unknown - if: ${{ steps.exists.outputs.result != 'true' }} + if: ${{ steps.check-artifact.outputs.exists != 'true' }} - name: Configure sccache uses: actions/github-script@v7 @@ -66,15 +47,15 @@ jobs: script: | core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); - if: ${{ steps.exists.outputs.result != 'true' }} + if: ${{ steps.check-artifact.outputs.exists != 'true' }} - name: Install Cargo binstall uses: cargo-bins/cargo-binstall@v1.3.1 - if: ${{ steps.exists.outputs.result != 'true' }} + if: ${{ steps.check-artifact.outputs.exists != 'true' }} - name: Install wasm-bindgen-cli run: cargo binstall wasm-bindgen-cli@0.2.86 - if: ${{ steps.exists.outputs.result != 'true' }} + if: ${{ steps.check-artifact.outputs.exists != 'true' }} - name: Build JS packages run: yarn build @@ -84,7 +65,7 @@ jobs: # SCCACHE_BUCKET: multi-runner-cache-x1xibo9c # SCCACHE_REGION: ${{ secrets.AWS_REGION }} # SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/wasm/wasm32 - if: ${{ steps.exists.outputs.result != 'true' }} + if: ${{ steps.check-artifact.outputs.exists != 'true' }} - name: Ignore only already cached artifacts run: | @@ -96,16 +77,16 @@ jobs: echo ".idea" >> .gitignore echo ".ultra.exists.json" >> .gitignore echo "db/*" >> .gitignore - if: ${{ steps.exists.outputs.result != 'true' }} + if: ${{ steps.check-artifact.outputs.exists != 'true' }} - name: Get modified files id: diff run: git ls-files --others --exclude-standard >> artifacts_list.txt - if: ${{ steps.exists.outputs.result != 'true' }} + if: ${{ steps.check-artifact.outputs.exists != 'true' }} - name: Create an archive of built files run: xargs -a artifacts_list.txt tar cvf build-js-artifacts-${{ github.sha }}.tar - if: ${{ steps.exists.outputs.result != 'true' }} + if: ${{ steps.check-artifact.outputs.exists != 'true' }} - name: Upload the archive of built files uses: actions/upload-artifact@v4 @@ -114,5 +95,5 @@ jobs: path: build-js-artifacts-${{ github.sha }}.tar retention-days: 1 if-no-files-found: error - if: ${{ steps.exists.outputs.result != 'true' }} + if: ${{ steps.check-artifact.outputs.exists != 'true' }} diff --git a/.github/workflows/tests-codeql.yml b/.github/workflows/tests-codeql.yml index 8d1e5158a5b..692e02e9311 100644 --- a/.github/workflows/tests-codeql.yml +++ b/.github/workflows/tests-codeql.yml @@ -30,20 +30,10 @@ jobs: - name: Setup Node.JS uses: ./.github/actions/nodejs -# - name: Restore JS build artifacts archive -# uses: strophy/actions-cache@opendal-update -# with: -# bucket: multi-runner-cache-x1xibo9c -# root: actions-cache -# path: build-js-artifacts-${{ github.sha }}.tar -# key: build-js-artifacts/${{ github.sha }} - - - name: Restore JS build artifacts archive - uses: actions/cache/restore@v4 + - name: Download JS build artifacts + uses: actions/download-artifact@v4 with: - path: build-js-artifacts-${{ github.sha }}.tar - key: build-js-artifacts-${{ github.sha }} - fail-on-cache-miss: 'true' + name: build-js-artifacts-${{ github.sha }} - name: Unpack JS build artifacts archive run: tar -xf build-js-artifacts-${{ github.sha }}.tar diff --git a/.github/workflows/tests-dashmate.yml b/.github/workflows/tests-dashmate.yml index 650557a7ceb..7aa77d93d5a 100644 --- a/.github/workflows/tests-dashmate.yml +++ b/.github/workflows/tests-dashmate.yml @@ -41,20 +41,10 @@ jobs: - name: Setup Node.JS uses: ./.github/actions/nodejs -# - name: Restore JS build artifacts -# uses: strophy/actions-cache@opendal-update -# with: -# bucket: multi-runner-cache-x1xibo9c -# root: actions-cache -# path: build-js-artifacts-${{ github.sha }}.tar -# key: build-js-artifacts/${{ github.sha }} - - - name: Restore JS build artifacts - uses: actions/cache/restore@v4 + - name: Download JS build artifacts + uses: actions/download-artifact@v4 with: - key: build-js-artifacts-${{ github.sha }} - path: build-js-artifacts-${{ github.sha }}.tar - fail-on-cache-miss: 'true' + name: build-js-artifacts-${{ github.sha }} - name: Unpack JS build artifacts archive run: tar -xvf build-js-artifacts-${{ github.sha }}.tar diff --git a/.github/workflows/tests-js-package.yml b/.github/workflows/tests-js-package.yml index 9d9ae52a773..4f124f70eec 100644 --- a/.github/workflows/tests-js-package.yml +++ b/.github/workflows/tests-js-package.yml @@ -35,20 +35,10 @@ jobs: - name: Setup Node.JS uses: ./.github/actions/nodejs -# - name: Restore JS build artifacts -# uses: strophy/actions-cache@opendal-update -# with: -# bucket: multi-runner-cache-x1xibo9c -# root: actions-cache -# path: build-js-artifacts-${{ github.sha }}.tar -# key: build-js-artifacts/${{ github.sha }} - - - name: Restore JS build artifacts - uses: actions/cache/restore@v4 + - name: Download JS build artifacts + uses: actions/download-artifact@v4 with: - path: build-js-artifacts-${{ github.sha }}.tar - key: build-js-artifacts-${{ github.sha }} - fail-on-cache-miss: 'true' + name: build-js-artifacts-${{ github.sha }} - name: Unpack JS build artifacts archive run: tar -xf build-js-artifacts-${{ github.sha }}.tar @@ -79,20 +69,10 @@ jobs: - name: Setup Node.JS uses: ./.github/actions/nodejs -# - name: Restore JS build artifacts -# uses: strophy/actions-cache@opendal-update -# with: -# bucket: multi-runner-cache-x1xibo9c -# root: actions-cache -# path: build-js-artifacts-${{ github.sha }}.tar -# key: build-js-artifacts/${{ github.sha }} - - - name: Restore JS build artifacts - uses: actions/cache/restore@v4 + - name: Download JS build artifacts + uses: actions/download-artifact@v4 with: - path: build-js-artifacts-${{ github.sha }}.tar - key: build-js-artifacts-${{ github.sha }} - fail-on-cache-miss: 'true' + name: build-js-artifacts-${{ github.sha }} - name: Unpack JS build artifacts archive run: tar -xf build-js-artifacts-${{ github.sha }}.tar diff --git a/.github/workflows/tests-rs-package.yml b/.github/workflows/tests-rs-package.yml index d30aa6d92b2..2f2cb34eb39 100644 --- a/.github/workflows/tests-rs-package.yml +++ b/.github/workflows/tests-rs-package.yml @@ -5,14 +5,6 @@ on: description: The package name to run tests for type: string required: true - test-runner: - description: Runner for tests. Must be JSON valid string. - type: string - default: '[ "self-hosted", "linux", "arm64", "ubuntu-platform" ]' - lint-runner: - description: Runner for linting. Must be JSON valid string. - type: string - default: '"ubuntu-24.04"' check-each-feature: description: If true, try to build each individual feature for this crate type: boolean @@ -21,7 +13,7 @@ on: jobs: lint: name: Linting - runs-on: ${{ fromJSON(inputs.lint-runner) }} + runs-on: ubuntu-24.04 permissions: id-token: write contents: read @@ -212,7 +204,7 @@ jobs: test: name: Tests - runs-on: ${{ fromJSON(inputs.test-runner) }} + runs-on: ubuntu-24.04 timeout-minutes: 25 steps: - name: Check out repo @@ -250,9 +242,10 @@ jobs: ROCKSDB_LIB_DIR: "/opt/rocksdb/usr/local/lib" SNAPPY_STATIC: "/usr/lib/x86_64-linux-gnu/libsnappy.a" SNAPPY_LIB_DIR: "/usr/lib/x86_64-linux-gnu" + check_each_feature: name: Check each feature - runs-on: ${{ fromJSON(inputs.test-runner) }} + runs-on: ubuntu-24.04 timeout-minutes: 10 if: ${{ inputs.check-each-feature }} steps: diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 46d368b0b2b..f38c226c148 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -97,13 +97,6 @@ jobs: uses: ./.github/workflows/tests-rs-package.yml with: package: ${{ matrix.rs-package }} - # lint-runner: ${{ contains(fromJSON('["drive-abci", "drive"]'), matrix.rs-package) && '[ "self-hosted", "linux", "arm64", "ubuntu-platform" ]' || '"ubuntu-24.04"' }} - # FIXME: Clippy fails on github hosted runners, most likely due to RAM usage. Using self-hosted runners for now. - # lint-runner: '[ "self-hosted", "linux", "arm64", "ubuntu-platform" ]' - lint-runner: '["ubuntu-24.04"]' - # Run drive tests on self-hosted 4x - # test-runner: '[ "self-hosted", "linux", "arm64", "ubuntu-platform" ]' - test-runner: '["ubuntu-24.04"]' check-each-feature: ${{ contains(fromJSON('["dash-sdk","rs-dapi-client","dapi-grpc","dpp","drive-abci"]'), matrix.rs-package) }} rs-crates-security: @@ -179,6 +172,7 @@ jobs: secrets: inherit needs: - changes + - build-js - build-images strategy: fail-fast: false @@ -236,3 +230,20 @@ jobs: - build-images secrets: inherit uses: ./.github/workflows/tests-packges-functional.yml + + remove-artifacts: + name: Remove artifacts + needs: + - js-packages + - js-codeql + - test-suite + - test-functional + - dashmate-e2e-tests + runs-on: ubuntu-24.04 + # Make sure we run this job even if some needed jobs were skipped + if: ${{ always() }} + steps: + - uses: geekyeggo/delete-artifact@v5 + with: + name: build-js-artifacts-${{ github.sha }} + if: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule' || !github.event.pull_request.draft }} From bf3fb891aaa590cad8c4d999fda2b026f774a657 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Thu, 14 Nov 2024 13:22:50 +0700 Subject: [PATCH 06/40] ci: remove unnecessary archive step --- .github/workflows/release.yml | 3 --- .github/workflows/tests-build-js.yml | 10 ++++------ .github/workflows/tests-codeql.yml | 3 --- .github/workflows/tests-dashmate.yml | 3 --- .github/workflows/tests-js-package.yml | 6 ------ 5 files changed, 4 insertions(+), 21 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index aad710e35c7..401abd4d45d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -251,9 +251,6 @@ jobs: with: name: build-js-artifacts-${{ github.sha }} - - name: Unpack JS build artifacts archive - run: tar -xf build-js-artifacts-${{ github.sha }}.tar - - name: Install macOS build deps if: runner.os == 'macOS' run: | diff --git a/.github/workflows/tests-build-js.yml b/.github/workflows/tests-build-js.yml index ddb3aa4ece3..67c2d79dedf 100644 --- a/.github/workflows/tests-build-js.yml +++ b/.github/workflows/tests-build-js.yml @@ -81,18 +81,16 @@ jobs: - name: Get modified files id: diff - run: git ls-files --others --exclude-standard >> artifacts_list.txt - if: ${{ steps.check-artifact.outputs.exists != 'true' }} - - - name: Create an archive of built files - run: xargs -a artifacts_list.txt tar cvf build-js-artifacts-${{ github.sha }}.tar + run: | + files=$(git ls-files --others --exclude-standard) + echo "files=$files" >> $GITHUB_OUTPUT if: ${{ steps.check-artifact.outputs.exists != 'true' }} - name: Upload the archive of built files uses: actions/upload-artifact@v4 with: name: build-js-artifacts-${{ github.sha }} - path: build-js-artifacts-${{ github.sha }}.tar + path: ${{ steps.diff.outputs.files }} retention-days: 1 if-no-files-found: error if: ${{ steps.check-artifact.outputs.exists != 'true' }} diff --git a/.github/workflows/tests-codeql.yml b/.github/workflows/tests-codeql.yml index 692e02e9311..37f4b056cb0 100644 --- a/.github/workflows/tests-codeql.yml +++ b/.github/workflows/tests-codeql.yml @@ -35,9 +35,6 @@ jobs: with: name: build-js-artifacts-${{ github.sha }} - - name: Unpack JS build artifacts archive - run: tar -xf build-js-artifacts-${{ github.sha }}.tar - - name: Initialize CodeQL uses: github/codeql-action/init@v2 with: diff --git a/.github/workflows/tests-dashmate.yml b/.github/workflows/tests-dashmate.yml index 7aa77d93d5a..35e402fcce8 100644 --- a/.github/workflows/tests-dashmate.yml +++ b/.github/workflows/tests-dashmate.yml @@ -46,9 +46,6 @@ jobs: with: name: build-js-artifacts-${{ github.sha }} - - name: Unpack JS build artifacts archive - run: tar -xvf build-js-artifacts-${{ github.sha }}.tar - - name: Replace with pre-built images run: | set -x diff --git a/.github/workflows/tests-js-package.yml b/.github/workflows/tests-js-package.yml index 4f124f70eec..3c358153bc1 100644 --- a/.github/workflows/tests-js-package.yml +++ b/.github/workflows/tests-js-package.yml @@ -40,9 +40,6 @@ jobs: with: name: build-js-artifacts-${{ github.sha }} - - name: Unpack JS build artifacts archive - run: tar -xf build-js-artifacts-${{ github.sha }}.tar - - name: Run ESLinter run: yarn workspace "${{ inputs.package }}" lint @@ -74,9 +71,6 @@ jobs: with: name: build-js-artifacts-${{ github.sha }} - - name: Unpack JS build artifacts archive - run: tar -xf build-js-artifacts-${{ github.sha }}.tar - - name: Create necessary dotenv files run: | cp packages/dapi/.env.example packages/dapi/.env From 9c79aeca93b06c6fbdea973c1ad0419f54622dff Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Thu, 14 Nov 2024 13:27:18 +0700 Subject: [PATCH 07/40] ci: rename artifact --- .github/actions/local-network/action.yaml | 4 ++-- .github/workflows/release.yml | 10 +++++----- .github/workflows/tests-build-js.yml | 4 ++-- .github/workflows/tests-codeql.yml | 2 +- .github/workflows/tests-dashmate.yml | 2 +- .github/workflows/tests-js-package.yml | 4 ++-- .github/workflows/tests.yml | 2 +- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/actions/local-network/action.yaml b/.github/actions/local-network/action.yaml index df2570ec8bf..454831bcc02 100644 --- a/.github/actions/local-network/action.yaml +++ b/.github/actions/local-network/action.yaml @@ -14,11 +14,11 @@ runs: - name: Download JS build artifacts uses: actions/download-artifact@v4 with: - name: build-js-artifacts-${{ github.sha }} + name: js-build-${{ github.sha }} - name: Unpack JS build artifacts archive shell: bash - run: tar -xf build-js-artifacts-${{ github.sha }}.tar + run: tar -xf js-build-${{ github.sha }}.tar - name: Get dashmate fingerprint id: dashmate-fingerprint diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 401abd4d45d..970e257f36d 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -43,7 +43,7 @@ jobs: - uses: softwareforgood/check-artifact-v4-existence@v0 id: check-artifact with: - name: build-js-artifacts-${{ github.sha }} + name: js-build-${{ github.sha }} - name: Login to DockerHub uses: docker/login-action@v3 @@ -142,14 +142,14 @@ jobs: if: ${{ steps.check-artifact.outputs.exists != 'true' }} - name: Create an archive of built files - run: xargs -a artifacts_list.txt tar cvf build-js-artifacts-${{ github.sha }}.tar + run: xargs -a artifacts_list.txt tar cvf js-build-${{ github.sha }}.tar if: ${{ steps.check-artifact.outputs.exists != 'true' }} - name: Upload the archive of built files uses: actions/upload-artifact@v4 with: - name: build-js-artifacts-${{ github.sha }} - path: build-js-artifacts-${{ github.sha }}.tar + name: js-build-${{ github.sha }} + path: js-build-${{ github.sha }}.tar retention-days: 1 if-no-files-found: error if: ${{ steps.check-artifact.outputs.exists != 'true' }} @@ -249,7 +249,7 @@ jobs: - name: Download JS build artifacts uses: actions/download-artifact@v4 with: - name: build-js-artifacts-${{ github.sha }} + name: js-build-${{ github.sha }} - name: Install macOS build deps if: runner.os == 'macOS' diff --git a/.github/workflows/tests-build-js.yml b/.github/workflows/tests-build-js.yml index 67c2d79dedf..b9e459f4077 100644 --- a/.github/workflows/tests-build-js.yml +++ b/.github/workflows/tests-build-js.yml @@ -16,7 +16,7 @@ jobs: - uses: softwareforgood/check-artifact-v4-existence@v0 id: check-artifact with: - name: build-js-artifacts-${{ github.sha }} + name: js-build-${{ github.sha }} - name: Check out repo uses: actions/checkout@v4 @@ -89,7 +89,7 @@ jobs: - name: Upload the archive of built files uses: actions/upload-artifact@v4 with: - name: build-js-artifacts-${{ github.sha }} + name: js-build-${{ github.sha }} path: ${{ steps.diff.outputs.files }} retention-days: 1 if-no-files-found: error diff --git a/.github/workflows/tests-codeql.yml b/.github/workflows/tests-codeql.yml index 37f4b056cb0..0759dc73200 100644 --- a/.github/workflows/tests-codeql.yml +++ b/.github/workflows/tests-codeql.yml @@ -33,7 +33,7 @@ jobs: - name: Download JS build artifacts uses: actions/download-artifact@v4 with: - name: build-js-artifacts-${{ github.sha }} + name: js-build-${{ github.sha }} - name: Initialize CodeQL uses: github/codeql-action/init@v2 diff --git a/.github/workflows/tests-dashmate.yml b/.github/workflows/tests-dashmate.yml index 35e402fcce8..86e614b2938 100644 --- a/.github/workflows/tests-dashmate.yml +++ b/.github/workflows/tests-dashmate.yml @@ -44,7 +44,7 @@ jobs: - name: Download JS build artifacts uses: actions/download-artifact@v4 with: - name: build-js-artifacts-${{ github.sha }} + name: js-build-${{ github.sha }} - name: Replace with pre-built images run: | diff --git a/.github/workflows/tests-js-package.yml b/.github/workflows/tests-js-package.yml index 3c358153bc1..aaa106f94aa 100644 --- a/.github/workflows/tests-js-package.yml +++ b/.github/workflows/tests-js-package.yml @@ -38,7 +38,7 @@ jobs: - name: Download JS build artifacts uses: actions/download-artifact@v4 with: - name: build-js-artifacts-${{ github.sha }} + name: js-build-${{ github.sha }} - name: Run ESLinter run: yarn workspace "${{ inputs.package }}" lint @@ -69,7 +69,7 @@ jobs: - name: Download JS build artifacts uses: actions/download-artifact@v4 with: - name: build-js-artifacts-${{ github.sha }} + name: js-build-${{ github.sha }} - name: Create necessary dotenv files run: | diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index f38c226c148..9fcdac04c9e 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -245,5 +245,5 @@ jobs: steps: - uses: geekyeggo/delete-artifact@v5 with: - name: build-js-artifacts-${{ github.sha }} + name: js-build-${{ github.sha }} if: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule' || !github.event.pull_request.draft }} From a12d16da50a2ea8f2f626e3bedce755bc1654e7f Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Thu, 14 Nov 2024 13:47:12 +0700 Subject: [PATCH 08/40] ci: fix get modified files --- .github/workflows/tests-build-js.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests-build-js.yml b/.github/workflows/tests-build-js.yml index b9e459f4077..638dd136b5d 100644 --- a/.github/workflows/tests-build-js.yml +++ b/.github/workflows/tests-build-js.yml @@ -82,7 +82,7 @@ jobs: - name: Get modified files id: diff run: | - files=$(git ls-files --others --exclude-standard) + files="$(git ls-files --others --exclude-standard)" echo "files=$files" >> $GITHUB_OUTPUT if: ${{ steps.check-artifact.outputs.exists != 'true' }} From 30111bea6004ad0c6cb5e1f3406968151e67011e Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Thu, 14 Nov 2024 14:55:16 +0700 Subject: [PATCH 09/40] ci: fix get modified files again --- .github/workflows/tests-build-js.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tests-build-js.yml b/.github/workflows/tests-build-js.yml index 638dd136b5d..0aff8a03c7b 100644 --- a/.github/workflows/tests-build-js.yml +++ b/.github/workflows/tests-build-js.yml @@ -82,8 +82,9 @@ jobs: - name: Get modified files id: diff run: | - files="$(git ls-files --others --exclude-standard)" - echo "files=$files" >> $GITHUB_OUTPUT + echo "files<> $GITHUB_OUTPUT + git ls-files --others --exclude-standard >> $GITHUB_OUTPUT + echo "EOF" >> $GITHUB_OUTPUT if: ${{ steps.check-artifact.outputs.exists != 'true' }} - name: Upload the archive of built files From 8aa56d9f6fbd8c5a8e12947354a5ff67c77d4605 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Thu, 14 Nov 2024 15:08:14 +0700 Subject: [PATCH 10/40] ci: fix download certificates --- .github/actions/local-network/action.yaml | 1 + .github/workflows/release.yml | 1 + .github/workflows/tests-build-js.yml | 1 + .github/workflows/tests-codeql.yml | 1 + .github/workflows/tests-dashmate.yml | 1 + .github/workflows/tests-js-package.yml | 2 ++ 6 files changed, 7 insertions(+) diff --git a/.github/actions/local-network/action.yaml b/.github/actions/local-network/action.yaml index 454831bcc02..5a2ec3572dc 100644 --- a/.github/actions/local-network/action.yaml +++ b/.github/actions/local-network/action.yaml @@ -15,6 +15,7 @@ runs: uses: actions/download-artifact@v4 with: name: js-build-${{ github.sha }} + path: packages - name: Unpack JS build artifacts archive shell: bash diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 970e257f36d..79803d98d8b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -250,6 +250,7 @@ jobs: uses: actions/download-artifact@v4 with: name: js-build-${{ github.sha }} + path: packages - name: Install macOS build deps if: runner.os == 'macOS' diff --git a/.github/workflows/tests-build-js.yml b/.github/workflows/tests-build-js.yml index 0aff8a03c7b..f132cdb2cb0 100644 --- a/.github/workflows/tests-build-js.yml +++ b/.github/workflows/tests-build-js.yml @@ -94,5 +94,6 @@ jobs: path: ${{ steps.diff.outputs.files }} retention-days: 1 if-no-files-found: error + include-hidden-files: true if: ${{ steps.check-artifact.outputs.exists != 'true' }} diff --git a/.github/workflows/tests-codeql.yml b/.github/workflows/tests-codeql.yml index 0759dc73200..034fd545b85 100644 --- a/.github/workflows/tests-codeql.yml +++ b/.github/workflows/tests-codeql.yml @@ -34,6 +34,7 @@ jobs: uses: actions/download-artifact@v4 with: name: js-build-${{ github.sha }} + path: packages - name: Initialize CodeQL uses: github/codeql-action/init@v2 diff --git a/.github/workflows/tests-dashmate.yml b/.github/workflows/tests-dashmate.yml index 86e614b2938..802d9cd5042 100644 --- a/.github/workflows/tests-dashmate.yml +++ b/.github/workflows/tests-dashmate.yml @@ -45,6 +45,7 @@ jobs: uses: actions/download-artifact@v4 with: name: js-build-${{ github.sha }} + path: packages - name: Replace with pre-built images run: | diff --git a/.github/workflows/tests-js-package.yml b/.github/workflows/tests-js-package.yml index aaa106f94aa..e71d9d85d1b 100644 --- a/.github/workflows/tests-js-package.yml +++ b/.github/workflows/tests-js-package.yml @@ -39,6 +39,7 @@ jobs: uses: actions/download-artifact@v4 with: name: js-build-${{ github.sha }} + path: packages - name: Run ESLinter run: yarn workspace "${{ inputs.package }}" lint @@ -70,6 +71,7 @@ jobs: uses: actions/download-artifact@v4 with: name: js-build-${{ github.sha }} + path: packages - name: Create necessary dotenv files run: | From 5eab16cd87d902591729e830320050e199c696a8 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Thu, 14 Nov 2024 15:26:00 +0700 Subject: [PATCH 11/40] docs: add comment --- packages/rs-drive-abci/src/metrics.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/rs-drive-abci/src/metrics.rs b/packages/rs-drive-abci/src/metrics.rs index 943f0d5aaed..ec77b074675 100644 --- a/packages/rs-drive-abci/src/metrics.rs +++ b/packages/rs-drive-abci/src/metrics.rs @@ -11,7 +11,7 @@ use metrics_exporter_prometheus::PrometheusBuilder; /// Default Prometheus port (29090) pub const DEFAULT_PROMETHEUS_PORT: u16 = 29090; - +/// Last block time in seconds const COUNTER_LAST_BLOCK_TIME: &str = "abci_last_block_time_seconds"; const COUNTER_LAST_HEIGHT: &str = "abci_last_finalized_height"; const HISTOGRAM_FINALIZED_ROUND: &str = "abci_finalized_round"; From 71bddbab4258ab672f73ac4d30416f9687bb5084 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Thu, 14 Nov 2024 15:53:04 +0700 Subject: [PATCH 12/40] ci: layer to registry, disable sccache --- .github/actions/docker/action.yaml | 16 +++------------- .github/workflows/release.yml | 3 +-- .github/workflows/tests-build-js.yml | 3 +-- .github/workflows/tests-rs-package.yml | 15 +++++---------- 4 files changed, 10 insertions(+), 27 deletions(-) diff --git a/.github/actions/docker/action.yaml b/.github/actions/docker/action.yaml index 886cfca8e0c..f94214e6072 100644 --- a/.github/actions/docker/action.yaml +++ b/.github/actions/docker/action.yaml @@ -146,13 +146,6 @@ runs: } skip-extraction: ${{ steps.yarn-cache.outputs.cache-hit }} - - name: Export actions cache vars - uses: actions/github-script@v7 - with: - script: | - core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); - core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); - - name: Build and push Docker image ${{ inputs.image }} id: docker_build uses: docker/build-push-action@v6 @@ -166,10 +159,7 @@ runs: platforms: ${{ inputs.platform }} build-args: | CARGO_BUILD_PROFILE=${{ inputs.cargo_profile }} - RUSTC_WRAPPER=sccache - SCCACHE_GHA_ENABLED=true - ACTIONS_CACHE_URL=${{ env.ACTIONS_CACHE_URL }} - ACTIONS_RUNTIME_TOKEN=${{ env.ACTIONS_RUNTIME_TOKEN }} +# RUSTC_WRAPPER=sccache # SCCACHE_BUCKET=${{ inputs.bucket }} # SCCACHE_REGION=${{ inputs.region }} # SCCACHE_S3_KEY_PREFIX=${{ runner.os }}/sccache @@ -178,8 +168,8 @@ runs: # AWS_REGION=${{ inputs.region }} # cache-from: ${{ steps.layer_cache_settings.outputs.cache_from }} # cache-to: ${{ steps.layer_cache_settings.outputs.cache_to }} - cache-from: type=gha - cache-to: type=gha,mode=max + cache-from: type=registry,ref=${{ inputs.image_org }}/${{ inputs.image_name }}:build-cache + cache-to: type=registry,ref=${{ inputs.image_org }}/${{ inputs.image_name }}:build-cache,mode=max outputs: type=image,name=${{ inputs.image_org }}/${{ inputs.image_name }},push-by-digest=${{ inputs.push_tags != 'true' }},name-canonical=true,push=true # - name: Save Docker mount cache diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 79803d98d8b..ff188ab2477 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -81,8 +81,7 @@ jobs: run: yarn build env: CARGO_BUILD_PROFILE: release - RUSTC_WRAPPER: sccache - SCCACHE_GHA_ENABLED: true +# RUSTC_WRAPPER: sccache # SCCACHE_BUCKET: multi-runner-cache-x1xibo9c # SCCACHE_REGION: ${{ secrets.AWS_REGION }} # SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/wasm/wasm32 diff --git a/.github/workflows/tests-build-js.yml b/.github/workflows/tests-build-js.yml index f132cdb2cb0..9c09c744f03 100644 --- a/.github/workflows/tests-build-js.yml +++ b/.github/workflows/tests-build-js.yml @@ -60,8 +60,7 @@ jobs: - name: Build JS packages run: yarn build env: - RUSTC_WRAPPER: sccache - SCCACHE_GHA_ENABLED: true +# RUSTC_WRAPPER: sccache # SCCACHE_BUCKET: multi-runner-cache-x1xibo9c # SCCACHE_REGION: ${{ secrets.AWS_REGION }} # SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/wasm/wasm32 diff --git a/.github/workflows/tests-rs-package.yml b/.github/workflows/tests-rs-package.yml index 2f2cb34eb39..7fb07c3c3f4 100644 --- a/.github/workflows/tests-rs-package.yml +++ b/.github/workflows/tests-rs-package.yml @@ -48,8 +48,7 @@ jobs: with: args: --package ${{ inputs.package }} --all-features --locked -- --no-deps env: - RUSTC_WRAPPER: sccache - SCCACHE_GHA_ENABLED: true +# RUSTC_WRAPPER: sccache # SCCACHE_BUCKET: multi-runner-cache-x1xibo9c # SCCACHE_REGION: ${{ secrets.AWS_REGION }} # SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/${{ runner.arch }}/linux-gnu @@ -82,8 +81,7 @@ jobs: - name: Check formatting env: - RUSTC_WRAPPER: sccache - SCCACHE_GHA_ENABLED: true +# RUSTC_WRAPPER: sccache # SCCACHE_BUCKET: multi-runner-cache-x1xibo9c # SCCACHE_REGION: ${{ secrets.AWS_REGION }} # SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/${{ runner.arch }}/linux-gnu @@ -129,8 +127,7 @@ jobs: - name: Find unused dependencies uses: lklimek/cargo-machete@feat/workdir env: - RUSTC_WRAPPER: sccache - SCCACHE_GHA_ENABLED: true +# RUSTC_WRAPPER: sccache # SCCACHE_BUCKET: multi-runner-cache-x1xibo9c # SCCACHE_REGION: ${{ secrets.AWS_REGION }} # SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/${{ runner.arch }}/linux-gnu @@ -233,8 +230,7 @@ jobs: - name: Run tests run: cargo test --package=${{ inputs.package }} --all-features --locked env: - RUSTC_WRAPPER: sccache - SCCACHE_GHA_ENABLED: true +# RUSTC_WRAPPER: sccache # SCCACHE_BUCKET: multi-runner-cache-x1xibo9c # SCCACHE_REGION: ${{ secrets.AWS_REGION }} # SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/${{ runner.arch }}/linux-gnu @@ -280,8 +276,7 @@ jobs: - name: Check each feature in ${{ inputs.package }} env: - RUSTC_WRAPPER: sccache - SCCACHE_GHA_ENABLED: true +# RUSTC_WRAPPER: sccache # SCCACHE_BUCKET: multi-runner-cache-x1xibo9c # SCCACHE_REGION: ${{ secrets.AWS_REGION }} # SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/${{ runner.arch }}/linux-gnu From 84852e4d94643e5bbecc25746a4a2069038635cf Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Thu, 14 Nov 2024 16:00:08 +0700 Subject: [PATCH 13/40] ci: fix workflow --- .github/workflows/tests-build-js.yml | 2 +- .github/workflows/tests-rs-package.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tests-build-js.yml b/.github/workflows/tests-build-js.yml index 9c09c744f03..d2b4fac5b8a 100644 --- a/.github/workflows/tests-build-js.yml +++ b/.github/workflows/tests-build-js.yml @@ -59,7 +59,7 @@ jobs: - name: Build JS packages run: yarn build - env: +# env: # RUSTC_WRAPPER: sccache # SCCACHE_BUCKET: multi-runner-cache-x1xibo9c # SCCACHE_REGION: ${{ secrets.AWS_REGION }} diff --git a/.github/workflows/tests-rs-package.yml b/.github/workflows/tests-rs-package.yml index 7fb07c3c3f4..df1cb4a86b1 100644 --- a/.github/workflows/tests-rs-package.yml +++ b/.github/workflows/tests-rs-package.yml @@ -80,7 +80,7 @@ jobs: core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); - name: Check formatting - env: +# env: # RUSTC_WRAPPER: sccache # SCCACHE_BUCKET: multi-runner-cache-x1xibo9c # SCCACHE_REGION: ${{ secrets.AWS_REGION }} From fe9f565828dd83312cff9029f8a21292a7b3cb01 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Thu, 14 Nov 2024 16:21:34 +0700 Subject: [PATCH 14/40] ci: fix librocksdb cache --- .github/actions/librocksdb/action.yaml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/actions/librocksdb/action.yaml b/.github/actions/librocksdb/action.yaml index 9c58ecc6688..7d721ac337e 100644 --- a/.github/actions/librocksdb/action.yaml +++ b/.github/actions/librocksdb/action.yaml @@ -30,8 +30,9 @@ runs: # path: /opt/rocksdb # key: librocksdb/${{ inputs.version }}/${{ runner.os }}/${{ runner.arch }} - - name: Restore cached librocksdb + - name: Cache librocksdb uses: actions/cache@v4 + id: librocksdb-cache with: key: librocksdb/${{ inputs.version }}/${{ runner.os }}/${{ runner.arch }} path: /opt/rocksdb From c9dd655b7999a19bfe9cc2afaf020db7816a4fed Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Thu, 14 Nov 2024 16:28:58 +0700 Subject: [PATCH 15/40] ci: fix docker layer cache --- .github/actions/docker/action.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/docker/action.yaml b/.github/actions/docker/action.yaml index f94214e6072..40b0209e712 100644 --- a/.github/actions/docker/action.yaml +++ b/.github/actions/docker/action.yaml @@ -169,7 +169,7 @@ runs: # cache-from: ${{ steps.layer_cache_settings.outputs.cache_from }} # cache-to: ${{ steps.layer_cache_settings.outputs.cache_to }} cache-from: type=registry,ref=${{ inputs.image_org }}/${{ inputs.image_name }}:build-cache - cache-to: type=registry,ref=${{ inputs.image_org }}/${{ inputs.image_name }}:build-cache,mode=max + cache-to: type=registry,ref=docker.io/dashpay/${{ inputs.image_org }}:build-cache,mode=max outputs: type=image,name=${{ inputs.image_org }}/${{ inputs.image_name }},push-by-digest=${{ inputs.push_tags != 'true' }},name-canonical=true,push=true # - name: Save Docker mount cache From a957dd038195bfbd655f0ba883d9cec9efdf400a Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Thu, 14 Nov 2024 16:33:54 +0700 Subject: [PATCH 16/40] ci: back to ECR --- .github/actions/docker/action.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/docker/action.yaml b/.github/actions/docker/action.yaml index 40b0209e712..3734c56745a 100644 --- a/.github/actions/docker/action.yaml +++ b/.github/actions/docker/action.yaml @@ -169,7 +169,7 @@ runs: # cache-from: ${{ steps.layer_cache_settings.outputs.cache_from }} # cache-to: ${{ steps.layer_cache_settings.outputs.cache_to }} cache-from: type=registry,ref=${{ inputs.image_org }}/${{ inputs.image_name }}:build-cache - cache-to: type=registry,ref=docker.io/dashpay/${{ inputs.image_org }}:build-cache,mode=max + cache-to: type=registry,image-manifest=true,oci-mediatypes=true,ref=${{ inputs.image_org }}/${{ inputs.image_name }}:build-cache,mode=max outputs: type=image,name=${{ inputs.image_org }}/${{ inputs.image_name }},push-by-digest=${{ inputs.push_tags != 'true' }},name-canonical=true,push=true # - name: Save Docker mount cache From e338503010c56115db6a07f13fc4086ed167d936 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Thu, 14 Nov 2024 17:00:24 +0700 Subject: [PATCH 17/40] ci: fix js artifacts --- .github/actions/local-network/action.yaml | 4 ---- .github/actions/rust/action.yaml | 28 ++--------------------- .github/workflows/release.yml | 12 +++++----- 3 files changed, 8 insertions(+), 36 deletions(-) diff --git a/.github/actions/local-network/action.yaml b/.github/actions/local-network/action.yaml index 5a2ec3572dc..838c56e324b 100644 --- a/.github/actions/local-network/action.yaml +++ b/.github/actions/local-network/action.yaml @@ -17,10 +17,6 @@ runs: name: js-build-${{ github.sha }} path: packages - - name: Unpack JS build artifacts archive - shell: bash - run: tar -xf js-build-${{ github.sha }}.tar - - name: Get dashmate fingerprint id: dashmate-fingerprint shell: bash diff --git a/.github/actions/rust/action.yaml b/.github/actions/rust/action.yaml index 97853618b7a..3b74e2102b4 100644 --- a/.github/actions/rust/action.yaml +++ b/.github/actions/rust/action.yaml @@ -17,6 +17,7 @@ inputs: required: false default: "true" +# TODO: Cache deps here to save 1 minute runs: using: composite steps: @@ -32,10 +33,8 @@ runs: echo "TOOLCHAIN_VERSION=$TOOLCHAIN_VERSION" >> $GITHUB_ENV echo "::set-output name=version::$TOOLCHAIN_VERSION" - # TODO: Move to AMI and build every day - uses: dtolnay/rust-toolchain@master name: Install Rust toolchain - id: install_rust with: toolchain: ${{ steps.rust_toolchain.outputs.version }} target: ${{ inputs.target }} @@ -60,7 +59,6 @@ runs: ;; esac - # TODO: Move to AMI and build every day - name: Check if protoc is installed id: check-protoc shell: bash @@ -84,36 +82,16 @@ runs: echo "PROTOC=${HOME}/.local/bin/protoc" >> $GITHUB_ENV export PATH="${PATH}:${HOME}/.local/bin" - - name: Run sccache-cache + - name: Install sccache-cache uses: mozilla-actions/sccache-action@v0.0.6 with: version: "v0.8.2" # Must be the same as in Dockerfile if: inputs.cache == 'true' - - name: Hash ref_name - id: hashed-ref-name - shell: bash - run: echo "key=$(echo '${{ github.ref_name }}' | sha256sum | cut -d ' ' -f1)" >> $GITHUB_OUTPUT - - name: Set HOME variable to github context shell: bash run: echo "HOME=$HOME" >> $GITHUB_ENV -# - name: Cache cargo registry (S3 bucket cache) -# uses: strophy/actions-cache@opendal-update -# if: inputs.cache == 'true' -# with: -# bucket: multi-runner-cache-x1xibo9c -# root: actions-cache -# path: | -# ${{ env.HOME }}/.cargo/registry/index -# ${{ env.HOME }}/.cargo/registry/cache -# ${{ env.HOME }}/.cargo/git -# key: ${{ runner.os }}/cargo/registry/${{ hashFiles('**/Cargo.lock') }} -# restore-keys: | -# ${{ runner.os }}/cargo/registry/${{ hashFiles('**/Cargo.lock') }} -# ${{ runner.os }}/cargo/registry/ - - name: Cache cargo registry uses: actions/cache@v4 if: inputs.cache == 'true' @@ -127,8 +105,6 @@ runs: ${{ runner.os }}/cargo/registry/${{ hashFiles('**/Cargo.lock') }} ${{ runner.os }}/cargo/registry/ - - # TODO: Move to AMI and build every day - name: Install clang id: deps-clang shell: bash diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ff188ab2477..2b0198eb5d9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -137,20 +137,20 @@ jobs: - name: Get modified files id: diff - run: git ls-files --others --exclude-standard >> artifacts_list.txt - if: ${{ steps.check-artifact.outputs.exists != 'true' }} - - - name: Create an archive of built files - run: xargs -a artifacts_list.txt tar cvf js-build-${{ github.sha }}.tar + run: | + echo "files<> $GITHUB_OUTPUT + git ls-files --others --exclude-standard >> $GITHUB_OUTPUT + echo "EOF" >> $GITHUB_OUTPUT if: ${{ steps.check-artifact.outputs.exists != 'true' }} - name: Upload the archive of built files uses: actions/upload-artifact@v4 with: name: js-build-${{ github.sha }} - path: js-build-${{ github.sha }}.tar + path: ${{ steps.diff.outputs.files }} retention-days: 1 if-no-files-found: error + include-hidden-files: true if: ${{ steps.check-artifact.outputs.exists != 'true' }} release-drive-image: From b4f6d72caa12831f30a9368506ec7343ee717ee9 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Thu, 14 Nov 2024 17:24:51 +0700 Subject: [PATCH 18/40] build: remove target cache to enable chief --- Dockerfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index d03f82d895e..62daefdaa1c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -310,7 +310,7 @@ COPY --from=build-planner /platform/recipe.json recipe.json RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOME}/registry/index \ --mount=type=cache,sharing=shared,id=cargo_registry_cache,target=${CARGO_HOME}/registry/cache \ --mount=type=cache,sharing=shared,id=cargo_git,target=${CARGO_HOME}/git/db \ - --mount=type=cache,sharing=shared,id=target_${TARGETARCH},target=/platform/target \ + #--mount=type=cache,sharing=shared,id=target_${TARGETARCH},target=/platform/target \ source $HOME/.cargo/env && \ source /root/env && \ cargo chef cook \ @@ -328,7 +328,7 @@ RUN mkdir /artifacts RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOME}/registry/index \ --mount=type=cache,sharing=shared,id=cargo_registry_cache,target=${CARGO_HOME}/registry/cache \ --mount=type=cache,sharing=shared,id=cargo_git,target=${CARGO_HOME}/git/db \ - --mount=type=cache,sharing=shared,id=target_${TARGETARCH},target=/platform/target \ + #--mount=type=cache,sharing=shared,id=target_${TARGETARCH},target=/platform/target \ source $HOME/.cargo/env && \ source /root/env && \ if [[ "${CARGO_BUILD_PROFILE}" == "release" ]] ; then \ @@ -359,7 +359,7 @@ COPY --from=build-planner /platform/recipe.json recipe.json RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOME}/registry/index \ --mount=type=cache,sharing=shared,id=cargo_registry_cache,target=${CARGO_HOME}/registry/cache \ --mount=type=cache,sharing=shared,id=cargo_git,target=${CARGO_HOME}/git/db \ - --mount=type=cache,sharing=shared,id=target_${TARGETARCH},target=/platform/target \ + #--mount=type=cache,sharing=shared,id=target_${TARGETARCH},target=/platform/target \ source $HOME/.cargo/env && \ source /root/env && \ cargo chef cook \ @@ -376,7 +376,7 @@ RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOM --mount=type=cache,sharing=shared,id=cargo_registry_cache,target=${CARGO_HOME}/registry/cache \ --mount=type=cache,sharing=shared,id=cargo_git,target=${CARGO_HOME}/git/db \ --mount=type=cache,sharing=shared,id=target_wasm,target=/platform/target \ - --mount=type=cache,sharing=shared,id=unplugged_${TARGETARCH},target=/tmp/unplugged \ + #--mount=type=cache,sharing=shared,id=unplugged_${TARGETARCH},target=/tmp/unplugged \ source $HOME/.cargo/env && \ source /root/env && \ cp -R /tmp/unplugged /platform/.yarn/ && \ From b0795d080ef7107e9adedd31cbde74007b514529 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Thu, 14 Nov 2024 17:39:48 +0700 Subject: [PATCH 19/40] build: fix build-js --- .github/workflows/cached.yml | 23 ----------------------- .github/workflows/tests.yml | 20 -------------------- Dockerfile | 4 ++-- 3 files changed, 2 insertions(+), 45 deletions(-) delete mode 100644 .github/workflows/cached.yml diff --git a/.github/workflows/cached.yml b/.github/workflows/cached.yml deleted file mode 100644 index 12eed8dd3e8..00000000000 --- a/.github/workflows/cached.yml +++ /dev/null @@ -1,23 +0,0 @@ ---- -name: Rebuild cached dependencies - -on: - workflow_dispatch: -jobs: - build-rust-deps: - name: Prebuild and cache some Rust dependencies - runs-on: ubuntu-24.04 - env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - AWS_REGION: ${{ secrets.AWS_REGION }} - - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 1 - - name: Precompile librocksdb - uses: ./.github/actions/librocksdb - with: - force: true diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 9fcdac04c9e..db0fdd2d324 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -36,25 +36,6 @@ jobs: with: filters: .github/package-filters/rs-packages.yml - build-rust-deps: - name: Prebuild and cache some Rust dependencies - runs-on: ubuntu-24.04 - needs: - - changes - # run only if any changes were detected, eg. changes job returned non-empty list - if: ${{ needs.changes.outputs.rs-packages != '[]' }} - env: - AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }} - AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }} - AWS_REGION: ${{ secrets.AWS_REGION }} - steps: - - name: Checkout - uses: actions/checkout@v4 - with: - fetch-depth: 1 - - name: Precompile librocksdb - uses: ./.github/actions/librocksdb - build-js: name: Build JS packages if: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule' || !github.event.pull_request.draft }} @@ -88,7 +69,6 @@ jobs: name: Rust packages needs: - changes - - build-rust-deps secrets: inherit strategy: fail-fast: false diff --git a/Dockerfile b/Dockerfile index 62daefdaa1c..2bc4577c5b7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -375,8 +375,8 @@ COPY . . RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOME}/registry/index \ --mount=type=cache,sharing=shared,id=cargo_registry_cache,target=${CARGO_HOME}/registry/cache \ --mount=type=cache,sharing=shared,id=cargo_git,target=${CARGO_HOME}/git/db \ - --mount=type=cache,sharing=shared,id=target_wasm,target=/platform/target \ - #--mount=type=cache,sharing=shared,id=unplugged_${TARGETARCH},target=/tmp/unplugged \ +# --mount=type=cache,sharing=shared,id=target_wasm,target=/platform/target \ + --mount=type=cache,sharing=shared,id=unplugged_${TARGETARCH},target=/tmp/unplugged \ source $HOME/.cargo/env && \ source /root/env && \ cp -R /tmp/unplugged /platform/.yarn/ && \ From 860a04c25e496d94144fc2dcd8af70be49d78f35 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Thu, 14 Nov 2024 17:54:35 +0700 Subject: [PATCH 20/40] build: fix chief --- Dockerfile | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/Dockerfile b/Dockerfile index 2bc4577c5b7..5a3dbc0b154 100644 --- a/Dockerfile +++ b/Dockerfile @@ -307,9 +307,9 @@ WORKDIR /platform COPY --from=build-planner /platform/recipe.json recipe.json # Build dependencies - this is the caching Docker layer! -RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOME}/registry/index \ - --mount=type=cache,sharing=shared,id=cargo_registry_cache,target=${CARGO_HOME}/registry/cache \ - --mount=type=cache,sharing=shared,id=cargo_git,target=${CARGO_HOME}/git/db \ +RUN #--mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOME}/registry/index \ + #--mount=type=cache,sharing=shared,id=cargo_registry_cache,target=${CARGO_HOME}/registry/cache \ + #--mount=type=cache,sharing=shared,id=cargo_git,target=${CARGO_HOME}/git/db \ #--mount=type=cache,sharing=shared,id=target_${TARGETARCH},target=/platform/target \ source $HOME/.cargo/env && \ source /root/env && \ @@ -325,9 +325,9 @@ COPY . . RUN mkdir /artifacts # Build Drive ABCI -RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOME}/registry/index \ - --mount=type=cache,sharing=shared,id=cargo_registry_cache,target=${CARGO_HOME}/registry/cache \ - --mount=type=cache,sharing=shared,id=cargo_git,target=${CARGO_HOME}/git/db \ +RUN #--mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOME}/registry/index \ + #--mount=type=cache,sharing=shared,id=cargo_registry_cache,target=${CARGO_HOME}/registry/cache \ + #--mount=type=cache,sharing=shared,id=cargo_git,target=${CARGO_HOME}/git/db \ #--mount=type=cache,sharing=shared,id=target_${TARGETARCH},target=/platform/target \ source $HOME/.cargo/env && \ source /root/env && \ @@ -356,9 +356,9 @@ WORKDIR /platform COPY --from=build-planner /platform/recipe.json recipe.json # Build dependencies - this is the caching Docker layer! -RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOME}/registry/index \ - --mount=type=cache,sharing=shared,id=cargo_registry_cache,target=${CARGO_HOME}/registry/cache \ - --mount=type=cache,sharing=shared,id=cargo_git,target=${CARGO_HOME}/git/db \ +RUN #--mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOME}/registry/index \ + #--mount=type=cache,sharing=shared,id=cargo_registry_cache,target=${CARGO_HOME}/registry/cache \ + #--mount=type=cache,sharing=shared,id=cargo_git,target=${CARGO_HOME}/git/db \ #--mount=type=cache,sharing=shared,id=target_${TARGETARCH},target=/platform/target \ source $HOME/.cargo/env && \ source /root/env && \ @@ -372,9 +372,9 @@ RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOM COPY . . -RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOME}/registry/index \ - --mount=type=cache,sharing=shared,id=cargo_registry_cache,target=${CARGO_HOME}/registry/cache \ - --mount=type=cache,sharing=shared,id=cargo_git,target=${CARGO_HOME}/git/db \ +RUN #--mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOME}/registry/index \ + #--mount=type=cache,sharing=shared,id=cargo_registry_cache,target=${CARGO_HOME}/registry/cache \ + #--mount=type=cache,sharing=shared,id=cargo_git,target=${CARGO_HOME}/git/db \ # --mount=type=cache,sharing=shared,id=target_wasm,target=/platform/target \ --mount=type=cache,sharing=shared,id=unplugged_${TARGETARCH},target=/tmp/unplugged \ source $HOME/.cargo/env && \ From 55bb2ed4a44a1e037cc9a45083596bf2f5105717 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Thu, 14 Nov 2024 18:04:06 +0700 Subject: [PATCH 21/40] build: fix chief 2 --- Dockerfile | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/Dockerfile b/Dockerfile index 5a3dbc0b154..1ecef3e472f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -307,12 +307,19 @@ WORKDIR /platform COPY --from=build-planner /platform/recipe.json recipe.json # Build dependencies - this is the caching Docker layer! -RUN #--mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOME}/registry/index \ - #--mount=type=cache,sharing=shared,id=cargo_registry_cache,target=${CARGO_HOME}/registry/cache \ - #--mount=type=cache,sharing=shared,id=cargo_git,target=${CARGO_HOME}/git/db \ +RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOME}/registry/index \ + --mount=type=cache,sharing=shared,id=cargo_registry_cache,target=${CARGO_HOME}/registry/cache \ + --mount=type=cache,sharing=shared,id=cargo_git,target=${CARGO_HOME}/git/db \ #--mount=type=cache,sharing=shared,id=target_${TARGETARCH},target=/platform/target \ source $HOME/.cargo/env && \ source /root/env && \ + if [[ "${CARGO_BUILD_PROFILE}" == "release" ]] ; then \ + mv .cargo/config-release.toml .cargo/config.toml && \ + export OUT_DIRECTORY=release ; \ + else \ + export FEATURES_FLAG="--features=console,grovedbg" ; \ + export OUT_DIRECTORY=debug ; \ + fi && \ cargo chef cook \ --recipe-path recipe.json \ --profile "$CARGO_BUILD_PROFILE" \ @@ -325,9 +332,9 @@ COPY . . RUN mkdir /artifacts # Build Drive ABCI -RUN #--mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOME}/registry/index \ - #--mount=type=cache,sharing=shared,id=cargo_registry_cache,target=${CARGO_HOME}/registry/cache \ - #--mount=type=cache,sharing=shared,id=cargo_git,target=${CARGO_HOME}/git/db \ +RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOME}/registry/index \ + --mount=type=cache,sharing=shared,id=cargo_registry_cache,target=${CARGO_HOME}/registry/cache \ + --mount=type=cache,sharing=shared,id=cargo_git,target=${CARGO_HOME}/git/db \ #--mount=type=cache,sharing=shared,id=target_${TARGETARCH},target=/platform/target \ source $HOME/.cargo/env && \ source /root/env && \ @@ -356,9 +363,9 @@ WORKDIR /platform COPY --from=build-planner /platform/recipe.json recipe.json # Build dependencies - this is the caching Docker layer! -RUN #--mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOME}/registry/index \ - #--mount=type=cache,sharing=shared,id=cargo_registry_cache,target=${CARGO_HOME}/registry/cache \ - #--mount=type=cache,sharing=shared,id=cargo_git,target=${CARGO_HOME}/git/db \ +RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOME}/registry/index \ + --mount=type=cache,sharing=shared,id=cargo_registry_cache,target=${CARGO_HOME}/registry/cache \ + --mount=type=cache,sharing=shared,id=cargo_git,target=${CARGO_HOME}/git/db \ #--mount=type=cache,sharing=shared,id=target_${TARGETARCH},target=/platform/target \ source $HOME/.cargo/env && \ source /root/env && \ @@ -372,9 +379,9 @@ RUN #--mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HO COPY . . -RUN #--mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOME}/registry/index \ - #--mount=type=cache,sharing=shared,id=cargo_registry_cache,target=${CARGO_HOME}/registry/cache \ - #--mount=type=cache,sharing=shared,id=cargo_git,target=${CARGO_HOME}/git/db \ +RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOME}/registry/index \ + --mount=type=cache,sharing=shared,id=cargo_registry_cache,target=${CARGO_HOME}/registry/cache \ + --mount=type=cache,sharing=shared,id=cargo_git,target=${CARGO_HOME}/git/db \ # --mount=type=cache,sharing=shared,id=target_wasm,target=/platform/target \ --mount=type=cache,sharing=shared,id=unplugged_${TARGETARCH},target=/tmp/unplugged \ source $HOME/.cargo/env && \ From c77aed54ad026427e55a106e44414a02269c8c2a Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Thu, 14 Nov 2024 18:40:06 +0700 Subject: [PATCH 22/40] build: pass target and features to chef --- Dockerfile | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Dockerfile b/Dockerfile index 1ecef3e472f..9c84c7e1b67 100644 --- a/Dockerfile +++ b/Dockerfile @@ -320,10 +320,19 @@ RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOM export FEATURES_FLAG="--features=console,grovedbg" ; \ export OUT_DIRECTORY=debug ; \ fi && \ + if [ "$TARGETARCH" = "amd64" ]; then \ + CARGO_TARGET="x86_64-unknown-linux-musl"; \ + elif [ "$TARGETARCH" = "arm64" ]; then \ + CARGO_TARGET="aarch64-unknown-linux-musl"; \ + else \ + echo "Unsupported architecture: $TARGETARCH"; exit 1; \ + fi; \ cargo chef cook \ --recipe-path recipe.json \ --profile "$CARGO_BUILD_PROFILE" \ --package drive-abci \ + ${FEATURES_FLAG} \ + --target $CARGO_TARGET \ --locked && \ if [[ -x /usr/bin/sccache ]]; then sccache --show-stats; fi @@ -345,10 +354,18 @@ RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOM export FEATURES_FLAG="--features=console,grovedbg" ; \ export OUT_DIRECTORY=debug ; \ fi && \ + if [ "$TARGETARCH" = "amd64" ]; then \ + CARGO_TARGET="x86_64-unknown-linux-musl"; \ + elif [ "$TARGETARCH" = "arm64" ]; then \ + CARGO_TARGET="aarch64-unknown-linux-musl"; \ + else \ + echo "Unsupported architecture: $TARGETARCH"; exit 1; \ + fi; \ cargo build \ --profile "${CARGO_BUILD_PROFILE}" \ --package drive-abci \ ${FEATURES_FLAG} \ + --target $CARGO_TARGET \ --locked && \ cp /platform/target/${OUT_DIRECTORY}/drive-abci /artifacts/ && \ if [[ -x /usr/bin/sccache ]]; then sccache --show-stats; fi From 3b1cf9783738411e78eb6406d3763fa1192fbd2c Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Thu, 14 Nov 2024 20:03:12 +0700 Subject: [PATCH 23/40] build: trying to fix drive build --- Dockerfile | 14 +++++++------- packages/wasm-dpp/src/lib.rs | 1 + 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/Dockerfile b/Dockerfile index 9c84c7e1b67..dcc0505f21d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -311,19 +311,18 @@ RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOM --mount=type=cache,sharing=shared,id=cargo_registry_cache,target=${CARGO_HOME}/registry/cache \ --mount=type=cache,sharing=shared,id=cargo_git,target=${CARGO_HOME}/git/db \ #--mount=type=cache,sharing=shared,id=target_${TARGETARCH},target=/platform/target \ + set -ex; \ source $HOME/.cargo/env && \ source /root/env && \ if [[ "${CARGO_BUILD_PROFILE}" == "release" ]] ; then \ - mv .cargo/config-release.toml .cargo/config.toml && \ - export OUT_DIRECTORY=release ; \ + mv .cargo/config-release.toml .cargo/config.toml; \ else \ export FEATURES_FLAG="--features=console,grovedbg" ; \ - export OUT_DIRECTORY=debug ; \ fi && \ if [ "$TARGETARCH" = "amd64" ]; then \ - CARGO_TARGET="x86_64-unknown-linux-musl"; \ + export CARGO_TARGET="x86_64-unknown-linux-musl"; \ elif [ "$TARGETARCH" = "arm64" ]; then \ - CARGO_TARGET="aarch64-unknown-linux-musl"; \ + export CARGO_TARGET="aarch64-unknown-linux-musl"; \ else \ echo "Unsupported architecture: $TARGETARCH"; exit 1; \ fi; \ @@ -345,6 +344,7 @@ RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOM --mount=type=cache,sharing=shared,id=cargo_registry_cache,target=${CARGO_HOME}/registry/cache \ --mount=type=cache,sharing=shared,id=cargo_git,target=${CARGO_HOME}/git/db \ #--mount=type=cache,sharing=shared,id=target_${TARGETARCH},target=/platform/target \ + set -ex; \ source $HOME/.cargo/env && \ source /root/env && \ if [[ "${CARGO_BUILD_PROFILE}" == "release" ]] ; then \ @@ -355,9 +355,9 @@ RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOM export OUT_DIRECTORY=debug ; \ fi && \ if [ "$TARGETARCH" = "amd64" ]; then \ - CARGO_TARGET="x86_64-unknown-linux-musl"; \ + export CARGO_TARGET="x86_64-unknown-linux-musl"; \ elif [ "$TARGETARCH" = "arm64" ]; then \ - CARGO_TARGET="aarch64-unknown-linux-musl"; \ + export CARGO_TARGET="aarch64-unknown-linux-musl"; \ else \ echo "Unsupported architecture: $TARGETARCH"; exit 1; \ fi; \ diff --git a/packages/wasm-dpp/src/lib.rs b/packages/wasm-dpp/src/lib.rs index 6d0aa9c50c1..8d815ed6c22 100644 --- a/packages/wasm-dpp/src/lib.rs +++ b/packages/wasm-dpp/src/lib.rs @@ -19,6 +19,7 @@ mod identifier; mod identity; mod metadata; // mod state_repository; +/// State transitions pub mod state_transition; // mod version; From 959016dd7487ff4a8cc13441614b7cdfd0412d1b Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Thu, 14 Nov 2024 20:39:47 +0700 Subject: [PATCH 24/40] build: remove target --- Dockerfile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index dcc0505f21d..d137cce72b9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -312,8 +312,6 @@ RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOM --mount=type=cache,sharing=shared,id=cargo_git,target=${CARGO_HOME}/git/db \ #--mount=type=cache,sharing=shared,id=target_${TARGETARCH},target=/platform/target \ set -ex; \ - source $HOME/.cargo/env && \ - source /root/env && \ if [[ "${CARGO_BUILD_PROFILE}" == "release" ]] ; then \ mv .cargo/config-release.toml .cargo/config.toml; \ else \ @@ -326,12 +324,14 @@ RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOM else \ echo "Unsupported architecture: $TARGETARCH"; exit 1; \ fi; \ + source $HOME/.cargo/env && \ + source /root/env && \ cargo chef cook \ --recipe-path recipe.json \ --profile "$CARGO_BUILD_PROFILE" \ --package drive-abci \ ${FEATURES_FLAG} \ - --target $CARGO_TARGET \ +# --target $CARGO_TARGET \ --locked && \ if [[ -x /usr/bin/sccache ]]; then sccache --show-stats; fi @@ -365,7 +365,7 @@ RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOM --profile "${CARGO_BUILD_PROFILE}" \ --package drive-abci \ ${FEATURES_FLAG} \ - --target $CARGO_TARGET \ +# --target $CARGO_TARGET \ --locked && \ cp /platform/target/${OUT_DIRECTORY}/drive-abci /artifacts/ && \ if [[ -x /usr/bin/sccache ]]; then sccache --show-stats; fi From febf93eb1a2be6d27b0e3b2e083370dad20927b9 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Thu, 14 Nov 2024 21:50:56 +0700 Subject: [PATCH 25/40] build: remove target and s3 for layercache --- .github/actions/docker/action.yaml | 34 +++++++++--------------------- Dockerfile | 25 ++++++---------------- 2 files changed, 16 insertions(+), 43 deletions(-) diff --git a/.github/actions/docker/action.yaml b/.github/actions/docker/action.yaml index 3734c56745a..204f382a675 100644 --- a/.github/actions/docker/action.yaml +++ b/.github/actions/docker/action.yaml @@ -63,13 +63,6 @@ runs: [worker.oci] gc = false - # - name: Load Docker mount cache - # uses: dcginfra/buildkit-cache-dance/inject@s5cmd - # if: ${{ inputs.cache_mounts != '' }} - # with: - # bucket: ${{ inputs.bucket }} - # mounts: ${{ inputs.cache_mounts }} - - name: Set Docker tags and labels from image tag id: docker_meta uses: docker/metadata-action@v5 @@ -79,12 +72,12 @@ runs: type=semver,pattern={{version}},value=${{inputs.image_version}},enable=${{ inputs.image_version != '' }} type=sha,format=long,enable=${{ inputs.image_version == '' }} -# - name: Configure docker layer cache -# uses: ./.github/actions/s3-layer-cache-settings -# id: layer_cache_settings -# with: -# name: ${{ inputs.image_name }} -# bucket: ${{ inputs.bucket }} + - name: Configure docker layer cache + uses: ./.github/actions/s3-layer-cache-settings + id: layer_cache_settings + with: + name: ${{ inputs.image_name }} + bucket: ${{ inputs.bucket }} - name: Cargo cache for Docker uses: actions/cache@v4 @@ -166,15 +159,8 @@ runs: # AWS_ACCESS_KEY_ID=${{ inputs.aws_access_key_id }} # AWS_SECRET_ACCESS_KEY=${{ inputs.aws_secret_access_key }} # AWS_REGION=${{ inputs.region }} -# cache-from: ${{ steps.layer_cache_settings.outputs.cache_from }} -# cache-to: ${{ steps.layer_cache_settings.outputs.cache_to }} - cache-from: type=registry,ref=${{ inputs.image_org }}/${{ inputs.image_name }}:build-cache - cache-to: type=registry,image-manifest=true,oci-mediatypes=true,ref=${{ inputs.image_org }}/${{ inputs.image_name }}:build-cache,mode=max + cache-from: ${{ steps.layer_cache_settings.outputs.cache_from }} + cache-to: ${{ steps.layer_cache_settings.outputs.cache_to }} +# cache-from: type=registry,ref=${{ inputs.image_org }}/${{ inputs.image_name }}:build-cache +# cache-to: type=registry,image-manifest=true,oci-mediatypes=true,ref=${{ inputs.image_org }}/${{ inputs.image_name }}:build-cache,mode=max outputs: type=image,name=${{ inputs.image_org }}/${{ inputs.image_name }},push-by-digest=${{ inputs.push_tags != 'true' }},name-canonical=true,push=true - -# - name: Save Docker mount cache -# uses: dcginfra/buildkit-cache-dance/extract@s5cmd -# if: ${{ inputs.cache_mounts != '' }} -# with: -# bucket: ${{ inputs.bucket }} -# mounts: ${{ inputs.cache_mounts }} diff --git a/Dockerfile b/Dockerfile index d137cce72b9..4bc8561ab13 100644 --- a/Dockerfile +++ b/Dockerfile @@ -317,13 +317,6 @@ RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOM else \ export FEATURES_FLAG="--features=console,grovedbg" ; \ fi && \ - if [ "$TARGETARCH" = "amd64" ]; then \ - export CARGO_TARGET="x86_64-unknown-linux-musl"; \ - elif [ "$TARGETARCH" = "arm64" ]; then \ - export CARGO_TARGET="aarch64-unknown-linux-musl"; \ - else \ - echo "Unsupported architecture: $TARGETARCH"; exit 1; \ - fi; \ source $HOME/.cargo/env && \ source /root/env && \ cargo chef cook \ @@ -331,7 +324,6 @@ RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOM --profile "$CARGO_BUILD_PROFILE" \ --package drive-abci \ ${FEATURES_FLAG} \ -# --target $CARGO_TARGET \ --locked && \ if [[ -x /usr/bin/sccache ]]; then sccache --show-stats; fi @@ -343,7 +335,6 @@ RUN mkdir /artifacts RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOME}/registry/index \ --mount=type=cache,sharing=shared,id=cargo_registry_cache,target=${CARGO_HOME}/registry/cache \ --mount=type=cache,sharing=shared,id=cargo_git,target=${CARGO_HOME}/git/db \ - #--mount=type=cache,sharing=shared,id=target_${TARGETARCH},target=/platform/target \ set -ex; \ source $HOME/.cargo/env && \ source /root/env && \ @@ -354,22 +345,17 @@ RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOM export FEATURES_FLAG="--features=console,grovedbg" ; \ export OUT_DIRECTORY=debug ; \ fi && \ - if [ "$TARGETARCH" = "amd64" ]; then \ - export CARGO_TARGET="x86_64-unknown-linux-musl"; \ - elif [ "$TARGETARCH" = "arm64" ]; then \ - export CARGO_TARGET="aarch64-unknown-linux-musl"; \ - else \ - echo "Unsupported architecture: $TARGETARCH"; exit 1; \ - fi; \ cargo build \ --profile "${CARGO_BUILD_PROFILE}" \ --package drive-abci \ ${FEATURES_FLAG} \ -# --target $CARGO_TARGET \ --locked && \ cp /platform/target/${OUT_DIRECTORY}/drive-abci /artifacts/ && \ if [[ -x /usr/bin/sccache ]]; then sccache --show-stats; fi +# Remove target directory to save space +RUN rm -rf target + # # STAGE: BUILD JAVASCRIPT INTERMEDIATE IMAGE # @@ -383,7 +369,6 @@ COPY --from=build-planner /platform/recipe.json recipe.json RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOME}/registry/index \ --mount=type=cache,sharing=shared,id=cargo_registry_cache,target=${CARGO_HOME}/registry/cache \ --mount=type=cache,sharing=shared,id=cargo_git,target=${CARGO_HOME}/git/db \ - #--mount=type=cache,sharing=shared,id=target_${TARGETARCH},target=/platform/target \ source $HOME/.cargo/env && \ source /root/env && \ cargo chef cook \ @@ -399,7 +384,6 @@ COPY . . RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOME}/registry/index \ --mount=type=cache,sharing=shared,id=cargo_registry_cache,target=${CARGO_HOME}/registry/cache \ --mount=type=cache,sharing=shared,id=cargo_git,target=${CARGO_HOME}/git/db \ -# --mount=type=cache,sharing=shared,id=target_wasm,target=/platform/target \ --mount=type=cache,sharing=shared,id=unplugged_${TARGETARCH},target=/tmp/unplugged \ source $HOME/.cargo/env && \ source /root/env && \ @@ -410,6 +394,9 @@ RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOM yarn build && \ if [[ -x /usr/bin/sccache ]]; then sccache --show-stats; fi +# Remove target directory to save space +RUN rm -rf target + # # STAGE: FINAL DRIVE-ABCI IMAGE # From 2e34367d2f3d8c13cd8dd077b535488aed0d8916 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Thu, 14 Nov 2024 21:57:33 +0700 Subject: [PATCH 26/40] ci: enable sccache --- .github/workflows/release.yml | 8 ++--- .github/workflows/tests-build-js.yml | 10 +++--- .github/workflows/tests-rs-package.yml | 42 +++++++++++++------------- 3 files changed, 30 insertions(+), 30 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2b0198eb5d9..73da562f79a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -81,10 +81,10 @@ jobs: run: yarn build env: CARGO_BUILD_PROFILE: release -# RUSTC_WRAPPER: sccache -# SCCACHE_BUCKET: multi-runner-cache-x1xibo9c -# SCCACHE_REGION: ${{ secrets.AWS_REGION }} -# SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/wasm/wasm32 + RUSTC_WRAPPER: sccache + SCCACHE_BUCKET: multi-runner-cache-x1xibo9c + SCCACHE_REGION: ${{ secrets.AWS_REGION }} + SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/wasm/wasm32 if: ${{ steps.check-artifact.outputs.exists != 'true' }} - name: Set suffix diff --git a/.github/workflows/tests-build-js.yml b/.github/workflows/tests-build-js.yml index d2b4fac5b8a..76f8abdf55c 100644 --- a/.github/workflows/tests-build-js.yml +++ b/.github/workflows/tests-build-js.yml @@ -59,11 +59,11 @@ jobs: - name: Build JS packages run: yarn build -# env: -# RUSTC_WRAPPER: sccache -# SCCACHE_BUCKET: multi-runner-cache-x1xibo9c -# SCCACHE_REGION: ${{ secrets.AWS_REGION }} -# SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/wasm/wasm32 + env: + RUSTC_WRAPPER: sccache + SCCACHE_BUCKET: multi-runner-cache-x1xibo9c + SCCACHE_REGION: ${{ secrets.AWS_REGION }} + SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/wasm/wasm32 if: ${{ steps.check-artifact.outputs.exists != 'true' }} - name: Ignore only already cached artifacts diff --git a/.github/workflows/tests-rs-package.yml b/.github/workflows/tests-rs-package.yml index df1cb4a86b1..e057126bfc0 100644 --- a/.github/workflows/tests-rs-package.yml +++ b/.github/workflows/tests-rs-package.yml @@ -48,10 +48,10 @@ jobs: with: args: --package ${{ inputs.package }} --all-features --locked -- --no-deps env: -# RUSTC_WRAPPER: sccache -# SCCACHE_BUCKET: multi-runner-cache-x1xibo9c -# SCCACHE_REGION: ${{ secrets.AWS_REGION }} -# SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/${{ runner.arch }}/linux-gnu + RUSTC_WRAPPER: sccache + SCCACHE_BUCKET: multi-runner-cache-x1xibo9c + SCCACHE_REGION: ${{ secrets.AWS_REGION }} + SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/${{ runner.arch }}/linux-gnu ROCKSDB_STATIC: "/opt/rocksdb/usr/local/lib/librocksdb.a" ROCKSDB_LIB_DIR: "/opt/rocksdb/usr/local/lib" SNAPPY_STATIC: "/usr/lib/x86_64-linux-gnu/libsnappy.a" @@ -80,11 +80,11 @@ jobs: core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); - name: Check formatting -# env: -# RUSTC_WRAPPER: sccache -# SCCACHE_BUCKET: multi-runner-cache-x1xibo9c -# SCCACHE_REGION: ${{ secrets.AWS_REGION }} -# SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/${{ runner.arch }}/linux-gnu + env: + RUSTC_WRAPPER: sccache + SCCACHE_BUCKET: multi-runner-cache-x1xibo9c + SCCACHE_REGION: ${{ secrets.AWS_REGION }} + SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/${{ runner.arch }}/linux-gnu run: cargo fmt --check --package=${{ inputs.package }} unused_deps: @@ -127,10 +127,10 @@ jobs: - name: Find unused dependencies uses: lklimek/cargo-machete@feat/workdir env: -# RUSTC_WRAPPER: sccache -# SCCACHE_BUCKET: multi-runner-cache-x1xibo9c -# SCCACHE_REGION: ${{ secrets.AWS_REGION }} -# SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/${{ runner.arch }}/linux-gnu + RUSTC_WRAPPER: sccache + SCCACHE_BUCKET: multi-runner-cache-x1xibo9c + SCCACHE_REGION: ${{ secrets.AWS_REGION }} + SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/${{ runner.arch }}/linux-gnu ROCKSDB_STATIC: "/opt/rocksdb/usr/local/lib/librocksdb.a" ROCKSDB_LIB_DIR: "/opt/rocksdb/usr/local/lib" SNAPPY_STATIC: "/usr/lib/x86_64-linux-gnu/libsnappy.a" @@ -230,10 +230,10 @@ jobs: - name: Run tests run: cargo test --package=${{ inputs.package }} --all-features --locked env: -# RUSTC_WRAPPER: sccache -# SCCACHE_BUCKET: multi-runner-cache-x1xibo9c -# SCCACHE_REGION: ${{ secrets.AWS_REGION }} -# SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/${{ runner.arch }}/linux-gnu + RUSTC_WRAPPER: sccache + SCCACHE_BUCKET: multi-runner-cache-x1xibo9c + SCCACHE_REGION: ${{ secrets.AWS_REGION }} + SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/${{ runner.arch }}/linux-gnu ROCKSDB_STATIC: "/opt/rocksdb/usr/local/lib/librocksdb.a" ROCKSDB_LIB_DIR: "/opt/rocksdb/usr/local/lib" SNAPPY_STATIC: "/usr/lib/x86_64-linux-gnu/libsnappy.a" @@ -276,10 +276,10 @@ jobs: - name: Check each feature in ${{ inputs.package }} env: -# RUSTC_WRAPPER: sccache -# SCCACHE_BUCKET: multi-runner-cache-x1xibo9c -# SCCACHE_REGION: ${{ secrets.AWS_REGION }} -# SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/${{ runner.arch }}/linux-gnu + RUSTC_WRAPPER: sccache + SCCACHE_BUCKET: multi-runner-cache-x1xibo9c + SCCACHE_REGION: ${{ secrets.AWS_REGION }} + SCCACHE_S3_KEY_PREFIX: ${{ runner.os }}/sccache/${{ runner.arch }}/linux-gnu ROCKSDB_STATIC: "/opt/rocksdb/usr/local/lib/librocksdb.a" ROCKSDB_LIB_DIR: "/opt/rocksdb/usr/local/lib" SNAPPY_STATIC: "/usr/lib/x86_64-linux-gnu/libsnappy.a" From 3321e153e60343476bcc2046a65246c943663919 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Thu, 14 Nov 2024 22:18:38 +0700 Subject: [PATCH 27/40] ci: remove target in the same layer --- Dockerfile | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 4bc8561ab13..e81c2963820 100644 --- a/Dockerfile +++ b/Dockerfile @@ -351,11 +351,10 @@ RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOM ${FEATURES_FLAG} \ --locked && \ cp /platform/target/${OUT_DIRECTORY}/drive-abci /artifacts/ && \ + # Remove target directory to save space + rm -rf target && \ if [[ -x /usr/bin/sccache ]]; then sccache --show-stats; fi -# Remove target directory to save space -RUN rm -rf target - # # STAGE: BUILD JAVASCRIPT INTERMEDIATE IMAGE # @@ -392,11 +391,10 @@ RUN --mount=type=cache,sharing=shared,id=cargo_registry_index,target=${CARGO_HOM cp -R /platform/.yarn/unplugged /tmp/ && \ export SKIP_GRPC_PROTO_BUILD=1 && \ yarn build && \ + # Remove target directory to save space + rm -rf target && \ if [[ -x /usr/bin/sccache ]]; then sccache --show-stats; fi -# Remove target directory to save space -RUN rm -rf target - # # STAGE: FINAL DRIVE-ABCI IMAGE # From 7cb68cc0d363dda324614710ee0f44a698fd1c84 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Thu, 14 Nov 2024 22:39:44 +0700 Subject: [PATCH 28/40] ci: fix cache mounts and remove unnecessary steps --- .github/actions/docker/action.yaml | 18 ++++++------- .github/workflows/release.yml | 8 ------ .github/workflows/tests-build-js.yml | 8 ------ .github/workflows/tests-rs-package.yml | 35 -------------------------- 4 files changed, 9 insertions(+), 60 deletions(-) diff --git a/.github/actions/docker/action.yaml b/.github/actions/docker/action.yaml index 204f382a675..9add8b14105 100644 --- a/.github/actions/docker/action.yaml +++ b/.github/actions/docker/action.yaml @@ -59,7 +59,7 @@ runs: install: true driver-opts: env.BUILDKIT_STEP_LOG_MAX_SIZE=10485760 cleanup: false - config-inline: | + buildkitd-config-inline: | [worker.oci] gc = false @@ -84,9 +84,9 @@ runs: id: cargo-cache with: path: | - ../cargo-cache-registry-index - ../cargo-cache-registry-cache - ../cargo-cache-git-db + ${{ RUNNER_TEMP }}/cargo-cache-registry-index + ${{ RUNNER_TEMP }}/cargo-cache-registry-cache + ${{ RUNNER_TEMP }}/cargo-cache-git-db key: ${{ runner.os }}-cargo-${{ hashFiles('Cargo.lock') }} restore-keys: | - ${{ runner.os }}-cargo- @@ -96,15 +96,15 @@ runs: with: cache-map: | { - "../cargo-cache-registry-index": { + "${{ RUNNER_TEMP }}/cargo-cache-registry-index": { "target": "/root/.cargo/registry/index", "id": "cargo_registry_index" }, - "../cargo-cache-registry-cache": { + "${{ RUNNER_TEMP }}/cargo-cache-registry-cache": { "target": "/root/.cargo/registry/cache", "id": "cargo_registry_cache" }, - "../cargo-cache-git-db": { + "${{ RUNNER_TEMP }}/cargo-cache-git-db": { "target": "/root/.cargo/git/db", "id": "cargo_git" } @@ -115,7 +115,7 @@ runs: uses: actions/cache@v4 id: yarn-cache with: - path: ../yarn-unplugged-cache + path: ${{ RUNNER_TEMP }}/yarn-unplugged-cache key: ${{ inputs.platform }}-yarn-unplugged-${{ hashFiles('yarn.lock') }} restore-keys: | - ${{ inputs.platform }}-yarn-unplugged- @@ -132,7 +132,7 @@ runs: with: cache-map: | { - "../yarn-unplugged-cache": { + "${{ RUNNER_TEMP }}/yarn-unplugged-cache": { "target": "/tmp/unplugged", "id": "unplugged_${{ steps.arch.outputs.result }}" } diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 73da562f79a..86476d082a2 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -61,14 +61,6 @@ jobs: - name: Setup Node.JS uses: ./.github/actions/nodejs - - name: Configure sccache - uses: actions/github-script@v7 - with: - script: | - core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); - core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); - if: ${{ steps.check-artifact.outputs.exists != 'true' }} - - name: Install Cargo binstall uses: cargo-bins/cargo-binstall@v1.3.1 if: ${{ steps.check-artifact.outputs.exists != 'true' }} diff --git a/.github/workflows/tests-build-js.yml b/.github/workflows/tests-build-js.yml index 76f8abdf55c..83909e0c318 100644 --- a/.github/workflows/tests-build-js.yml +++ b/.github/workflows/tests-build-js.yml @@ -41,14 +41,6 @@ jobs: target: wasm32-unknown-unknown if: ${{ steps.check-artifact.outputs.exists != 'true' }} - - name: Configure sccache - uses: actions/github-script@v7 - with: - script: | - core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); - core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); - if: ${{ steps.check-artifact.outputs.exists != 'true' }} - - name: Install Cargo binstall uses: cargo-bins/cargo-binstall@v1.3.1 if: ${{ steps.check-artifact.outputs.exists != 'true' }} diff --git a/.github/workflows/tests-rs-package.yml b/.github/workflows/tests-rs-package.yml index e057126bfc0..b37d7b9a3f0 100644 --- a/.github/workflows/tests-rs-package.yml +++ b/.github/workflows/tests-rs-package.yml @@ -37,13 +37,6 @@ jobs: - name: Install librocksdb uses: ./.github/actions/librocksdb - - name: Configure sccache - uses: actions/github-script@v7 - with: - script: | - core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); - core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); - - uses: clechasseur/rs-clippy-check@v3 with: args: --package ${{ inputs.package }} --all-features --locked -- --no-deps @@ -72,13 +65,6 @@ jobs: # This step doesn't need librocksdb, so we don't install it - - name: Configure sccache - uses: actions/github-script@v7 - with: - script: | - core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); - core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); - - name: Check formatting env: RUSTC_WRAPPER: sccache @@ -117,13 +103,6 @@ jobs: with: package: ${{ inputs.package }} - - name: Configure sccache - uses: actions/github-script@v7 - with: - script: | - core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); - core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); - - name: Find unused dependencies uses: lklimek/cargo-machete@feat/workdir env: @@ -220,13 +199,6 @@ jobs: - name: Install librocksdb uses: ./.github/actions/librocksdb - - name: Configure sccache - uses: actions/github-script@v7 - with: - script: | - core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); - core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); - - name: Run tests run: cargo test --package=${{ inputs.package }} --all-features --locked env: @@ -267,13 +239,6 @@ jobs: with: package: ${{ inputs.package }} - - name: Configure sccache - uses: actions/github-script@v7 - with: - script: | - core.exportVariable('ACTIONS_CACHE_URL', process.env.ACTIONS_CACHE_URL || ''); - core.exportVariable('ACTIONS_RUNTIME_TOKEN', process.env.ACTIONS_RUNTIME_TOKEN || ''); - - name: Check each feature in ${{ inputs.package }} env: RUSTC_WRAPPER: sccache From 3b65eeb9a2a4f13674b0527fae26ff57733d5200 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Thu, 14 Nov 2024 22:42:10 +0700 Subject: [PATCH 29/40] ci: fix RUNNER_TEMP --- .github/actions/docker/action.yaml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/.github/actions/docker/action.yaml b/.github/actions/docker/action.yaml index 9add8b14105..e79b61a3bcd 100644 --- a/.github/actions/docker/action.yaml +++ b/.github/actions/docker/action.yaml @@ -84,9 +84,9 @@ runs: id: cargo-cache with: path: | - ${{ RUNNER_TEMP }}/cargo-cache-registry-index - ${{ RUNNER_TEMP }}/cargo-cache-registry-cache - ${{ RUNNER_TEMP }}/cargo-cache-git-db + ${{ env.RUNNER_TEMP }}/cargo-cache-registry-index + ${{ env.RUNNER_TEMP }}/cargo-cache-registry-cache + ${{ env.RUNNER_TEMP }}/cargo-cache-git-db key: ${{ runner.os }}-cargo-${{ hashFiles('Cargo.lock') }} restore-keys: | - ${{ runner.os }}-cargo- @@ -96,15 +96,15 @@ runs: with: cache-map: | { - "${{ RUNNER_TEMP }}/cargo-cache-registry-index": { + "${{ env.RUNNER_TEMP }}/cargo-cache-registry-index": { "target": "/root/.cargo/registry/index", "id": "cargo_registry_index" }, - "${{ RUNNER_TEMP }}/cargo-cache-registry-cache": { + "${{ env.RUNNER_TEMP }}/cargo-cache-registry-cache": { "target": "/root/.cargo/registry/cache", "id": "cargo_registry_cache" }, - "${{ RUNNER_TEMP }}/cargo-cache-git-db": { + "${{ env.RUNNER_TEMP }}/cargo-cache-git-db": { "target": "/root/.cargo/git/db", "id": "cargo_git" } @@ -115,7 +115,7 @@ runs: uses: actions/cache@v4 id: yarn-cache with: - path: ${{ RUNNER_TEMP }}/yarn-unplugged-cache + path: ${{ env.RUNNER_TEMP }}/yarn-unplugged-cache key: ${{ inputs.platform }}-yarn-unplugged-${{ hashFiles('yarn.lock') }} restore-keys: | - ${{ inputs.platform }}-yarn-unplugged- @@ -132,7 +132,7 @@ runs: with: cache-map: | { - "${{ RUNNER_TEMP }}/yarn-unplugged-cache": { + "${{ env.RUNNER_TEMP }}/yarn-unplugged-cache": { "target": "/tmp/unplugged", "id": "unplugged_${{ steps.arch.outputs.result }}" } From 163323c441450acce25ff8dfd30e2f424f66fce6 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Thu, 14 Nov 2024 22:53:57 +0700 Subject: [PATCH 30/40] ci: fix region and home --- .github/actions/docker/action.yaml | 21 ++++++++++++------- .../s3-layer-cache-settings/action.yaml | 4 ++-- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/.github/actions/docker/action.yaml b/.github/actions/docker/action.yaml index e79b61a3bcd..a523446fac2 100644 --- a/.github/actions/docker/action.yaml +++ b/.github/actions/docker/action.yaml @@ -77,16 +77,21 @@ runs: id: layer_cache_settings with: name: ${{ inputs.image_name }} + region: ${{ inputs.region }} bucket: ${{ inputs.bucket }} + - name: Set HOME variable to github context + shell: bash + run: echo "HOME=$HOME" >> $GITHUB_ENV + - name: Cargo cache for Docker uses: actions/cache@v4 id: cargo-cache with: path: | - ${{ env.RUNNER_TEMP }}/cargo-cache-registry-index - ${{ env.RUNNER_TEMP }}/cargo-cache-registry-cache - ${{ env.RUNNER_TEMP }}/cargo-cache-git-db + ${{ env.HOME }}/cargo-cache-registry-index + ${{ env.HOME }}/cargo-cache-registry-cache + ${{ env.HOME }}/cargo-cache-git-db key: ${{ runner.os }}-cargo-${{ hashFiles('Cargo.lock') }} restore-keys: | - ${{ runner.os }}-cargo- @@ -96,15 +101,15 @@ runs: with: cache-map: | { - "${{ env.RUNNER_TEMP }}/cargo-cache-registry-index": { + "${{ env.HOME }}/cargo-cache-registry-index": { "target": "/root/.cargo/registry/index", "id": "cargo_registry_index" }, - "${{ env.RUNNER_TEMP }}/cargo-cache-registry-cache": { + "${{ env.HOME }}/cargo-cache-registry-cache": { "target": "/root/.cargo/registry/cache", "id": "cargo_registry_cache" }, - "${{ env.RUNNER_TEMP }}/cargo-cache-git-db": { + "${{ env.HOME }}/cargo-cache-git-db": { "target": "/root/.cargo/git/db", "id": "cargo_git" } @@ -115,7 +120,7 @@ runs: uses: actions/cache@v4 id: yarn-cache with: - path: ${{ env.RUNNER_TEMP }}/yarn-unplugged-cache + path: ${{ env.HOME }}/yarn-unplugged-cache key: ${{ inputs.platform }}-yarn-unplugged-${{ hashFiles('yarn.lock') }} restore-keys: | - ${{ inputs.platform }}-yarn-unplugged- @@ -132,7 +137,7 @@ runs: with: cache-map: | { - "${{ env.RUNNER_TEMP }}/yarn-unplugged-cache": { + "${{ env.HOME }}/yarn-unplugged-cache": { "target": "/tmp/unplugged", "id": "unplugged_${{ steps.arch.outputs.result }}" } diff --git a/.github/actions/s3-layer-cache-settings/action.yaml b/.github/actions/s3-layer-cache-settings/action.yaml index b4073b87c7b..01ef9bbad12 100644 --- a/.github/actions/s3-layer-cache-settings/action.yaml +++ b/.github/actions/s3-layer-cache-settings/action.yaml @@ -15,10 +15,10 @@ inputs: default: ${{ github.ref }} region: description: S3 region - default: eu-west-1 + required: true bucket: description: S3 bucket name - default: multi-runner-cache-x1xibo9c + required: true prefix: description: S3 key prefix default: 'cache-layers/' From 9cdea04a7c26d1ce5a8bc1bce6fcd60380bb2062 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Thu, 14 Nov 2024 23:15:38 +0700 Subject: [PATCH 31/40] ci: fix cache from --- .github/actions/docker/action.yaml | 13 ++++++------- .github/actions/s3-layer-cache-settings/action.yaml | 9 ++++++--- Dockerfile | 2 +- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/.github/actions/docker/action.yaml b/.github/actions/docker/action.yaml index a523446fac2..035eb861190 100644 --- a/.github/actions/docker/action.yaml +++ b/.github/actions/docker/action.yaml @@ -157,13 +157,12 @@ runs: platforms: ${{ inputs.platform }} build-args: | CARGO_BUILD_PROFILE=${{ inputs.cargo_profile }} -# RUSTC_WRAPPER=sccache -# SCCACHE_BUCKET=${{ inputs.bucket }} -# SCCACHE_REGION=${{ inputs.region }} -# SCCACHE_S3_KEY_PREFIX=${{ runner.os }}/sccache -# AWS_ACCESS_KEY_ID=${{ inputs.aws_access_key_id }} -# AWS_SECRET_ACCESS_KEY=${{ inputs.aws_secret_access_key }} -# AWS_REGION=${{ inputs.region }} + RUSTC_WRAPPER=sccache + SCCACHE_BUCKET=${{ inputs.bucket }} + SCCACHE_REGION=${{ inputs.region }} + SCCACHE_S3_KEY_PREFIX=${{ runner.os }}/sccache + AWS_ACCESS_KEY_ID=${{ inputs.aws_access_key_id }} + AWS_SECRET_ACCESS_KEY=${{ inputs.aws_secret_access_key }} cache-from: ${{ steps.layer_cache_settings.outputs.cache_from }} cache-to: ${{ steps.layer_cache_settings.outputs.cache_to }} # cache-from: type=registry,ref=${{ inputs.image_org }}/${{ inputs.image_name }}:build-cache diff --git a/.github/actions/s3-layer-cache-settings/action.yaml b/.github/actions/s3-layer-cache-settings/action.yaml index 01ef9bbad12..6aaf2eb6f9d 100644 --- a/.github/actions/s3-layer-cache-settings/action.yaml +++ b/.github/actions/s3-layer-cache-settings/action.yaml @@ -54,7 +54,6 @@ runs: region: '${{ inputs.region }}', bucket: '${{ inputs.bucket }}', prefix: '${{ inputs.prefix }}', - name: manifestNames.join(';'), }; const settingsString = Object.entries(settings) @@ -62,5 +61,9 @@ runs: .map(([key, value]) => `${key}=${value}`) .join(','); - core.setOutput('cache_from', settingsString); - core.setOutput('cache_to', `${settingsString},mode=${{ inputs.mode }}`); + const cacheFrom = manifestNames + .map((name) => `${settingsString},name=${name}`) + .join('\n'); + + core.setOutput('cache_from', cacheFrom); + core.setOutput('cache_to', `${settingsString},mode=${{ inputs.mode }},name=${manifestNames.join(';')}`); diff --git a/Dockerfile b/Dockerfile index e81c2963820..db39e6476c7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -181,7 +181,7 @@ RUN <> /root/env # AWS_SECRET_ACCESS_KEY is a secret so we load it using ONBUILD ARG later on echo "export SCCACHE_BUCKET='${SCCACHE_BUCKET}'" >> /root/env - echo "export SCCACHE_S3_USE_SSL=true" >> /root/env +# echo "export SCCACHE_S3_USE_SSL=true" >> /root/env echo "export SCCACHE_S3_KEY_PREFIX='${SCCACHE_S3_KEY_PREFIX}/${TARGETARCH}/linux-musl'" >> /root/env elif [ -n "${SCCACHE_MEMCACHED}" ]; then # memcached From 732b2b4752b94771c3b70edc0f003a4b439d05cd Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Thu, 14 Nov 2024 23:31:12 +0700 Subject: [PATCH 32/40] chore: kick off CI From 7aa6617379cf99462b9b94231334f5c8291f3606 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Thu, 14 Nov 2024 23:58:11 +0700 Subject: [PATCH 33/40] chore: add new lines --- .github/actions/s3-layer-cache-settings/action.yaml | 2 +- packages/rs-drive-abci/src/lib.rs | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/actions/s3-layer-cache-settings/action.yaml b/.github/actions/s3-layer-cache-settings/action.yaml index 6aaf2eb6f9d..aa55c11aa08 100644 --- a/.github/actions/s3-layer-cache-settings/action.yaml +++ b/.github/actions/s3-layer-cache-settings/action.yaml @@ -46,7 +46,7 @@ runs: const manifestNames = [ '${{ inputs.name }}_sha_${{ github.sha }}', `${{ inputs.name }}_tag_${ sanitizedHeadRef }`, - '${{ inputs.name }}' + '${{ inputs.name }}' // TODO: must be only on default branch ]; const settings = { diff --git a/packages/rs-drive-abci/src/lib.rs b/packages/rs-drive-abci/src/lib.rs index 5e475d189aa..f9a51dcd1b8 100644 --- a/packages/rs-drive-abci/src/lib.rs +++ b/packages/rs-drive-abci/src/lib.rs @@ -30,8 +30,10 @@ pub mod rpc; /// Core utilities pub mod core; + /// Metrics subsystem pub mod metrics; + /// Test helpers and fixtures #[cfg(any(feature = "mocks", test))] pub mod test; From cdf633e64d2527e4f45b550dc0bc60152ebfe22e Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Fri, 15 Nov 2024 07:20:41 +0700 Subject: [PATCH 34/40] ci: fix dashmate e2e tests --- .github/workflows/tests-dashmate.yml | 21 ++++----------------- 1 file changed, 4 insertions(+), 17 deletions(-) diff --git a/.github/workflows/tests-dashmate.yml b/.github/workflows/tests-dashmate.yml index 802d9cd5042..a451381b9cb 100644 --- a/.github/workflows/tests-dashmate.yml +++ b/.github/workflows/tests-dashmate.yml @@ -82,26 +82,13 @@ jobs: shell: bash run: echo "HOME=$HOME" >> $GITHUB_ENV -# - name: Use test suite local network data to speed up dashmate local network tests -# id: local-network-data -# uses: strophy/actions-cache/restore@opendal-update -# with: -# bucket: multi-runner-cache-x1xibo9c -# root: local-network-data -# path: | -# ${{ env.HOME }}/.dashmate -# dashmate_volumes_dump -# key: local-network-volumes/${{ steps.dashmate-fingerprint.outputs.sha }} -# if: inputs.restore_local_network_data == true - - - name: Use test suite local network data to speed up dashmate local network tests + - name: Restore test suite local network data to speed up dashmate local network tests id: local-network-data - uses: actions/cache@v4 + uses: actions/cache/restore@v4 with: -# bucket: multi-runner-cache-x1xibo9c -# root: local-network-data path: | ${{ env.HOME }}/.dashmate + **/.env dashmate_volumes_dump key: local-network-volumes/${{ steps.dashmate-fingerprint.outputs.sha }} if: inputs.restore_local_network_data == true @@ -123,7 +110,7 @@ jobs: env: DEBUG: 1 DASHMATE_E2E_TESTS_SKIP_IMAGE_BUILD: true - if: steps.local-network-data.outputs.cache-hit != 'true' + if: steps.local-network-data.outputs.cache-hit == 'false' - name: Show Docker logs if: ${{ failure() }} From 7b7e5aaddd261fa8ad36d1cf373fad3a663ea32b Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Fri, 15 Nov 2024 13:58:24 +0700 Subject: [PATCH 35/40] ci: fix restore key --- .github/actions/docker/action.yaml | 4 ++-- .github/actions/nodejs/action.yaml | 11 ----------- 2 files changed, 2 insertions(+), 13 deletions(-) diff --git a/.github/actions/docker/action.yaml b/.github/actions/docker/action.yaml index 035eb861190..0a21a15bf44 100644 --- a/.github/actions/docker/action.yaml +++ b/.github/actions/docker/action.yaml @@ -94,7 +94,7 @@ runs: ${{ env.HOME }}/cargo-cache-git-db key: ${{ runner.os }}-cargo-${{ hashFiles('Cargo.lock') }} restore-keys: | - - ${{ runner.os }}-cargo- + ${{ runner.os }}-cargo- - name: Inject cargo cache into docker uses: reproducible-containers/buildkit-cache-dance@v3.1.2 @@ -123,7 +123,7 @@ runs: path: ${{ env.HOME }}/yarn-unplugged-cache key: ${{ inputs.platform }}-yarn-unplugged-${{ hashFiles('yarn.lock') }} restore-keys: | - - ${{ inputs.platform }}-yarn-unplugged- + ${{ inputs.platform }}-yarn-unplugged- - name: Set arch id: arch diff --git a/.github/actions/nodejs/action.yaml b/.github/actions/nodejs/action.yaml index 77db80a9ed9..8460a19d168 100644 --- a/.github/actions/nodejs/action.yaml +++ b/.github/actions/nodejs/action.yaml @@ -17,17 +17,6 @@ runs: shell: bash run: npm config set audit false -# - name: Cache NPM build artifacts (S3 bucket cache) -# uses: strophy/actions-cache@opendal-update -# with: -# bucket: multi-runner-cache-x1xibo9c -# root: actions-cache -# path: | -# .yarn/unplugged -# key: ${{ runner.os }}/yarn/unplugged/${{ runner.arch }}/${{ hashFiles('yarn.lock') }} -# restore-keys: | -# ${{ runner.os }}/yarn/unplugged/${{ runner.arch }}/ - - name: Cache NPM build artifacts uses: actions/cache@v4 with: From 98692520b08f8ec22468d6462849bfd1f81c97cb Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Fri, 15 Nov 2024 13:58:58 +0700 Subject: [PATCH 36/40] ci: remove commented code --- .github/actions/docker/action.yaml | 2 -- .github/actions/librocksdb/action.yaml | 9 -------- .github/actions/local-network/action.yaml | 25 ----------------------- 3 files changed, 36 deletions(-) diff --git a/.github/actions/docker/action.yaml b/.github/actions/docker/action.yaml index 0a21a15bf44..30a2ff80a31 100644 --- a/.github/actions/docker/action.yaml +++ b/.github/actions/docker/action.yaml @@ -165,6 +165,4 @@ runs: AWS_SECRET_ACCESS_KEY=${{ inputs.aws_secret_access_key }} cache-from: ${{ steps.layer_cache_settings.outputs.cache_from }} cache-to: ${{ steps.layer_cache_settings.outputs.cache_to }} -# cache-from: type=registry,ref=${{ inputs.image_org }}/${{ inputs.image_name }}:build-cache -# cache-to: type=registry,image-manifest=true,oci-mediatypes=true,ref=${{ inputs.image_org }}/${{ inputs.image_name }}:build-cache,mode=max outputs: type=image,name=${{ inputs.image_org }}/${{ inputs.image_name }},push-by-digest=${{ inputs.push_tags != 'true' }},name-canonical=true,push=true diff --git a/.github/actions/librocksdb/action.yaml b/.github/actions/librocksdb/action.yaml index 7d721ac337e..a73666584e6 100644 --- a/.github/actions/librocksdb/action.yaml +++ b/.github/actions/librocksdb/action.yaml @@ -21,15 +21,6 @@ inputs: runs: using: composite steps: - # Cache librocksdb using s3 bucket -# - name: Restore cached librocksdb from S3 -# id: librocksdb-cache -# uses: strophy/actions-cache@opendal-update -# with: -# bucket: ${{ inputs.bucket }} -# path: /opt/rocksdb -# key: librocksdb/${{ inputs.version }}/${{ runner.os }}/${{ runner.arch }} - - name: Cache librocksdb uses: actions/cache@v4 id: librocksdb-cache diff --git a/.github/actions/local-network/action.yaml b/.github/actions/local-network/action.yaml index 838c56e324b..c2c6060ba6f 100644 --- a/.github/actions/local-network/action.yaml +++ b/.github/actions/local-network/action.yaml @@ -26,19 +26,6 @@ runs: shell: bash run: echo "HOME=$HOME" >> $GITHUB_ENV - # TODO: Use upload artifacts action instead -# - name: Restore local network data -# id: local-network-data -# uses: strophy/actions-cache/restore@opendal-update -# with: -# bucket: multi-runner-cache-x1xibo9c -# root: local-network-data -# path: | -# ${{ env.HOME }}/.dashmate -# **/.env -# dashmate_volumes_dump -# key: local-network-volumes/${{ steps.dashmate-fingerprint.outputs.sha }} - - name: Restore local network data id: local-network-data uses: actions/cache/restore@v4 @@ -75,18 +62,6 @@ runs: shell: bash if: steps.local-network-data.outputs.cache-hit != 'true' -# - name: Save local network data -# uses: strophy/actions-cache/save@opendal-update -# with: -# bucket: multi-runner-cache-x1xibo9c -# root: local-network-data -# path: | -# ${{ env.HOME }}/.dashmate -# **/.env -# dashmate_volumes_dump -# key: local-network-volumes/${{ steps.dashmate-fingerprint.outputs.sha }} -# if: steps.local-network-data.outputs.cache-hit != 'true' - - name: Save local network data uses: actions/cache/save@v4 with: From 72539f46ae42d4503bd8a60134d0b6a59bbb95af Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Mon, 18 Nov 2024 19:15:23 +0700 Subject: [PATCH 37/40] ci: cache to base manifest only on base branch push --- .github/actions/docker/action.yaml | 4 +++ .../s3-layer-cache-settings/action.yaml | 34 ++++++++++++++----- .github/workflows/tests-build-image.yml | 1 + 3 files changed, 30 insertions(+), 9 deletions(-) diff --git a/.github/actions/docker/action.yaml b/.github/actions/docker/action.yaml index 30a2ff80a31..1e12427e9ad 100644 --- a/.github/actions/docker/action.yaml +++ b/.github/actions/docker/action.yaml @@ -37,6 +37,9 @@ inputs: aws_secret_access_key: description: AWS secret access key required: true + cache_to_name: + description: 'Save cache to name manifest (should be used only on default branch)' + default: 'false' outputs: digest: value: ${{ steps.docker_build.outputs.digest }} @@ -79,6 +82,7 @@ runs: name: ${{ inputs.image_name }} region: ${{ inputs.region }} bucket: ${{ inputs.bucket }} + cache_to_name: ${{ inputs.cache_to_name }} - name: Set HOME variable to github context shell: bash diff --git a/.github/actions/s3-layer-cache-settings/action.yaml b/.github/actions/s3-layer-cache-settings/action.yaml index aa55c11aa08..9a86b515e8c 100644 --- a/.github/actions/s3-layer-cache-settings/action.yaml +++ b/.github/actions/s3-layer-cache-settings/action.yaml @@ -25,6 +25,9 @@ inputs: mode: description: Cache mode default: max + cache_to_name: + description: 'Save cache to name manifest (should be used only on default branch)' + default: 'false' outputs: cache_to: @@ -41,14 +44,6 @@ runs: id: script with: script: | - const sanitizedHeadRef = '${{ inputs.head_ref }}'.replace(/[^a-zA-Z0-9]/g, '-'); - - const manifestNames = [ - '${{ inputs.name }}_sha_${{ github.sha }}', - `${{ inputs.name }}_tag_${ sanitizedHeadRef }`, - '${{ inputs.name }}' // TODO: must be only on default branch - ]; - const settings = { type: 's3', region: '${{ inputs.region }}', @@ -61,9 +56,30 @@ runs: .map(([key, value]) => `${key}=${value}`) .join(','); - const cacheFrom = manifestNames + const sanitizedHeadRef = '${{ inputs.head_ref }}'.replace(/[^a-zA-Z0-9]/g, '-'); + + const shaManifestName = '${{ inputs.name }}_sha_${{ github.sha }}'; + const headRefManifestName = '${{ inputs.name }}_tag_${ sanitizedHeadRef }'; + + const cacheFromManifestNames = [ + shaManifestName, + headRefManifestName, + '${{ inputs.name }}', + ]; + + const cacheFrom = cacheFromManifestNames .map((name) => `${settingsString},name=${name}`) .join('\n'); core.setOutput('cache_from', cacheFrom); + + const cacheToManifestNames = [ + shaManifestName, + headRefManifestName, + ]; + + if ('${{ inputs.cache_to_name }}' === 'true') { + cacheToManifestNames.push('${{ inputs.name }}'); + } + core.setOutput('cache_to', `${settingsString},mode=${{ inputs.mode }},name=${manifestNames.join(';')}`); diff --git a/.github/workflows/tests-build-image.yml b/.github/workflows/tests-build-image.yml index 328a6ce2d4c..564feff0555 100644 --- a/.github/workflows/tests-build-image.yml +++ b/.github/workflows/tests-build-image.yml @@ -48,3 +48,4 @@ jobs: region: ${{ secrets.AWS_REGION }} aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }} aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }} + cache_to_name: ${{ github.event_name == 'push' && 'true' || 'false' }} From cd35f659abb5b66c8df1f1e788d595b04b84c18d Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Mon, 18 Nov 2024 19:45:04 +0700 Subject: [PATCH 38/40] ci: fix manifestNames is not defined --- .github/actions/s3-layer-cache-settings/action.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/s3-layer-cache-settings/action.yaml b/.github/actions/s3-layer-cache-settings/action.yaml index 9a86b515e8c..b0825f6b62d 100644 --- a/.github/actions/s3-layer-cache-settings/action.yaml +++ b/.github/actions/s3-layer-cache-settings/action.yaml @@ -82,4 +82,4 @@ runs: cacheToManifestNames.push('${{ inputs.name }}'); } - core.setOutput('cache_to', `${settingsString},mode=${{ inputs.mode }},name=${manifestNames.join(';')}`); + core.setOutput('cache_to', `${settingsString},mode=${{ inputs.mode }},name=${cacheToManifestNames.join(';')}`); From f078ec05cd68d93f80c912b00c164a31bbe63a3e Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Mon, 18 Nov 2024 19:54:00 +0700 Subject: [PATCH 39/40] chore: fix security vulnerability --- .../s3-layer-cache-settings/action.yaml | 2 +- .pnp.cjs | 71 ++++-------------- ...-spawn-npm-6.0.5-2deab6c280-f07e643b48.zip | Bin 10350 -> 0 bytes ...-spawn-npm-7.0.3-e4ff3e65b3-e1a13869d2.zip | Bin 10222 -> 0 bytes ...-spawn-npm-7.0.5-cf92562a27-c95062469d.zip | Bin 0 -> 8758 bytes ...ce-try-npm-1.0.5-963856b16f-0b4af3b5bb.zip | Bin 3060 -> 0 bytes ...th-key-npm-2.0.1-b1a971833d-6e654864e3.zip | Bin 2428 -> 0 bytes ...ommand-npm-1.2.0-8990ba5d1d-9eed175030.zip | Bin 2356 -> 0 bytes ...-regex-npm-1.0.0-c3612b74e9-404c5a752c.zip | Bin 2128 -> 0 bytes package.json | 3 +- yarn.lock | 53 ++----------- 11 files changed, 22 insertions(+), 107 deletions(-) delete mode 100644 .yarn/cache/cross-spawn-npm-6.0.5-2deab6c280-f07e643b48.zip delete mode 100644 .yarn/cache/cross-spawn-npm-7.0.3-e4ff3e65b3-e1a13869d2.zip create mode 100644 .yarn/cache/cross-spawn-npm-7.0.5-cf92562a27-c95062469d.zip delete mode 100644 .yarn/cache/nice-try-npm-1.0.5-963856b16f-0b4af3b5bb.zip delete mode 100644 .yarn/cache/path-key-npm-2.0.1-b1a971833d-6e654864e3.zip delete mode 100644 .yarn/cache/shebang-command-npm-1.2.0-8990ba5d1d-9eed175030.zip delete mode 100644 .yarn/cache/shebang-regex-npm-1.0.0-c3612b74e9-404c5a752c.zip diff --git a/.github/actions/s3-layer-cache-settings/action.yaml b/.github/actions/s3-layer-cache-settings/action.yaml index b0825f6b62d..49cdaeef66d 100644 --- a/.github/actions/s3-layer-cache-settings/action.yaml +++ b/.github/actions/s3-layer-cache-settings/action.yaml @@ -77,7 +77,7 @@ runs: shaManifestName, headRefManifestName, ]; - + if ('${{ inputs.cache_to_name }}' === 'true') { cacheToManifestNames.push('${{ inputs.name }}'); } diff --git a/.pnp.cjs b/.pnp.cjs index 0a13a010d13..e6e5c001ec8 100755 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -5633,7 +5633,7 @@ const RAW_RUNTIME_STATE = ["chalk", "npm:3.0.0"],\ ["ci-info", "npm:3.8.0"],\ ["clipanion", "virtual:ba24742e5bfaec41d1d0434e6865c2744ffb69a716f18fa84bd7d44084043647838926c96a391f66b9946857565b9825479e97ad07079ef40683084ce389d203#npm:3.2.0"],\ - ["cross-spawn", "npm:7.0.3"],\ + ["cross-spawn", "npm:7.0.5"],\ ["diff", "npm:5.1.0"],\ ["globby", "npm:11.1.0"],\ ["got", "npm:11.8.6"],\ @@ -5742,7 +5742,7 @@ const RAW_RUNTIME_STATE = ["@yarnpkg/parsers", "npm:3.0.0-rc.42"],\ ["chalk", "npm:3.0.0"],\ ["clipanion", "virtual:ba24742e5bfaec41d1d0434e6865c2744ffb69a716f18fa84bd7d44084043647838926c96a391f66b9946857565b9825479e97ad07079ef40683084ce389d203#npm:3.2.0"],\ - ["cross-spawn", "npm:7.0.3"],\ + ["cross-spawn", "npm:7.0.5"],\ ["fast-glob", "npm:3.2.12"],\ ["micromatch", "npm:4.0.7"],\ ["tslib", "npm:2.6.2"]\ @@ -8389,28 +8389,16 @@ const RAW_RUNTIME_STATE = "packageLocation": "./.yarn/cache/cross-env-npm-7.0.3-96d81820f4-e99911f0d3.zip/node_modules/cross-env/",\ "packageDependencies": [\ ["cross-env", "npm:7.0.3"],\ - ["cross-spawn", "npm:7.0.3"]\ + ["cross-spawn", "npm:7.0.5"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["cross-spawn", [\ - ["npm:6.0.5", {\ - "packageLocation": "./.yarn/cache/cross-spawn-npm-6.0.5-2deab6c280-f07e643b48.zip/node_modules/cross-spawn/",\ - "packageDependencies": [\ - ["cross-spawn", "npm:6.0.5"],\ - ["nice-try", "npm:1.0.5"],\ - ["path-key", "npm:2.0.1"],\ - ["semver", "npm:7.5.3"],\ - ["shebang-command", "npm:1.2.0"],\ - ["which", "npm:1.3.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:7.0.3", {\ - "packageLocation": "./.yarn/cache/cross-spawn-npm-7.0.3-e4ff3e65b3-e1a13869d2.zip/node_modules/cross-spawn/",\ + ["npm:7.0.5", {\ + "packageLocation": "./.yarn/cache/cross-spawn-npm-7.0.5-cf92562a27-c95062469d.zip/node_modules/cross-spawn/",\ "packageDependencies": [\ - ["cross-spawn", "npm:7.0.3"],\ + ["cross-spawn", "npm:7.0.5"],\ ["path-key", "npm:3.1.1"],\ ["shebang-command", "npm:2.0.0"],\ ["which", "npm:2.0.2"]\ @@ -9692,7 +9680,7 @@ const RAW_RUNTIME_STATE = ["@ungap/structured-clone", "npm:1.2.0"],\ ["ajv", "npm:6.12.6"],\ ["chalk", "npm:4.1.2"],\ - ["cross-spawn", "npm:7.0.3"],\ + ["cross-spawn", "npm:7.0.5"],\ ["debug", "virtual:4b12ba5111caf7e8338099bdbc7cb046a9f8e079a44e74d0c03dca469876e3071ebbe671c5e90ae6b78ae33e22c205fa5ed32169a4aabd1404b13c56d09986e1#npm:4.3.4"],\ ["doctrine", "npm:3.0.0"],\ ["escape-string-regexp", "npm:4.0.0"],\ @@ -10226,7 +10214,7 @@ const RAW_RUNTIME_STATE = "packageLocation": "./.yarn/cache/execa-npm-5.1.1-191347acf5-8ada91f2d7.zip/node_modules/execa/",\ "packageDependencies": [\ ["execa", "npm:5.1.1"],\ - ["cross-spawn", "npm:7.0.3"],\ + ["cross-spawn", "npm:7.0.5"],\ ["get-stream", "npm:6.0.1"],\ ["human-signals", "npm:2.1.0"],\ ["is-stream", "npm:2.0.1"],\ @@ -10637,7 +10625,7 @@ const RAW_RUNTIME_STATE = "packageLocation": "./.yarn/cache/foreground-child-npm-2.0.0-80c976b61e-f36574ad8e.zip/node_modules/foreground-child/",\ "packageDependencies": [\ ["foreground-child", "npm:2.0.0"],\ - ["cross-spawn", "npm:7.0.3"],\ + ["cross-spawn", "npm:7.0.5"],\ ["signal-exit", "npm:3.0.7"]\ ],\ "linkType": "HARD"\ @@ -10646,7 +10634,7 @@ const RAW_RUNTIME_STATE = "packageLocation": "./.yarn/cache/foreground-child-npm-3.1.1-77e78ed774-087edd4485.zip/node_modules/foreground-child/",\ "packageDependencies": [\ ["foreground-child", "npm:3.1.1"],\ - ["cross-spawn", "npm:7.0.3"],\ + ["cross-spawn", "npm:7.0.5"],\ ["signal-exit", "npm:4.1.0"]\ ],\ "linkType": "HARD"\ @@ -12425,7 +12413,7 @@ const RAW_RUNTIME_STATE = "packageDependencies": [\ ["istanbul-lib-processinfo", "npm:2.0.3"],\ ["archy", "npm:1.0.0"],\ - ["cross-spawn", "npm:7.0.3"],\ + ["cross-spawn", "npm:7.0.5"],\ ["istanbul-lib-coverage", "npm:3.2.2"],\ ["p-map", "npm:3.0.0"],\ ["rimraf", "npm:3.0.2"],\ @@ -14549,15 +14537,6 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }]\ ]],\ - ["nice-try", [\ - ["npm:1.0.5", {\ - "packageLocation": "./.yarn/cache/nice-try-npm-1.0.5-963856b16f-0b4af3b5bb.zip/node_modules/nice-try/",\ - "packageDependencies": [\ - ["nice-try", "npm:1.0.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ ["nise", [\ ["npm:5.1.5", {\ "packageLocation": "./.yarn/cache/nise-npm-5.1.5-847a2de198-c6afe82b91.zip/node_modules/nise/",\ @@ -15675,7 +15654,7 @@ const RAW_RUNTIME_STATE = "packageDependencies": [\ ["password-prompt", "npm:1.1.2"],\ ["ansi-escapes", "npm:3.2.0"],\ - ["cross-spawn", "npm:6.0.5"]\ + ["cross-spawn", "npm:7.0.5"]\ ],\ "linkType": "HARD"\ }],\ @@ -15684,7 +15663,7 @@ const RAW_RUNTIME_STATE = "packageDependencies": [\ ["password-prompt", "npm:1.1.3"],\ ["ansi-escapes", "npm:4.3.2"],\ - ["cross-spawn", "npm:7.0.3"]\ + ["cross-spawn", "npm:7.0.5"]\ ],\ "linkType": "HARD"\ }]\ @@ -15742,13 +15721,6 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["path-key", [\ - ["npm:2.0.1", {\ - "packageLocation": "./.yarn/cache/path-key-npm-2.0.1-b1a971833d-6e654864e3.zip/node_modules/path-key/",\ - "packageDependencies": [\ - ["path-key", "npm:2.0.1"]\ - ],\ - "linkType": "HARD"\ - }],\ ["npm:3.1.1", {\ "packageLocation": "./.yarn/cache/path-key-npm-3.1.1-0e66ea8321-55cd7a9dd4.zip/node_modules/path-key/",\ "packageDependencies": [\ @@ -17205,14 +17177,6 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["shebang-command", [\ - ["npm:1.2.0", {\ - "packageLocation": "./.yarn/cache/shebang-command-npm-1.2.0-8990ba5d1d-9eed175030.zip/node_modules/shebang-command/",\ - "packageDependencies": [\ - ["shebang-command", "npm:1.2.0"],\ - ["shebang-regex", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ ["npm:2.0.0", {\ "packageLocation": "./.yarn/cache/shebang-command-npm-2.0.0-eb2b01921d-6b52fe8727.zip/node_modules/shebang-command/",\ "packageDependencies": [\ @@ -17223,13 +17187,6 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["shebang-regex", [\ - ["npm:1.0.0", {\ - "packageLocation": "./.yarn/cache/shebang-regex-npm-1.0.0-c3612b74e9-404c5a752c.zip/node_modules/shebang-regex/",\ - "packageDependencies": [\ - ["shebang-regex", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ ["npm:3.0.0", {\ "packageLocation": "./.yarn/cache/shebang-regex-npm-3.0.0-899a0cd65e-1a2bcae50d.zip/node_modules/shebang-regex/",\ "packageDependencies": [\ @@ -19248,7 +19205,7 @@ const RAW_RUNTIME_STATE = ["ultra-runner", "npm:3.10.5"],\ ["ansi-split", "npm:1.0.1"],\ ["chalk", "npm:4.1.2"],\ - ["cross-spawn", "npm:7.0.3"],\ + ["cross-spawn", "npm:7.0.5"],\ ["fast-glob", "npm:3.2.12"],\ ["globrex", "npm:0.1.2"],\ ["ignore", "npm:5.2.0"],\ diff --git a/.yarn/cache/cross-spawn-npm-6.0.5-2deab6c280-f07e643b48.zip b/.yarn/cache/cross-spawn-npm-6.0.5-2deab6c280-f07e643b48.zip deleted file mode 100644 index c48fb4ce055ec03a25c0950282318457173233b8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10350 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¨U8G)F^;-Vmv6`}OS87r*mhpg@Za0cV ze>14B6KxyWzQ| zuFu5H%}usFFt%wX%jw=^SE4TQ{PA+}STi$1B~xA^#m{cq$JFoM*T=_WtCNayqt2OB z>tk9Lu0NAUgb+5`ah)6x+SA7(?7$qwFSFpej{iw0hP{iS9F~OqzTNXKS7_4g4To#( zJZMG0_=pdVeoD4r4HR@c9v#A81P?6gj*JFo8w%Vy4lEY{?&;cyen@v(6v-o@I6&P!xRy6$98NnwFw7Y`+|(9X-0&*gI(Y$mgrL$}^<+jXK9vwZVsa)T-5 z;~a?qF>srp3UPRQ2?zFqyPhaBvKFz#Hm3D*^8ShmR-_s-3WY#Np%M zr&S(=Jo{2}Zk41(M>xqaIy~h5_2>7m(R~HP2jm1xICGVA8^0d%vg-F$kDm+i!ks>n zE|kuDJs%spI4;x3Z24Y+g4rTrRhl9*Cx@rAVci z__rEDELw>qPmR(K9|?!^lZRG=-O8zXnqyhTk}-^sl)J%vN|_93D7yCV$v*m2GCsH} zKl)H68mRw@N{90ZAvt)jiiI*nRZ?%XZ6lHHwU>uuo6Nk6^hUFy=Hgp3Bvm`s6$X1vsKE*OevjFJ_OBQ!OzkBl`+_uI>`29TmOYDxuG?PkZ`oqQ3#mDV8zV>bk@ z^7CDxbjNEXOzS5|=M#%Clmyb$+%7XjX%k#qcN|m}%MPXUJmDR6KQLsc!jrt);2C3g zmy@lgqRU_GPQORKDY6b`?m#o1QJqIPsL|?{Q8DND-Cf`H7~W8VXltc7S9c7UCx{rY z^uoo6-H~l>_b~h5yNk2Z4rwY0#I53iDe+?GTp+)u_`GXSpG6JV=SrYgY= zM^FpKM#k{b5WS=aToepo#+!!~FfT?KdQs9E+QT{)7!cL!?s(bvZZd!qYP_kk7LY>f zT#8X=O#=yS950~cZmd64f?!_1oZ=JM)5?mpNp4|f-yvP^a9zfg4SaT3TL_iSEb#Qq>F9maU95qD&>OBZ#)KnLz$uT; zJoJ2-N-z#+-7TPSnt!^sGdm+bm5xD9lDTVxzu$VovLeM$b7%m%t7 zt4Tz;0_~#+(c(J%r^FH>pM)kPFX`(seA^AqYb;!~^`ZjPq zzjt-<^L|2@)&)Oyn(fII-Ynem@aVf>D(F9XNnAqUvyQzwF?i*LHu-#lUq^DG)%ZH3 z+9~>EgTK`?NCDDg$WU1h96|{4Kezh4MA|>bk;u=>-_G}cGX2^5^J^T5{4q)Wg89|x z@OvxJFPMS=lb74S&EVe^hJSAi`W^E3-if~;gCYL_`R|<+zeE0BMEwhL{H0X!A7}Zi zr20GD?_0`Hf5z7@@BS|P{DLY7Q2%dG|1Sdln%*zW-_PuSVIJW8m+AdF!T*B%Y5Mz$e^Rtx z<48p5oLTKn&L{V(8N(*I?mf6wy2qyL_C i{z4BX|KHGmOF_zV&@bW&7#PaS3;04`zrXtV>Hh%Yh&!eL diff --git a/.yarn/cache/cross-spawn-npm-7.0.3-e4ff3e65b3-e1a13869d2.zip b/.yarn/cache/cross-spawn-npm-7.0.3-e4ff3e65b3-e1a13869d2.zip deleted file mode 100644 index 9aa6dc0d867d7e34884e32425a385772d587e96b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10222 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 literal 0 HcmV?d00001 diff --git a/.yarn/cache/nice-try-npm-1.0.5-963856b16f-0b4af3b5bb.zip b/.yarn/cache/nice-try-npm-1.0.5-963856b16f-0b4af3b5bb.zip deleted file mode 100644 index e022a139d68abfb225147415c6deb1503c1654a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3060 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 diff --git a/.yarn/cache/path-key-npm-2.0.1-b1a971833d-6e654864e3.zip b/.yarn/cache/path-key-npm-2.0.1-b1a971833d-6e654864e3.zip deleted file mode 100644 index a643be7be9c23fcd0fea80d08b0ff6478066ca67..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2428 zcmZ{l3pkVeAHcVnirmh~wM}sxi4(b$jKWAG8FQPvm^RGZEgEfuTK7*Jjd^Sp7-~ApXdF4p7;BGzu)JBvJwDG0lqBbn&BN^ z58rO0{5^>1i}fTBeIo*~VVbBdUzOhcYOr@W?$-cp^tTugV8>Vd`>SZ}!$1JwA_xFb z+A=2C+b6*L4EBJ37%_-Iv9`IRC6ctr+hr>b-{W|+M@R?^fdm_ya)MG2xSNL_GjnOA zlY^h&$oBBbDd{d!U{_@11qphdXgN!XP(jc0th2VEaRlm3xsZHzbmT$0VDPCbz2pbV zvfle8YCq1a0^6Mu+JOW!P2{~y`2?~dWQmQf@k$%gj(X%v~8f}}p`}0$BYnQHBn<_i-Iwsv`hcxYaD6?<;rMHZOiWM2XZ+XRE>|Mg<}#f%FvFsN@O# zf;+!ou~9@$${kfsz0;V`Hc{l+Fz4kyDG|ND_-&?IZGWcgzB8R_~tR8+4cyB!c4R3(%zp-mznSXyq-4Q$bj5_)`)~m z6j?5`7``Qd;)i5~42|4Q)kJHxreWaYFlzSM7p$Zj4r;{@r9VO++gUah#E zzKowJwcUgKya_36@gH+e7WJA;gK7_?~VKdU3Mzq_e3>w;}ef;vq`V` zv}({Arr_;y%w%@euMV|Z0u_kaiI%MQEGexb z77KT?YD^7rF-9JNii{I6sw_6(uN1K}uY68_(52|M%u(mb{zR45wvp9?AcK^6hLAFl z#Tp&SO1cp`b6}y{cxo^Ygm`?gSm5cUTfK)D%+ABv?HPR!6AzJ@KfMb{r;6kh?tFwpl6yecr$Ku8;a(>G<-rh=bdv7aDcoq@dl$p4`xIh zMJ3pn1JsSDwZtQak=Fx&6)u;ISRh{^*Xtg>zi3mJAX6C7@AzT=GXS`*<^$l6@Y#^q zqK3N=iLMrx9F=_oFa54qk&j@?R}N(N>S%=2pq9r}j)sHvgj3!CRm_oI3MGSjNik|+ zcrhVYBwAwH5}&$*szczou*BA~$5oSq=5>iL+||Z_dnFAm zGz@K)W@C1KkomET84xSEY5vsq2><|!TXu0M*4vkWJwWiKWp`%`YDpw5l2T1fER`wC z9yq78tYT1)B{vmePuLyBX|?`yBBXszc}d=oZ7^2O7TBFOJB zSJr(h=b+WJU?|~CZrHB_N1_}Hc2(G6nJ|5|n~f)!j?kqi1y5Fj(Jm#}W*qoP(>=zz zkdM`Jx|myH*7#^p=gG(+c9{WPI?6IZZZ-AeWgT*<@w1PA0gYEG2IVF5!vXMkp3Ls=nKn>E?@J z%BCqf<3mYG%+yjZqR9=>Ycta2Y8P}o9v$8nH&fUHjGsDjQeIQMw6-t;D1APn|AhwZ zT*%u((JC}bgmY;ztkc=_58_^!-nl1f)sz!CE9iSS32^^ti#*ox)XVvnj}UUCb=5)% z;-Vu@)?Mbl^?Z(}*Odek7{PNh=gsQ0v^D7`zp#iln@tt3aBr|_m2u}zXUS-0rK-6T zBF~m*F>t#S&2t0haQk4)Cve`|k1x?cHbrN^6RoO6-lKr3e7)T`ba-aP=9cZ}qMWkP zvW&w92~R6$)(UAZIsUaTa|2sXj^~(JfAWvN1DMdBNaYog9S{t)^PrT@*?u*+ttZ!pTqo?9~hsrZd_ zHh7zD^_@4&pM-z^rVV#(W^J~>cUC{&4gb#i=7i0t&7=4ol_j_p>i>g@vJ%|(C14x> NYUF3pxc$r1{{TNL;IaS! diff --git a/.yarn/cache/shebang-command-npm-1.2.0-8990ba5d1d-9eed175030.zip b/.yarn/cache/shebang-command-npm-1.2.0-8990ba5d1d-9eed175030.zip deleted file mode 100644 index 9b734d105d75b93d63b8e246a1b823d33437e6ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2356 zcmWIWW@Zs#00D<}*EqloD8UP)^YT+t<8$*SYz@=j8^R&N^%$u;;mU3%})* zD;ukIwmb>YSo-8zbf)7*vrlHzQdDl1a{T=MDs{0_-)>`TYvbvnimgkSy4-_ii1CGd z`t8Q)sH$xyC*vp`a_MpD&w#MP(+5nXs%K9K-*9A`!zESAEL9FwPlI_SHyTVHUi|k~ z`JKs^Qwu_Wy}7O~;l69{%O<{Up|>XL<(<;mf4F1Po0Z%AZd(}7?r2_cL)CXm(!ugO z%u6rNo7v1~)3;5QPwobrbgT3Fho&BVLO$Q3H-7m2bEVenQ>L2&lGP=zHf@||rMW3i zc-CpTjogdoPwbp@Fyxa&#sB9ve{Zx-b|27 zeizByescDob*JkyC3^JD^=tW#@1HI2r`2~lHA2OxXl2PXldY2$S#|%*DvkZi2#GXU z$cvmf^7$Sx#G`*kxGVX?f4 zdLjxU@7b@~T*;rH`e=rh^&UCvLoeR;EUUkD@XC9~*W0`=?#?ms*#F9M=K;C0uH?nG z+>fQs&Odf(Q|7(COKH3FR+Y;*Chy3cv17W%{hy+rc-)S0{*dAq^<=+V@Gd#P9yNf% z3XU*N0Vc~-76t|tLIISMnVgzeoEjT+KYzA?K;8587Ed*&2K=`3y)088mEEBH*yOY_ zqk09iOycDg|Np-8xV37slI!=M?|v7y=kY#qa!$)Ou3+}okz1ruIDPxYdAAu(|6;70 z8E)+m*UMPFNBY6^JZHvPwZ09sa`uFFZYrCAmvqShwuIW5qo`a62dk!A$S@N`R;ihKUa{-RM+mzn$=w7NQ=enL{ za^sFet65gGqP)qvc~! z@KoAS`(=DB0l!a{&fOif;O_S*50Xk9$9v-PJ9}pDy?(VE5%9vQHE}bQ0J1CX!R0rS0AKN%NA} zq6qDfhnD(ZlvgRS{bA+SFxNTlp_OD^vi^j;N>O#dqsqmJ%A2Ps?|Ag0XRT4)fveE4Xv+YPug=RKGkv7v+@7Of+nF5#MGD$VasvBR&lpYf^W87n;rQ#orZC4JX97y&N*~45+wO2!99NwiBILj9 z$V&B2Lb0^k^g~O8jv?O*|FZ}5Rn6`1G}QIP-CN&gJnM${4JqGJ zsj7XF0tddmUGXfU=Ys!@mTvxuYp$5Y>{mW>{Ac;Dpd)r&U$eU9-|yHR>LBfEM zWP4YCp1pc&?k}V7iapuh4}}A~8JX;vao424PzQszjvxxHUd62yRI|dsTSsjm6Gba# zJqs}kR^Fr6v@oNVG^Pm4J!xED+$$$_CQM287puUh`lF@c_7mv|<1N diff --git a/.yarn/cache/shebang-regex-npm-1.0.0-c3612b74e9-404c5a752c.zip b/.yarn/cache/shebang-regex-npm-1.0.0-c3612b74e9-404c5a752c.zip deleted file mode 100644 index 607d724c33611cb1242d89a446f1d71282efbd04..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2128 zcmWIWW@Zs#00D<}*EqloD8UP)^YT+t<8$*n`M&HFentic6D9@*b^IC&5|gtN(^K`biu3bwCmQ-6HV|n2{)bE3ct%K) z6O-WvgAD;@M-m>bemv>M#haWfSN$u0Q+y}tz>h!sc2}3%h4ox@;|aLG@mA>v&7NIu z0UNG_U!27_cbnQS>3bj4_IefQzPh;noc4;9;wKU$1!JDvJf|exl5d?WBAoMf&Z_FW zO@$^OpZ?U{tJrfbGykK5SAC$Ach)A#+m z?NXi8bI4xc=0V$w0R~>u1xG`)GhZF9J#7BbEZrn_xr42R{Kbeviyl;$A1vRs zeBXOcKF);5Mt-J!4?g4uit#v|tF`nNOAdQ_wRy?^6HP*M**#{=PiQf?v1Qktz%xqE z_-=oU=8BoSN*)v$T;P}j#oHXqqQ@FQ9tbPr57W%Nl++4fh^m(srz#Ye6lErts9SSE z;#e=Wq9DJhq*%dLK|fAeQBO#s+!! z-!c%`_dC4DVq=iY`_RySElXS_3W!{T22(V zbf!Z2*0;^AmTdk#OaJ|{+EFZ>7-#SJ@>kl1fL{w`nQOR%C6>K7{xfK2Uf}Q3*=}(iBzL`uk z+4gG2>&C2n)g3!;{4!*+>S$igsmyr&`rR87+O`)x*L!!+;qm2ZOwJb!7cgI%dElt| zJC}Ovo4fjspKCR1JSO<1uxAF(lsVJpP3YIJYe?ALr`Y6tck*@q(qMki{g<2`C%ZNp zZNC<8XI7M(Ps_72wJL+P-26E+IEiKs6->SI&wdB%!Z+KkfmE`V)%EtUP`1m)!xbaUm^ zw%3_bIHT9brKlOr_$c%^lBqiLT2?xPwTb>2#w%PEg$?sJoe&b(zb$Hts>azTX|uf> zEhCrw)SGj;Xb|oyPTpb@6Rb4$3q!(T`ZL85N&gA2a_6!zy=9T$i!_!+Q zN~Ra{-ky7JRggk$+lE%1FsaBRZX#)oYi2NiY+{^}J@2{8(I0$QvoEo)yd}4#CQdqH zwT(Y+?$J3=&a&4Np>QDxc zaLLNEzhA^nQ(|0~>d76Mxz$r*t+4tPmZsv?9g8oldU)A&L+hhh&3lZB!Zz+YHvS)9 z)^L9lM@`C#zxM8R0G2~8z~rogKPeZbCZ^=3>gA?Po#^NXEQDOY+a2BF=(Wk?%&b+e zN#UGkys@oayUtCJ5VEeAGeNtM*RRb}YpZKc#I36T|7Y4W2DGv-JbfgolljT!KkI@^ z8D|QwTO1o=dHoXa^K)Hsfl8rSIVU||9#WEwE(tUR}sy{506Gt`y@|J=QZ{{Jh#5%UfBdNAAsG zWn5!w8F;9%BXOp}eVY7~Z^qvj_%`}SN%<~2w#6*f;2p*w&{4v*_##WO6VV6H?jco7CF0@E)Z1EIw*x_RiSA7S1bV9}1p VJa}FR@MdKL>0$%IGayfac>v~(JG1}* diff --git a/package.json b/package.json index bb50d240c5d..0c004c20773 100644 --- a/package.json +++ b/package.json @@ -92,7 +92,8 @@ "ws": "^8.17.1", "body-parser": "^1.20.3", "path-to-regexp": "^1.9.0", - "cookie": "^0.7.0" + "cookie": "^0.7.0", + "cross-spawn": "^7.0.5" }, "dependencies": { "node-gyp": "^10.0.1" diff --git a/yarn.lock b/yarn.lock index 08923aac7f9..1ea5015fe3c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6273,27 +6273,14 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:7.0.3, cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.1, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": - version: 7.0.3 - resolution: "cross-spawn@npm:7.0.3" +"cross-spawn@npm:^7.0.5": + version: 7.0.5 + resolution: "cross-spawn@npm:7.0.5" dependencies: path-key: "npm:^3.1.0" shebang-command: "npm:^2.0.0" which: "npm:^2.0.1" - checksum: e1a13869d2f57d974de0d9ef7acbf69dc6937db20b918525a01dacb5032129bd552d290d886d981e99f1b624cb03657084cc87bd40f115c07ecf376821c729ce - languageName: node - linkType: hard - -"cross-spawn@npm:^6.0.5": - version: 6.0.5 - resolution: "cross-spawn@npm:6.0.5" - dependencies: - nice-try: "npm:^1.0.4" - path-key: "npm:^2.0.1" - semver: "npm:^5.5.0" - shebang-command: "npm:^1.2.0" - which: "npm:^1.2.9" - checksum: f07e643b4875f26adffcd7f13bc68d9dff20cf395f8ed6f43a23f3ee24fc3a80a870a32b246fd074e514c8fd7da5f978ac6a7668346eec57aa87bac89c1ed3a1 + checksum: c95062469d4bdbc1f099454d01c0e77177a3733012d41bf907a71eb8d22d2add43b5adf6a0a14ef4e7feaf804082714d6c262ef4557a1c480b86786c120d18e2 languageName: node linkType: hard @@ -11450,13 +11437,6 @@ __metadata: languageName: node linkType: hard -"nice-try@npm:^1.0.4": - version: 1.0.5 - resolution: "nice-try@npm:1.0.5" - checksum: 0b4af3b5bb5d86c289f7a026303d192a7eb4417231fe47245c460baeabae7277bcd8fd9c728fb6bd62c30b3e15cd6620373e2cf33353b095d8b403d3e8a15aff - languageName: node - linkType: hard - "nise@npm:^5.1.5": version: 5.1.5 resolution: "nise@npm:5.1.5" @@ -12566,13 +12546,6 @@ __metadata: languageName: node linkType: hard -"path-key@npm:^2.0.1": - version: 2.0.1 - resolution: "path-key@npm:2.0.1" - checksum: 6e654864e34386a2a8e6bf72cf664dcabb76574dd54013add770b374384d438aca95f4357bb26935b514a4e4c2c9b19e191f2200b282422a76ee038b9258c5e7 - languageName: node - linkType: hard - "path-key@npm:^3.0.0, path-key@npm:^3.1.0": version: 3.1.1 resolution: "path-key@npm:3.1.1" @@ -13893,15 +13866,6 @@ __metadata: languageName: node linkType: hard -"shebang-command@npm:^1.2.0": - version: 1.2.0 - resolution: "shebang-command@npm:1.2.0" - dependencies: - shebang-regex: "npm:^1.0.0" - checksum: 9eed1750301e622961ba5d588af2212505e96770ec376a37ab678f965795e995ade7ed44910f5d3d3cb5e10165a1847f52d3348c64e146b8be922f7707958908 - languageName: node - linkType: hard - "shebang-command@npm:^2.0.0": version: 2.0.0 resolution: "shebang-command@npm:2.0.0" @@ -13911,13 +13875,6 @@ __metadata: languageName: node linkType: hard -"shebang-regex@npm:^1.0.0": - version: 1.0.0 - resolution: "shebang-regex@npm:1.0.0" - checksum: 404c5a752cd40f94591dfd9346da40a735a05139dac890ffc229afba610854d8799aaa52f87f7e0c94c5007f2c6af55bdcaeb584b56691926c5eaf41dc8f1372 - languageName: node - linkType: hard - "shebang-regex@npm:^3.0.0": version: 3.0.0 resolution: "shebang-regex@npm:3.0.0" @@ -16047,7 +16004,7 @@ __metadata: languageName: node linkType: hard -"which@npm:^1.2.1, which@npm:^1.2.9": +"which@npm:^1.2.1": version: 1.3.1 resolution: "which@npm:1.3.1" dependencies: From 143f980eba668493b6b6ac883f011221c5957424 Mon Sep 17 00:00:00 2001 From: Ivan Shumkov Date: Mon, 18 Nov 2024 22:27:46 +0700 Subject: [PATCH 40/40] ci: we don't want to remove artifacts --- .github/workflows/tests.yml | 17 ----------------- 1 file changed, 17 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index db0fdd2d324..5092d32ede8 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -210,20 +210,3 @@ jobs: - build-images secrets: inherit uses: ./.github/workflows/tests-packges-functional.yml - - remove-artifacts: - name: Remove artifacts - needs: - - js-packages - - js-codeql - - test-suite - - test-functional - - dashmate-e2e-tests - runs-on: ubuntu-24.04 - # Make sure we run this job even if some needed jobs were skipped - if: ${{ always() }} - steps: - - uses: geekyeggo/delete-artifact@v5 - with: - name: js-build-${{ github.sha }} - if: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' || github.event_name == 'schedule' || !github.event.pull_request.draft }}