Create cargo.yml - #31
Conversation
Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com>
Reviewer's GuideAdd new CircleCI pipeline to enforce code formatting and run Rust tests via cargo in a cached Docker environment. Flow diagram for build-and-test job steps in CircleCIflowchart TD
Checkout["Checkout source code"] --> RestoreCache["Restore Cargo cache"]
RestoreCache --> FormatCheck1["Check formatting (cargo fmt -- --check)"]
FormatCheck1 --> TestRun1["Run tests (cargo test)"]
TestRun1 --> SaveCache["Save Cargo cache"]
SaveCache --> FormatCheck2["Check formatting (cargo fmt -- --check)"]
FormatCheck2 --> TestRun2["Run tests (cargo test)"]
File-Level Changes
Possibly linked issues
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Summary of ChangesHello @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 a foundational continuous integration setup for Rust projects within the repository. By adding a new CircleCI configuration file, the aim is to automate essential development tasks such as code formatting verification and unit testing. This ensures that every change pushed to the repository adheres to predefined quality standards and maintains functional integrity, streamlining the development workflow and reducing manual overhead. Highlights
Using Gemini Code AssistThe 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
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 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
|
There was a problem hiding this comment.
Code Review
This pull request introduces a CircleCI workflow for the Rust project. The configuration has a few issues that will prevent it from running successfully. The main problem is that the Rust project is in a subdirectory (rust/gbt), which the current configuration does not account for. This affects where cargo commands are run and how caching is configured. Additionally, there are some redundant steps that should be removed. I've added specific comments with suggestions to fix these issues.
…#41) * Create cargo.yml (#31) Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> * Create web3_defi_gamefi.yml (#33) Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> * Create SECURITY.md (#34) * Create SECURITY.md Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> * Update SECURITY.md Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@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> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * Create static.yml (#36) * Summary by Sourcery Add a new GitHub Actions workflow to build and deploy static content to GitHub Pages. CI: Create .github/workflows/static.yml to trigger deployments on pushes to main and manual dispatch Configure permissions for GITHUB_TOKEN and set concurrency to avoid canceling in-progress runs Define a deploy job that checks out the repo, configures Pages, uploads the site artifact, and deploys to GitHub Pages Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> * Potential fix for code scanning alert no. 33: Client-side cross-site scripting (#39) Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> * Potential fix for code scanning alert no. 8: Workflow does not contain permissions Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> * Update .circleci/web3_defi_gamefi.yml Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> * Potential fix for pull request finding 'CodeQL / Client-side cross-site scripting' Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com> * Potential fix for pull request finding 'CodeQL / Replacement of a substring with itself' Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com> --------- Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: googleworkspace-bot <googleworkspace-bot@google.com>
* Create cargo.yml (#31) Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> * Create web3_defi_gamefi.yml (#33) Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> * Create SECURITY.md (#34) * Create SECURITY.md Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> * Update SECURITY.md Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@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> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * Create static.yml (#36) * Summary by Sourcery Add a new GitHub Actions workflow to build and deploy static content to GitHub Pages. CI: Create .github/workflows/static.yml to trigger deployments on pushes to main and manual dispatch Configure permissions for GITHUB_TOKEN and set concurrency to avoid canceling in-progress runs Define a deploy job that checks out the repo, configures Pages, uploads the site artifact, and deploys to GitHub Pages Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> * Potential fix for code scanning alert no. 33: Client-side cross-site scripting (#39) Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> * Potential fix for code scanning alert no. 8: Workflow does not contain permissions Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> * Update .circleci/web3_defi_gamefi.yml Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> * Potential fix for pull request finding 'CodeQL / Client-side cross-site scripting' Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com> * Potential fix for pull request finding 'CodeQL / Replacement of a substring with itself' Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com> * Install Vercel Web Analytics (#167) ## Vercel Web Analytics Integration Successfully configured Vercel Web Analytics for the mempool Angular application. ### Changes Made: #### 1. Created New File: - **frontend/src/app/services/analytics.service.ts** - New Angular service to initialize Vercel Analytics - Implements proper environment-aware configuration - Uses `inject()` function from `@vercel/analytics` package - Automatically switches between 'production' and 'development' modes based on environment configuration #### 2. Modified Files: - **frontend/src/app/app.module.ts** - Added AnalyticsService to the providers array - **frontend/src/app/components/app/app.component.ts** - Injected AnalyticsService into the root component to ensure it initializes on app startup - **frontend/package.json** - Added @vercel/analytics ^2.0.1 to dependencies (was already present, order normalized) - **frontend/package-lock.json** - Updated lock file to reflect dependency tree ### Implementation Details: The implementation follows best practices for Angular applications: 1. **Service-Based Architecture**: Created a dedicated `AnalyticsService` that encapsulates the Vercel Analytics initialization logic 2. **Environment-Aware Configuration**: The service automatically detects whether the app is running in production or development mode and configures analytics accordingly 3. **Singleton Pattern**: The service uses `providedIn: 'root'` to ensure a single instance across the application 4. **Early Initialization**: The service is injected into the root `AppComponent` to ensure analytics are initialized as early as possible in the application lifecycle ### Technical Approach: Since Vercel Analytics doesn't have specific Angular instructions in their documentation, I used their vanilla JavaScript/TypeScript approach with the `inject()` function. This is the recommended pattern for frameworks without dedicated integrations. The configuration passes a `mode` parameter to control whether analytics run in development or production mode: - **Production mode**: Full analytics tracking enabled - **Development mode**: Analytics can be tested without affecting production data ### Verification: - ✅ TypeScript compilation passes without errors - ✅ Linter runs successfully with no new errors introduced - ✅ Package is properly installed (@vercel/analytics@2.0.1) - ✅ Service is properly registered in Angular's dependency injection system ### Next Steps: To enable Web Analytics on Vercel: 1. Navigate to your Vercel dashboard 2. Select the project 3. Go to the Analytics section 4. Click "Enable" to activate Web Analytics 5. Deploy the application to see analytics data The analytics will automatically start tracking page views and web vitals once the application is deployed and the feature is enabled in the Vercel dashboard. Co-authored-by: Vercel <vercel[bot]@users.noreply.github.com> --------- Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: googleworkspace-bot <googleworkspace-bot@google.com> Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com> Co-authored-by: Vercel <vercel[bot]@users.noreply.github.com>
* updated demo redirect handling (#164) * Create cargo.yml (#31) Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> * Create web3_defi_gamefi.yml (#33) Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> * Create SECURITY.md (#34) * Create SECURITY.md Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> * Update SECURITY.md Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@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> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> * Create static.yml (#36) * Summary by Sourcery Add a new GitHub Actions workflow to build and deploy static content to GitHub Pages. CI: Create .github/workflows/static.yml to trigger deployments on pushes to main and manual dispatch Configure permissions for GITHUB_TOKEN and set concurrency to avoid canceling in-progress runs Define a deploy job that checks out the repo, configures Pages, uploads the site artifact, and deploys to GitHub Pages Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> * Potential fix for code scanning alert no. 33: Client-side cross-site scripting (#39) Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> * Potential fix for code scanning alert no. 8: Workflow does not contain permissions Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> * Update .circleci/web3_defi_gamefi.yml Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> * Potential fix for pull request finding 'CodeQL / Client-side cross-site scripting' Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com> * Potential fix for pull request finding 'CodeQL / Replacement of a substring with itself' Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com> * Install Vercel Web Analytics (#167) ## Vercel Web Analytics Integration Successfully configured Vercel Web Analytics for the mempool Angular application. ### Changes Made: #### 1. Created New File: - **frontend/src/app/services/analytics.service.ts** - New Angular service to initialize Vercel Analytics - Implements proper environment-aware configuration - Uses `inject()` function from `@vercel/analytics` package - Automatically switches between 'production' and 'development' modes based on environment configuration #### 2. Modified Files: - **frontend/src/app/app.module.ts** - Added AnalyticsService to the providers array - **frontend/src/app/components/app/app.component.ts** - Injected AnalyticsService into the root component to ensure it initializes on app startup - **frontend/package.json** - Added @vercel/analytics ^2.0.1 to dependencies (was already present, order normalized) - **frontend/package-lock.json** - Updated lock file to reflect dependency tree ### Implementation Details: The implementation follows best practices for Angular applications: 1. **Service-Based Architecture**: Created a dedicated `AnalyticsService` that encapsulates the Vercel Analytics initialization logic 2. **Environment-Aware Configuration**: The service automatically detects whether the app is running in production or development mode and configures analytics accordingly 3. **Singleton Pattern**: The service uses `providedIn: 'root'` to ensure a single instance across the application 4. **Early Initialization**: The service is injected into the root `AppComponent` to ensure analytics are initialized as early as possible in the application lifecycle ### Technical Approach: Since Vercel Analytics doesn't have specific Angular instructions in their documentation, I used their vanilla JavaScript/TypeScript approach with the `inject()` function. This is the recommended pattern for frameworks without dedicated integrations. The configuration passes a `mode` parameter to control whether analytics run in development or production mode: - **Production mode**: Full analytics tracking enabled - **Development mode**: Analytics can be tested without affecting production data ### Verification: - ✅ TypeScript compilation passes without errors - ✅ Linter runs successfully with no new errors introduced - ✅ Package is properly installed (@vercel/analytics@2.0.1) - ✅ Service is properly registered in Angular's dependency injection system ### Next Steps: To enable Web Analytics on Vercel: 1. Navigate to your Vercel dashboard 2. Select the project 3. Go to the Analytics section 4. Click "Enable" to activate Web Analytics 5. Deploy the application to see analytics data The analytics will automatically start tracking page views and web vitals once the application is deployed and the feature is enabled in the Vercel dashboard. Co-authored-by: Vercel <vercel[bot]@users.noreply.github.com> --------- Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: googleworkspace-bot <googleworkspace-bot@google.com> Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com> Co-authored-by: Vercel <vercel[bot]@users.noreply.github.com> * Update frontend/src/app/services/analytics.service.ts Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com> --------- Signed-off-by: AU_gdev_19 <64915515+Dargon789@users.noreply.github.com> Signed-off-by: Dargon789 <64915515+Dargon789@users.noreply.github.com> Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: googleworkspace-bot <googleworkspace-bot@google.com> Co-authored-by: vercel[bot] <35613825+vercel[bot]@users.noreply.github.com> Co-authored-by: Vercel <vercel[bot]@users.noreply.github.com>
Summary by Sourcery
Add CircleCI configuration for Rust project to run formatting checks and tests with caching
CI: