From 61c507e5f613b706635689edbbc32f797f824fe5 Mon Sep 17 00:00:00 2001 From: Arthur Geron <3487334+arthurgeron@users.noreply.github.com> Date: Fri, 7 Feb 2025 10:44:54 -0300 Subject: [PATCH 1/5] feat: use adf version of pnpm --- .github/workflows/pr-tests-e2e-assets.yml | 13 ++++-- .github/workflows/pr-tests-e2e-contracts.yml | 30 ++++++++----- .github/workflows/pr-tests-e2e-crx-lock.yml | 9 +++- .github/workflows/pr-tests-e2e.yml | 20 ++++++--- .github/workflows/pr-tests-jest.yml | 7 ++- .github/workflows/pr.yaml | 46 +++++++++++++++----- .github/workflows/release-npm-changeset.yaml | 7 ++- .github/workflows/tests-devnet.yaml | 10 +++-- .github/workflows/tests-testnet.yaml | 10 +++-- 9 files changed, 110 insertions(+), 42 deletions(-) diff --git a/.github/workflows/pr-tests-e2e-assets.yml b/.github/workflows/pr-tests-e2e-assets.yml index 32758cbef8..5de3607ba6 100644 --- a/.github/workflows/pr-tests-e2e-assets.yml +++ b/.github/workflows/pr-tests-e2e-assets.yml @@ -16,10 +16,17 @@ jobs: timeout-minutes: 10 steps: - uses: actions/checkout@v4 + + - name: Extract pnpm version from .tool-versions + id: get_pnpm + run: | + PNPM_VERSION=$(grep '^pnpm' .tool-versions | awk '{print $2}') + echo "PNPM_VERSION=${PNPM_VERSION}" >> $GITHUB_ENV + - uses: FuelLabs/github-actions/setups/node@master with: node-version: 20.11.0 - pnpm-version: 9.5.0 + pnpm-version: ${{ env.PNPM_VERSION }} - uses: ./.github/actions/setup-playwright @@ -28,11 +35,11 @@ jobs: timeout-minutes: 15 env: NODE_ENV: test - READONLY_TESTNET_ASSETS_VIEW: ${{secrets.READONLY_TESTNET_ASSETS_VIEW}} + READONLY_TESTNET_ASSETS_VIEW: ${{ secrets.READONLY_TESTNET_ASSETS_VIEW }} - name: Upload Test Report if: failure() uses: actions/upload-artifact@v4 with: name: e2e-test-report - path: packages/e2e-assets/playwright-html \ No newline at end of file + path: packages/e2e-assets/playwright-html diff --git a/.github/workflows/pr-tests-e2e-contracts.yml b/.github/workflows/pr-tests-e2e-contracts.yml index 34ba71f46a..199521971c 100644 --- a/.github/workflows/pr-tests-e2e-contracts.yml +++ b/.github/workflows/pr-tests-e2e-contracts.yml @@ -12,7 +12,7 @@ concurrency: jobs: tests-e2e-contracts: name: Test (Chrome Stable) [Shard ${{ matrix.shard }}] - runs-on: buildjet-8vcpu-ubuntu-2204 + runs-on: buildjet-8vcpu-ubuntu-2204 timeout-minutes: 20 strategy: fail-fast: false @@ -20,10 +20,15 @@ jobs: shard: [1, 2, 3, 4] steps: - uses: actions/checkout@v4 + - name: Extract pnpm version from .tool-versions + id: get_pnpm + run: | + PNPM_VERSION=$(grep '^pnpm' .tool-versions | awk '{print $2}') + echo "PNPM_VERSION=${PNPM_VERSION}" >> $GITHUB_ENV - uses: FuelLabs/github-actions/setups/node@master with: node-version: 20.11.0 - pnpm-version: 9.5.0 + pnpm-version: ${{ env.PNPM_VERSION }} - uses: FuelLabs/github-actions/setups/docker@master with: username: ${{ github.repository_owner }} @@ -32,8 +37,7 @@ jobs: - name: Run PNPM install id: pnpm-cache - run: - pnpm recursive install --frozen-lockfile + run: pnpm recursive install --frozen-lockfile - name: Start Test Node run: pnpm node:up @@ -50,7 +54,7 @@ jobs: providerUrl: "http://localhost:4000/v1/graphql" masterMnemonic: ${{ secrets.VITE_MASTER_WALLET_MNEMONIC }} genesisSecret: "0xa449b1ffee0e2205fa924c6740cc48b3b473aa28587df6dab12abc245d1f5298" - browser: 'chromium' + browser: "chromium" shard: ${{ matrix.shard }}/4 - uses: actions/upload-artifact@v4 @@ -62,7 +66,7 @@ jobs: tests-e2e-contracts-beta: name: Test (Chrome Beta) [Shard ${{ matrix.shard }}] - runs-on: buildjet-8vcpu-ubuntu-2204 + runs-on: buildjet-8vcpu-ubuntu-2204 timeout-minutes: 20 continue-on-error: true strategy: @@ -71,10 +75,15 @@ jobs: shard: [1, 2, 3, 4] steps: - uses: actions/checkout@v4 + - name: Extract pnpm version from .tool-versions + id: get_pnpm + run: | + PNPM_VERSION=$(grep '^pnpm' .tool-versions | awk '{print $2}') + echo "PNPM_VERSION=${PNPM_VERSION}" >> $GITHUB_ENV - uses: FuelLabs/github-actions/setups/node@master with: node-version: 20.11.0 - pnpm-version: 9.5.0 + pnpm-version: ${{ env.PNPM_VERSION }} - uses: FuelLabs/github-actions/setups/docker@master with: @@ -84,8 +93,7 @@ jobs: - name: Run PNPM install id: pnpm-cache - run: - pnpm recursive install --frozen-lockfile + run: pnpm recursive install --frozen-lockfile - name: Start Test Node run: pnpm node:up @@ -102,7 +110,7 @@ jobs: providerUrl: "http://localhost:4000/v1/graphql" masterMnemonic: ${{ secrets.VITE_MASTER_WALLET_MNEMONIC }} genesisSecret: "0xa449b1ffee0e2205fa924c6740cc48b3b473aa28587df6dab12abc245d1f5298" - browser: 'chrome-beta' + browser: "chrome-beta" shard: ${{ matrix.shard }}/4 - uses: actions/upload-artifact@v4 @@ -111,5 +119,3 @@ jobs: name: playwright-e2e-contract-tests-report-beta-shard-${{ matrix.shard }} path: packages/e2e-contract-tests/playwright-results retention-days: 30 - - \ No newline at end of file diff --git a/.github/workflows/pr-tests-e2e-crx-lock.yml b/.github/workflows/pr-tests-e2e-crx-lock.yml index e3b42ad6a8..03dbb9ee5d 100644 --- a/.github/workflows/pr-tests-e2e-crx-lock.yml +++ b/.github/workflows/pr-tests-e2e-crx-lock.yml @@ -16,10 +16,15 @@ jobs: timeout-minutes: 7 steps: - uses: actions/checkout@v4 + - name: Extract pnpm version from .tool-versions + id: get_pnpm + run: | + PNPM_VERSION=$(grep '^pnpm' .tool-versions | awk '{print $2}') + echo "PNPM_VERSION=${PNPM_VERSION}" >> $GITHUB_ENV - uses: FuelLabs/github-actions/setups/node@master with: node-version: 20.11.0 - pnpm-version: 9.5.0 + pnpm-version: ${{ env.PNPM_VERSION }} - uses: FuelLabs/github-actions/setups/docker@master with: username: ${{ github.repository_owner }} @@ -27,7 +32,7 @@ jobs: - name: Start Test Node run: pnpm node:up - + - name: Generate .env run: cp packages/app/.env.example packages/app/.env diff --git a/.github/workflows/pr-tests-e2e.yml b/.github/workflows/pr-tests-e2e.yml index 3656221179..4c68532d0f 100644 --- a/.github/workflows/pr-tests-e2e.yml +++ b/.github/workflows/pr-tests-e2e.yml @@ -16,10 +16,15 @@ jobs: runs-on: buildjet-8vcpu-ubuntu-2204 steps: - uses: actions/checkout@v4 + - name: Extract pnpm version from .tool-versions + id: get_pnpm + run: | + PNPM_VERSION=$(grep '^pnpm' .tool-versions | awk '{print $2}') + echo "PNPM_VERSION=${PNPM_VERSION}" >> $GITHUB_ENV - uses: FuelLabs/github-actions/setups/node@master with: node-version: 20.11.0 - pnpm-version: 9.5.0 + pnpm-version: ${{ env.PNPM_VERSION }} - uses: FuelLabs/github-actions/setups/docker@master with: username: ${{ github.repository_owner }} @@ -27,7 +32,7 @@ jobs: - name: Start Test Node run: pnpm node:up - + - name: Generate .env run: cp packages/app/.env.example packages/app/.env @@ -56,10 +61,15 @@ jobs: continue-on-error: true steps: - uses: actions/checkout@v4 + - name: Extract pnpm version from .tool-versions + id: get_pnpm + run: | + PNPM_VERSION=$(grep '^pnpm' .tool-versions | awk '{print $2}') + echo "PNPM_VERSION=${PNPM_VERSION}" >> $GITHUB_ENV - uses: FuelLabs/github-actions/setups/node@master with: node-version: 20.11.0 - pnpm-version: 9.5.0 + pnpm-version: ${{ env.PNPM_VERSION }} - uses: FuelLabs/github-actions/setups/docker@master with: username: ${{ github.repository_owner }} @@ -67,7 +77,7 @@ jobs: - name: Start Test Node run: pnpm node:up - + - name: Generate .env run: cp packages/app/.env.example packages/app/.env @@ -80,7 +90,7 @@ jobs: - uses: ./.github/actions/setup-playwright with: - browser: 'chrome-beta' + browser: "chrome-beta" - name: Run E2E Tests run: xvfb-run --auto-servernum -- pnpm test:e2e:beta diff --git a/.github/workflows/pr-tests-jest.yml b/.github/workflows/pr-tests-jest.yml index 6bedb8ce43..b14d521450 100644 --- a/.github/workflows/pr-tests-jest.yml +++ b/.github/workflows/pr-tests-jest.yml @@ -19,10 +19,15 @@ jobs: shard: [1, 2, 3, 4] steps: - uses: actions/checkout@v4 + - name: Extract pnpm version from .tool-versions + id: get_pnpm + run: | + PNPM_VERSION=$(grep '^pnpm' .tool-versions | awk '{print $2}') + echo "PNPM_VERSION=${PNPM_VERSION}" >> $GITHUB_ENV - uses: FuelLabs/github-actions/setups/node@master with: node-version: 20.11.0 - pnpm-version: 9.5.0 + pnpm-version: ${{ env.PNPM_VERSION }} - uses: FuelLabs/github-actions/setups/docker@master with: username: ${{ github.repository_owner }} diff --git a/.github/workflows/pr.yaml b/.github/workflows/pr.yaml index 95609d5891..df4de6ad71 100644 --- a/.github/workflows/pr.yaml +++ b/.github/workflows/pr.yaml @@ -29,7 +29,7 @@ jobs: uses: tj-actions/changed-files@v22.2 with: files: | - **/packages/app/** + **/packages/app/** **/packages/types/** **/packages/react/** @@ -44,11 +44,17 @@ jobs: with: fetch-depth: 0 + - name: Extract pnpm version from .tool-versions + id: get_pnpm + run: | + PNPM_VERSION=$(grep '^pnpm' .tool-versions | awk '{print $2}') + echo "PNPM_VERSION=${PNPM_VERSION}" >> $GITHUB_ENV + - name: CI Setup uses: FuelLabs/github-actions/setups/node@58bcd91d7246e40938e1971be0b0fe35b253dff0 with: node-version: 20.11.0 - pnpm-version: 9.5.0 + pnpm-version: ${{ env.PNPM_VERSION }} - name: Validate Changeset run: pnpm changeset status --since=origin/${{ github.base_ref }} @@ -58,16 +64,21 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + - name: Extract pnpm version from .tool-versions + id: get_pnpm + run: | + PNPM_VERSION=$(grep '^pnpm' .tool-versions | awk '{print $2}') + echo "PNPM_VERSION=${PNPM_VERSION}" >> $GITHUB_ENV - uses: FuelLabs/github-actions/setups/node@master with: node-version: 20.11.0 - pnpm-version: 9.5.0 + pnpm-version: ${{ env.PNPM_VERSION }} - name: Install jq run: sudo apt-get install jq - run: | pnpm audit --prod --json | jq ' - .advisories | to_entries | - map(select(.value.patched_versions != "<0.0.0" and .value.severity == "critical") | {package: .value.module_name, vulnerable: .value.vulnerable_versions, fixed_in: .value.patched_versions}) + .advisories | to_entries | + map(select(.value.patched_versions != "<0.0.0" and .value.severity == "critical") | {package: .value.module_name, vulnerable: .value.vulnerable_versions, fixed_in: .value.patched_versions}) ' > audit_fix_packages.json if [ "$(jq 'length' audit_fix_packages.json)" -gt "0" ]; then echo "Actionable vulnerabilities found in the following packages:" @@ -78,16 +89,21 @@ jobs: echo "No actionable vulnerabilities" exit 0 fi - + strict-audit: name: Strict Audit runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + - name: Extract pnpm version from .tool-versions + id: get_pnpm + run: | + PNPM_VERSION=$(grep '^pnpm' .tool-versions | awk '{print $2}') + echo "PNPM_VERSION=${PNPM_VERSION}" >> $GITHUB_ENV - uses: FuelLabs/github-actions/setups/node@master with: node-version: 20.11.0 - pnpm-version: 9.5.0 + pnpm-version: ${{ env.PNPM_VERSION }} - run: pnpm audit --prod lint: @@ -101,21 +117,27 @@ jobs: - name: Checkout uses: actions/checkout@v4 + - name: Extract pnpm version from .tool-versions + id: get_pnpm + run: | + PNPM_VERSION=$(grep '^pnpm' .tool-versions | awk '{print $2}') + echo "PNPM_VERSION=${PNPM_VERSION}" >> $GITHUB_ENV + - name: Setup Node uses: FuelLabs/github-actions/setups/node@master with: node-version: 20.11.0 - pnpm-version: 9.5.0 + pnpm-version: ${{ env.PNPM_VERSION }} - name: Run lint run: | pnpm ts:check pnpm lint:ci - + docs: name: Docs uses: FuelLabs/github-actions/.github/workflows/next-docs.yml@master with: - doc-folder-path: 'packages/docs/docs' - src-folder-path: 'packages/docs/src' - spellcheck-config-path: 'packages/docs/.spellcheck.yml' + doc-folder-path: "packages/docs/docs" + src-folder-path: "packages/docs/src" + spellcheck-config-path: "packages/docs/.spellcheck.yml" diff --git a/.github/workflows/release-npm-changeset.yaml b/.github/workflows/release-npm-changeset.yaml index 53f5571228..dc4771b0a3 100644 --- a/.github/workflows/release-npm-changeset.yaml +++ b/.github/workflows/release-npm-changeset.yaml @@ -24,10 +24,15 @@ jobs: # workaround to ensure force pushes to changeset branch use REPO_TOKEN owner's account # see https://github.com/changesets/action/issues/70 persist-credentials: false + - name: Extract pnpm version from .tool-versions + id: get_pnpm + run: | + PNPM_VERSION=$(grep '^pnpm' .tool-versions | awk '{print $2}') + echo "PNPM_VERSION=${PNPM_VERSION}" >> $GITHUB_ENV - uses: FuelLabs/github-actions/setups/node@master with: node-version: 20.11.0 - pnpm-version: 9.5.0 + pnpm-version: ${{ env.PNPM_VERSION }} - uses: FuelLabs/github-actions/setups/npm@master with: npm-token: ${{ secrets.NPM_TOKEN_WALLET }} diff --git a/.github/workflows/tests-devnet.yaml b/.github/workflows/tests-devnet.yaml index 60f20e4317..a1a80b3efd 100644 --- a/.github/workflows/tests-devnet.yaml +++ b/.github/workflows/tests-devnet.yaml @@ -20,10 +20,15 @@ jobs: runs-on: buildjet-4vcpu-ubuntu-2204 steps: - uses: actions/checkout@v4 + - name: Extract pnpm version from .tool-versions + id: get_pnpm + run: | + PNPM_VERSION=$(grep '^pnpm' .tool-versions | awk '{print $2}') + echo "PNPM_VERSION=${PNPM_VERSION}" >> $GITHUB_ENV - uses: FuelLabs/github-actions/setups/node@master with: node-version: 20.11.0 - pnpm-version: 9.5.0 + pnpm-version: ${{ env.PNPM_VERSION }} - uses: FuelLabs/github-actions/setups/docker@master with: username: ${{ github.repository_owner }} @@ -31,8 +36,7 @@ jobs: - name: Run PNPM install id: pnpm-cache - run: - pnpm recursive install --frozen-lockfile + run: pnpm recursive install --frozen-lockfile - name: Generate .env app run: cp packages/app/.env.example packages/app/.env diff --git a/.github/workflows/tests-testnet.yaml b/.github/workflows/tests-testnet.yaml index 4d5e1ffb1f..b80b668ae2 100644 --- a/.github/workflows/tests-testnet.yaml +++ b/.github/workflows/tests-testnet.yaml @@ -20,10 +20,15 @@ jobs: runs-on: buildjet-4vcpu-ubuntu-2204 steps: - uses: actions/checkout@v4 + - name: Extract pnpm version from .tool-versions + id: get_pnpm + run: | + PNPM_VERSION=$(grep '^pnpm' .tool-versions | awk '{print $2}') + echo "PNPM_VERSION=${PNPM_VERSION}" >> $GITHUB_ENV - uses: FuelLabs/github-actions/setups/node@master with: node-version: 20.11.0 - pnpm-version: 9.5.0 + pnpm-version: ${{ env.PNPM_VERSION }} - uses: FuelLabs/github-actions/setups/docker@master with: username: ${{ github.repository_owner }} @@ -31,8 +36,7 @@ jobs: - name: Run PNPM install id: pnpm-cache - run: - pnpm recursive install --frozen-lockfile + run: pnpm recursive install --frozen-lockfile - name: Generate .env app run: cp packages/app/.env.example packages/app/.env From 80a08ac7f7f8d2fb2396b51c9a5f1f4385a0fe91 Mon Sep 17 00:00:00 2001 From: Arthur Geron <3487334+arthurgeron@users.noreply.github.com> Date: Fri, 7 Feb 2025 10:45:48 -0300 Subject: [PATCH 2/5] chore: update docs --- packages/docs/docs/contributing/running-locally.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/docs/docs/contributing/running-locally.mdx b/packages/docs/docs/contributing/running-locally.mdx index 1c64c01c0e..ed09ed69e1 100644 --- a/packages/docs/docs/contributing/running-locally.mdx +++ b/packages/docs/docs/contributing/running-locally.mdx @@ -14,7 +14,7 @@ This is a guide that will show you how you can run this project locally if you w This project includes frontend. To begin, install dependencies: - [Node.js 20.11.0 or latest stable](https://nodejs.org/en/). We recommend using [nvm](https://github.com/nvm-sh/nvm) to install. -- [pnpm v9.5.0 or latest stable](https://pnpm.io/installation/) +- [pnpm v9.10.0 or latest stable](https://pnpm.io/installation/) - [Docker v0.8.2 or latest stable](https://docs.docker.com/get-docker/) - [Docker Compose v2.6.0 or latest stable](https://docs.docker.com/get-docker/) From e6adfc2e9a26485fb55fed0252fe7495925f9f02 Mon Sep 17 00:00:00 2001 From: Arthur Geron <3487334+arthurgeron@users.noreply.github.com> Date: Fri, 7 Feb 2025 11:22:17 -0300 Subject: [PATCH 3/5] chore: changeset --- .changeset/lucky-pets-brake.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/lucky-pets-brake.md diff --git a/.changeset/lucky-pets-brake.md b/.changeset/lucky-pets-brake.md new file mode 100644 index 0000000000..ede0c2e7a2 --- /dev/null +++ b/.changeset/lucky-pets-brake.md @@ -0,0 +1,5 @@ +--- +"fuels-wallet": patch +--- + +feat: use adf version of pnpm From ebe693f7670dafa0eb9de3c3c970236ebf792fac Mon Sep 17 00:00:00 2001 From: Arthur Geron <3487334+arthurgeron@users.noreply.github.com> Date: Fri, 7 Feb 2025 11:50:35 -0300 Subject: [PATCH 4/5] fix: flaky test --- packages/app/playwright/commons/text.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/app/playwright/commons/text.ts b/packages/app/playwright/commons/text.ts index a623fbe89a..5083cfc45b 100644 --- a/packages/app/playwright/commons/text.ts +++ b/packages/app/playwright/commons/text.ts @@ -7,6 +7,11 @@ export async function hasText( position = 0, timeout = 5000 ) { + expect + .poll(async () => page.getByText(text).nth(position), { + timeout, + }) + .not.toThrow(); const textFound = page.getByText(text).nth(position); await expect(textFound).toHaveText(text, { useInnerText: true, From 92f101be384abd0d53198eda4176a1178ea87907 Mon Sep 17 00:00:00 2001 From: Arthur Geron <3487334+arthurgeron@users.noreply.github.com> Date: Fri, 7 Feb 2025 12:41:58 -0300 Subject: [PATCH 5/5] chore: --- packages/app/playwright/commons/text.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/app/playwright/commons/text.ts b/packages/app/playwright/commons/text.ts index 5083cfc45b..e652630d59 100644 --- a/packages/app/playwright/commons/text.ts +++ b/packages/app/playwright/commons/text.ts @@ -8,7 +8,7 @@ export async function hasText( timeout = 5000 ) { expect - .poll(async () => page.getByText(text).nth(position), { + .poll(async () => () => page.getByText(text).nth(position), { timeout, }) .not.toThrow();