Skip to content

Comments

Dargon789 patch 2#61

Closed
Dargon789 wants to merge 12 commits intomasterfrom
Dargon789-patch-2
Closed

Dargon789 patch 2#61
Dargon789 wants to merge 12 commits intomasterfrom
Dargon789-patch-2

Conversation

@Dargon789
Copy link
Owner

@Dargon789 Dargon789 commented Sep 17, 2025

Summary by Sourcery

Overhaul CI configurations by standardizing Node and pnpm setup in GitHub Actions, refining publish steps, updating key dependencies, and adding new workflows for Next.js deployment and CircleCI pipelines.

New Features:

  • Introduce a GitHub Actions workflow for building and deploying a Next.js site to GitHub Pages
  • Add a CircleCI pipeline for Rust projects that runs cargo fmt and cargo test
  • Add a generic CircleCI configuration with a custom executor and placeholder job

Enhancements:

  • Replace custom install-dependencies action with actions/setup-node, pnpm caching, and direct pnpm install across test, build, and install jobs
  • Remove Foundry toolchain installation and Anvil startup from the tests workflow
  • Add steps to the publish-dists workflow to ignore and remove a prohibited_file before packaging
  • Upgrade Next.js to ^15.2.4 in extras/docs and extras/web, and bump happy-dom to ^15.10.2 in the wallet WDK

Dargon789 and others added 12 commits April 27, 2025 18:13
Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com>
Bumps the npm_and_yarn group with 1 update in the / directory: [next](https://github.com/vercel/next.js).


Updates `next` from 15.1.0 to 15.2.4
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](vercel/next.js@v15.1.0...v15.2.4)

Updates `nanoid` from 3.3.7 to 3.3.11
- [Release notes](https://github.com/ai/nanoid/releases)
- [Changelog](https://github.com/ai/nanoid/blob/main/CHANGELOG.md)
- [Commits](ai/nanoid@3.3.7...3.3.11)

---
updated-dependencies:
- dependency-name: next
  dependency-version: 15.2.4
  dependency-type: direct:production
  dependency-group: npm_and_yarn
- dependency-name: nanoid
  dependency-version: 3.3.11
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com>
Bumps the npm_and_yarn group with 1 update in the / directory: [happy-dom](https://github.com/capricorn86/happy-dom).
Bumps the npm_and_yarn group with 1 update in the /packages/wallet/wdk directory: [happy-dom](https://github.com/capricorn86/happy-dom).


Updates `happy-dom` from 13.10.1 to 15.10.2
- [Release notes](https://github.com/capricorn86/happy-dom/releases)
- [Commits](capricorn86/happy-dom@v13.10.1...v15.10.2)

Updates `happy-dom` from 13.10.1 to 15.10.2
- [Release notes](https://github.com/capricorn86/happy-dom/releases)
- [Commits](capricorn86/happy-dom@v13.10.1...v15.10.2)

---
updated-dependencies:
- dependency-name: happy-dom
  dependency-version: 15.10.2
  dependency-type: direct:development
  dependency-group: npm_and_yarn
- dependency-name: happy-dom
  dependency-version: 15.10.2
  dependency-type: direct:development
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com>
Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com>
Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com>
Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com>
Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com>
Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com>
@codesandbox
Copy link

codesandbox bot commented Sep 17, 2025

Review or Edit in CodeSandbox

Open the branch in Web EditorVS CodeInsiders

Open Preview

@bolt-new-by-stackblitz
Copy link

Review PR in StackBlitz Codeflow Run & review this pull request in StackBlitz Codeflow.

@sourcery-ai
Copy link

sourcery-ai bot commented Sep 17, 2025

Reviewer's Guide

This PR streamlines and expands CI/CD configurations by swapping custom actions for standardized GitHub workflows with caching and Node setup, adds new deployment and CircleCI pipelines, enforces removal of prohibited files in publishing, and bumps key workspace dependencies.

Sequence diagram for publishing with prohibited file removal

sequenceDiagram
  participant Runner as "CI Runner"
  participant Repo as "Repository"
  Runner->>Repo: echo "prohibited_file" >> .gitignore
  Runner->>Repo: git rm --cached prohibited_file
  Runner->>Repo: git commit -m "Remove prohibited_file"
  Runner->>Repo: mkdir -p /tmp/$PACKAGE
  Runner->>Repo: cp -r $PKG_DIR/* /tmp/$PACKAGE
Loading

Class diagram for updated package dependencies

classDiagram
  class DocsPackageJson {
    +@repo/ui: workspace:*
    +next: ^15.2.4
    +react: ^19.0.0
    +react-dom: ^19.0.0
  }
  class WebPackageJson {
    +@repo/ui: workspace:*
    +next: ^15.2.4
    +react: ^19.0.0
    +react-dom: ^19.0.0
  }
  class WalletWdkPackageJson {
    +@types/node: ^22.13.9
    +dotenv: ^16.4.7
    +fake-indexeddb: ^6.0.0
    +happy-dom: ^15.10.2
    +typescript: ^5.7.3
    +vitest: ^3.1.2
  }
Loading

File-Level Changes

Change Details Files
Standardize and optimize GitHub Actions for Node workflows
  • Replace custom install script with actions/setup-node@v4
  • Add pnpm cache action keyed by lockfile hash
  • Configure pnpm fetch retries and run pnpm install
  • Remove redundant install steps in build and test jobs
.github/workflows/tests.yml
Enforce removal of prohibited file before publishing
  • Append prohibited_file to .gitignore
  • Untrack prohibited_file with git rm --cached
  • Commit removal with a descriptive message
.github/workflows/publish-dists.yml
Bump Next.js and other dependencies across workspace packages
  • Upgrade next from ^15.1.0 to ^15.2.4 in docs and web
  • Update happy-dom from ^13.2.0 to ^15.10.2 in wallet wdk
  • Regenerate pnpm-lock.yaml to reflect updated versions
extras/docs/package.json
extras/web/package.json
packages/wallet/wdk/package.json
pnpm-lock.yaml
Introduce GitHub Actions Next.js deployment workflow
  • Add nextjs.yml with checkout, detection of package manager
  • Setup Node 20 with caching and configure-pages action
  • Add build and deploy jobs for Pages via upload-pages-artifact
.github/workflows/nextjs.yml
Add new CircleCI configurations for Rust and custom executor
  • Create ci_cargo.yml for cargo build/test and cache
  • Create config.yml defining a custom Docker executor and sample job
.circleci/ci_cargo.yml
.circleci/config.yml

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary of Changes

Hello @Dargon789, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request introduces new continuous integration pipelines for both Rust-based and general projects using CircleCI, enhancing automated testing and build processes. Concurrently, it updates several core JavaScript/TypeScript dependencies, including Next.js and happy-dom, ensuring the project leverages the latest features and security patches from these libraries.

Highlights

  • New CircleCI Configurations: Two new CircleCI configuration files have been added: one for Rust projects to automate build, test, and caching, and another for a general web3-defi-game-project with a custom Docker executor.
  • Dependency Updates: Key dependencies such as Next.js, happy-dom, @emnapi/runtime, caniuse-lite, and detect-libc have been updated to their latest versions across various package.json files and the pnpm-lock.yaml.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey there - I've reviewed your changes - here's some feedback:

  • Avoid committing files within the CI workflow (e.g. git commit in publish-dists); instead exclude prohibited files via .npmignore or package settings.
  • Consider consolidating to a single CI provider—maintaining both GitHub Actions and CircleCI pipelines with overlapping jobs adds unnecessary complexity.
  • Double-check that removing the Foundry install and Anvil startup still satisfies any blockchain integration tests, as they may now fail without a local test node.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- Avoid committing files within the CI workflow (e.g. `git commit` in publish-dists); instead exclude prohibited files via .npmignore or package settings.
- Consider consolidating to a single CI provider—maintaining both GitHub Actions and CircleCI pipelines with overlapping jobs adds unnecessary complexity.
- Double-check that removing the Foundry install and Anvil startup still satisfies any blockchain integration tests, as they may now fail without a local test node.

## Individual Comments

### Comment 1
<location> `.github/workflows/nextjs.yml:76` </location>
<code_context>
+            ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json', '**/yarn.lock') }}-
+      - name: Install dependencies
+        run: ${{ steps.detect-package-manager.outputs.manager }} ${{ steps.detect-package-manager.outputs.command }}
+      - name: Build with Next.js
+        run: ${{ steps.detect-package-manager.outputs.runner }} next build
+      - name: Upload artifact
</code_context>

<issue_to_address>
**suggestion:** Build step may not handle monorepo or custom Next.js configurations.

For monorepos or custom setups, ensure the build step targets all relevant Next.js apps by setting the correct working directory or iterating over each app as needed.

Suggested implementation:

```
      - name: Build all Next.js apps in monorepo
        run: |
          for app in apps/*; do
            if [ -f "$app/package.json" ] && grep -q '"next"' "$app/package.json"; then
              cd "$app"
              ${{ steps.detect-package-manager.outputs.runner }} next build
              cd -
            fi
          done

```

```
      - name: Upload artifact
        uses: actions/upload-pages-artifact@v3
        with:
          # If building multiple apps, you may want to upload all their out directories.
          # This example uploads all ./apps/*/out folders.
          path: ./apps/*/out

```

- If your monorepo structure is different (e.g., apps are in another folder), adjust the `for app in apps/*; do` line accordingly.
- If you need to build apps outside of `apps/*`, update the path in both the loop and the artifact upload step.
- If you only have one Next.js app, you can revert to the original single build step.
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds CircleCI configuration files and updates several dependencies across the project. While the dependency updates appear to be routine, there are a couple of significant issues with the CircleCI configuration. Specifically, there's a redundant configuration file that will prevent the intended Rust CI pipeline from running, and the Rust pipeline itself contains duplicated, inefficient steps. My review focuses on correcting these CI issues to ensure your pipeline works as expected.

Copy link
Owner Author

@Dargon789 Dargon789 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Dargon789 patch 2 #61

@Dargon789 Dargon789 disabled auto-merge September 21, 2025 08:10
@Dargon789 Dargon789 added bug Something isn't working good first issue Good for newcomers invalid This doesn't seem right wontfix This will not be worked on labels Sep 21, 2025
@Dargon789 Dargon789 added the javascript Pull requests that update javascript code label Sep 21, 2025
@github-project-automation github-project-automation bot moved this to Backlog in Hardhat Sep 21, 2025
@Dargon789
Copy link
Owner Author

@gemini-code-assist help scoop scan fix bug detect walletconnect auth.v0 vercel

@gemini-code-assist
Copy link

Hi @Dargon789, it looks like you might be trying to use a command that isn't recognized in that format. If you'd like to see a list of available commands and how to use them, please use /gemini help.

I'm here to assist with reviewing the code changes in this pull request, providing feedback on correctness, efficiency, maintainability, and security. If you have specific questions about the code or would like me to focus on a particular area, please let me know!

@Dargon789 Dargon789 closed this Sep 27, 2025
@github-project-automation github-project-automation bot moved this from Todo to Done in web3-Defi-Gamefi Sep 27, 2025
@github-project-automation github-project-automation bot moved this from Backlog to Done in Hardhat Sep 27, 2025
@Dargon789 Dargon789 deleted the Dargon789-patch-2 branch October 7, 2025 14:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working good first issue Good for newcomers invalid This doesn't seem right javascript Pull requests that update javascript code wontfix This will not be worked on

Projects

Archived in project
Status: Done

Development

Successfully merging this pull request may close these issues.

1 participant