diff --git a/.github/workflows/chainwright.yaml b/.github/workflows/chainwright.yaml index 80d274c..b10ae36 100644 --- a/.github/workflows/chainwright.yaml +++ b/.github/workflows/chainwright.yaml @@ -9,11 +9,17 @@ on: - "tests/e2e/**/*.spec.ts" - "src/wallets/**/actions/**/*.ts" +permissions: + contents: read + jobs: test: + if: github.repository == 'amaify/chainwright' runs-on: ubuntu-22.04 timeout-minutes: 60 - + strategy: + matrix: + node-version: [24] steps: - name: Checkout code uses: actions/checkout@v5 @@ -56,18 +62,15 @@ jobs: echo "EOF" >> "$GITHUB_OUTPUT" - name: Install pnpm - uses: pnpm/action-setup@v5 - with: - version: 10 - - - name: Use Node LTS - uses: actions/setup-node@v6 + uses: pnpm/setup@v2 with: - node-version: 24.x - cache: "pnpm" + runtime: node@${{ matrix.node-version }} + version: 11 + install: false + cache: true - name: Install dependencies - run: pnpm install + run: pnpm install --no-frozen-lockfile - name: Install XVFB run: sudo apt-get install -y xvfb diff --git a/.github/workflows/linting-and-unit-tests.yaml b/.github/workflows/linting-and-unit-tests.yaml index 41866d2..a674584 100644 --- a/.github/workflows/linting-and-unit-tests.yaml +++ b/.github/workflows/linting-and-unit-tests.yaml @@ -5,11 +5,17 @@ on: pull_request: branches: ["main", "dev"] +permissions: + contents: read + jobs: linting_and_unit_tests: + if: github.repository == 'amaify/chainwright' runs-on: ubuntu-22.04 timeout-minutes: 60 - + strategy: + matrix: + node-version: [24] steps: - name: Checkout code uses: actions/checkout@v5 @@ -17,15 +23,12 @@ jobs: submodules: "recursive" - name: Install pnpm - uses: pnpm/action-setup@v5 - with: - version: 10 - - - name: Use Node LTS - uses: actions/setup-node@v6 + uses: pnpm/setup@v2 with: - node-version: 24.x - cache: "pnpm" + runtime: node@${{ matrix.node-version }} + version: 11 + install: false + cache: true - name: Install dependencies run: pnpm install --no-frozen-lockfile diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 7038c4c..5ee3699 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -11,8 +11,12 @@ concurrency: ${{ github.workflow }}-${{ github.ref }} jobs: release: + if: github.repository == 'amaify/chainwright' name: Changesets Release runs-on: ubuntu-latest + strategy: + matrix: + node-version: [24] permissions: contents: write pull-requests: write @@ -24,16 +28,12 @@ jobs: fetch-depth: 0 - name: Install pnpm - uses: pnpm/action-setup@v5 + uses: pnpm/setup@v2 with: - version: 10 - - - name: Use Node.js - uses: actions/setup-node@v6 - with: - node-version: 24.x - registry-url: https://registry.npmjs.org - package-manager-cache: false + runtime: node@${{ matrix.node-version }} + version: 11 + install: false + cache: true - name: Install dependencies run: pnpm install --no-frozen-lockfile diff --git a/.github/workflows/schedule-wallet-initialization-runs.yaml b/.github/workflows/schedule-wallet-initialization-runs.yaml new file mode 100644 index 0000000..f04c89b --- /dev/null +++ b/.github/workflows/schedule-wallet-initialization-runs.yaml @@ -0,0 +1,47 @@ +name: Scheduled Wallet Initialization Runs + +on: + workflow_dispatch: + + schedule: + # Runs at 6 AM UTC, Monday - Friday + - cron: "0 6 * * 1-5" + +permissions: + contents: read + +jobs: + setup-wallets: + if: github.repository == 'amaify/chainwright' + runs-on: ubuntu-22.04 + timeout-minutes: 60 + strategy: + matrix: + node-version: [24] + + steps: + - name: Checkout code + uses: actions/checkout@v5 + with: + submodules: "recursive" + fetch-depth: 0 + + - name: Install pnpm + uses: pnpm/setup@v2 + with: + runtime: node@${{ matrix.node-version }} + version: 11 + install: false + cache: true + + - name: Install dependencies + run: pnpm install --no-frozen-lockfile + + - name: Install XVFB + run: sudo apt-get install -y xvfb + + - name: Install Playwright browsers + run: pnpm exec playwright install chromium + + - name: Initialize wallets + run: xvfb-run pnpm run setup-wallets diff --git a/.gitignore b/.gitignore index 7ed8199..24b4e5a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,6 @@ # dependencies (bun install) node_modules test-package -pnpm-workspace.yaml # output out diff --git a/CHANGELOG.md b/CHANGELOG.md index 32b7a8f..0ff6399 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # @tobelabs/chainwright +## 0.10.15 + +### Patch Changes + +- [Core] - Upgrade packages and fix the failing CI workflow + ## 0.10.14 ### Patch Changes diff --git a/LICENSE b/LICENSE index 25038c1..66e5673 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2026 amaify +Copyright (c) 2026 Tobechukwu Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/package.json b/package.json index e2893db..37dfd42 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "chainwright", - "version": "0.10.14", + "version": "0.10.15", "description": "Playwright Web3 wallet testing framework for end-to-end dApp automation with MetaMask, Phantom, Solflare, Petra, Meteor, and Keplr", "type": "module", "license": "MIT", @@ -111,18 +111,7 @@ "commander": "^15.0.0", "glob": "^13.0.6", "prool": "^0.2.14", - "tsx": "^4.23.9", + "tsx": "^4.23.10", "zod": "^4.4.3" - }, - "overrides": { - "tar": "^7.5.21" - }, - "resolutions": { - "tar": "^7.5.21" - }, - "pnpm": { - "overrides": { - "tar": "^7.5.21" - } } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5059d83..cceef18 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,7 +5,7 @@ settings: excludeLinksFromLockfile: false overrides: - tar: ^7.5.15 + tar: ^7.5.21 importers: @@ -30,8 +30,8 @@ importers: specifier: ^0.2.14 version: 0.2.14(debug@4.4.3) tsx: - specifier: ^4.23.9 - version: 4.23.9 + specifier: ^4.23.10 + version: 4.23.10 zod: specifier: ^4.4.3 version: 4.4.3 @@ -56,13 +56,13 @@ importers: version: 26.0.1 tsup: specifier: ^8.5.1 - version: 8.5.1(postcss@8.5.22)(tsx@4.23.9)(typescript@6.0.3) + version: 8.5.1(postcss@8.5.22)(tsx@4.23.10)(typescript@6.0.3) typescript: specifier: ^6.0.3 version: 6.0.3 vitest: specifier: ^4.1.10 - version: 4.1.10(@types/node@26.0.1)(vite@8.0.13(@types/node@26.0.1)(esbuild@0.27.7)(tsx@4.23.9)) + version: 4.1.10(@types/node@26.0.1)(vite@8.0.13(@types/node@26.0.1)(esbuild@0.27.7)(tsx@4.23.10)) packages: @@ -1699,8 +1699,8 @@ packages: typescript: optional: true - tsx@4.23.9: - resolution: {integrity: sha512-6q8uTORRGauQVjqMQnKUucLFoeXZAfw6zKvG35GLbdKWbLdeOtZ3H4mhyA5mxuUd2o2cRTskhj59nLLQseUvUw==} + tsx@4.23.10: + resolution: {integrity: sha512-0Vb9eKU47njkxv/6B8CRZRDsxNDT/Pz+BIU+M5jw7xL3TdzAjSxlZUxu0xFL/kLpaG3sHZ0LH2wbK1T1yo7CUQ==} engines: {node: '>=18.0.0'} hasBin: true @@ -2455,13 +2455,13 @@ snapshots: chai: 6.2.2 tinyrainbow: 3.1.0 - '@vitest/mocker@4.1.10(vite@8.0.13(@types/node@26.0.1)(esbuild@0.27.7)(tsx@4.23.9))': + '@vitest/mocker@4.1.10(vite@8.0.13(@types/node@26.0.1)(esbuild@0.27.7)(tsx@4.23.10))': dependencies: '@vitest/spy': 4.1.10 estree-walker: 3.0.3 magic-string: 0.30.21 optionalDependencies: - vite: 8.0.13(@types/node@26.0.1)(esbuild@0.27.7)(tsx@4.23.9) + vite: 8.0.13(@types/node@26.0.1)(esbuild@0.27.7)(tsx@4.23.10) '@vitest/pretty-format@4.1.10': dependencies: @@ -3005,12 +3005,12 @@ snapshots: optionalDependencies: fsevents: 2.3.2 - postcss-load-config@6.0.1(postcss@8.5.22)(tsx@4.23.9): + postcss-load-config@6.0.1(postcss@8.5.22)(tsx@4.23.10): dependencies: lilconfig: 3.1.3 optionalDependencies: postcss: 8.5.22 - tsx: 4.23.9 + tsx: 4.23.10 postcss@8.5.22: dependencies: @@ -3212,7 +3212,7 @@ snapshots: tslib@2.8.1: optional: true - tsup@8.5.1(postcss@8.5.22)(tsx@4.23.9)(typescript@6.0.3): + tsup@8.5.1(postcss@8.5.22)(tsx@4.23.10)(typescript@6.0.3): dependencies: bundle-require: 5.1.0(esbuild@0.27.7) cac: 6.7.14 @@ -3223,7 +3223,7 @@ snapshots: fix-dts-default-cjs-exports: 1.0.1 joycon: 3.1.1 picocolors: 1.1.1 - postcss-load-config: 6.0.1(postcss@8.5.22)(tsx@4.23.9) + postcss-load-config: 6.0.1(postcss@8.5.22)(tsx@4.23.10) resolve-from: 5.0.0 rollup: 4.60.4 source-map: 0.7.6 @@ -3240,7 +3240,7 @@ snapshots: - tsx - yaml - tsx@4.23.9: + tsx@4.23.10: dependencies: esbuild: 0.28.0 optionalDependencies: @@ -3258,7 +3258,7 @@ snapshots: universalify@0.1.2: {} - vite@8.0.13(@types/node@26.0.1)(esbuild@0.27.7)(tsx@4.23.9): + vite@8.0.13(@types/node@26.0.1)(esbuild@0.27.7)(tsx@4.23.10): dependencies: lightningcss: 1.33.0 picomatch: 4.0.5 @@ -3269,12 +3269,12 @@ snapshots: '@types/node': 26.0.1 esbuild: 0.27.7 fsevents: 2.3.3 - tsx: 4.23.9 + tsx: 4.23.10 - vitest@4.1.10(@types/node@26.0.1)(vite@8.0.13(@types/node@26.0.1)(esbuild@0.27.7)(tsx@4.23.9)): + vitest@4.1.10(@types/node@26.0.1)(vite@8.0.13(@types/node@26.0.1)(esbuild@0.27.7)(tsx@4.23.10)): dependencies: '@vitest/expect': 4.1.10 - '@vitest/mocker': 4.1.10(vite@8.0.13(@types/node@26.0.1)(esbuild@0.27.7)(tsx@4.23.9)) + '@vitest/mocker': 4.1.10(vite@8.0.13(@types/node@26.0.1)(esbuild@0.27.7)(tsx@4.23.10)) '@vitest/pretty-format': 4.1.10 '@vitest/runner': 4.1.10 '@vitest/snapshot': 4.1.10 @@ -3291,7 +3291,7 @@ snapshots: tinyexec: 1.1.2 tinyglobby: 0.2.17 tinyrainbow: 3.1.0 - vite: 8.0.13(@types/node@26.0.1)(esbuild@0.27.7)(tsx@4.23.9) + vite: 8.0.13(@types/node@26.0.1)(esbuild@0.27.7)(tsx@4.23.10) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 26.0.1 diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 0000000..b67f8ca --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,6 @@ +allowBuilds: + esbuild: true +minimumReleaseAgeExclude: + - tsx@4.23.9 || 4.23.10 +overrides: + tar: ^7.5.21