Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 3 additions & 5 deletions .coderabbit.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@ reviews:
- Ensure that "use client" is being used
- Ensure that only features that allow pure client-side rendering are used
- NextJS best practices (including file structure, API routes, and static generation methods) are used.

TypeScript:
- Avoid 'any', use explicit types
- Prefer 'import type' for type imports
Expand Down Expand Up @@ -217,7 +217,7 @@ reviews:
- path: "**/*.{py}"
instructions: |
Python:
- Check for major PEP 8 violations and Python best practices.
- Check for major PEP 8 violations and Python best practices.

# Solidity Smart Contract files
- path: "**/*.sol"
Expand All @@ -244,7 +244,6 @@ reviews:
- Integer overflows/underflows (if using unchecked blocks)
- Front-running risks where applicable


# Javascript/Typescript test files
- path: "**/*.test.{ts,tsx,js,jsx}"
instructions: |
Expand All @@ -254,7 +253,7 @@ reviews:
- Async behavior is properly tested
- Accessibility testing is included
- Test descriptions are sufficiently detailed to clarify the purpose of each test
- The tests are not tautological
- The tests are not tautological

# Solidity test files
- path: "**/*.test.{sol}"
Expand All @@ -269,7 +268,6 @@ reviews:
- Deterministic behavior (tests should not rely on implicit execution order or shared mutable state).
- Clear and descriptive test names that reflect the intended behavior being validated.


# Asset files (images, fonts, etc.)
- path: "assets/**/*"
instructions: |
Expand Down
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* text=auto eol=lf
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/good_first_issue.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ body:
attributes:
value: |
## AI Notice - Important!

We encourage contributors to use AI tools responsibly when creating Pull Requests. While AI can be a valuable aid, it is essential to ensure that your contributions meet the task requirements, build successfully, include relevant tests, and pass all linters. Submissions that do not meet these standards may be closed without warning to maintain the quality and integrity of the project. Please take the time to understand the changes you are proposing and their impact.

- type: checkboxes
Expand Down
13 changes: 8 additions & 5 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
### Addressed Issues:
### Addressed Issues:

<!-- Link the issue this PR addresses -->

Fixes #(issue number)

### Screenshots/Recordings:

### Screenshots/Recordings:
<!-- If applicable, add screenshots or recordings to demonstrate the changes -->

### Additional Notes:

### Additional Notes:
<!-- Add any additional information, context, or notes for reviewers -->


## Checklist

<!-- Mark items with [x] to indicate completion -->

- [ ] My code follows the project's code style and conventions
- [ ] I have made corresponding changes to the documentation
- [ ] My changes generate no new warnings or errors
Expand All @@ -21,4 +24,4 @@ Fixes #(issue number)

## ⚠️ AI Notice - Important!

We encourage contributors to use AI tools responsibly when creating Pull Requests. While AI can be a valuable aid, it is essential to ensure that your contributions meet the task requirements, build successfully, include relevant tests, and pass all linters. Submissions that do not meet these standards may be closed without warning to maintain the quality and integrity of the project. Please take the time to understand the changes you are proposing and their impact.
We encourage contributors to use AI tools responsibly when creating Pull Requests. While AI can be a valuable aid, it is essential to ensure that your contributions meet the task requirements, build successfully, include relevant tests, and pass all linters. Submissions that do not meet these standards may be closed without warning to maintain the quality and integrity of the project. Please take the time to understand the changes you are proposing and their impact.
98 changes: 49 additions & 49 deletions .github/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -1,62 +1,62 @@
name-template: 'v$RESOLVED_VERSION'
tag-template: 'v$RESOLVED_VERSION'
name-template: "v$RESOLVED_VERSION"
tag-template: "v$RESOLVED_VERSION"

categories:
- title: '🚀 Features'
- title: "🚀 Features"
labels:
- 'feature'
- 'enhancement'
- 'feat'
- title: '🐛 Bug Fixes'
- "feature"
- "enhancement"
- "feat"
- title: "🐛 Bug Fixes"
labels:
- 'fix'
- 'bugfix'
- 'bug'
- title: '🧰 Maintenance'
- "fix"
- "bugfix"
- "bug"
- title: "🧰 Maintenance"
labels:
- 'chore'
- 'maintenance'
- 'refactor'
- title: '📝 Documentation'
- "chore"
- "maintenance"
- "refactor"
- title: "📝 Documentation"
labels:
- 'documentation'
- 'docs'
- title: '🔧 Configuration'
- "documentation"
- "docs"
- title: "🔧 Configuration"
labels:
- 'configuration'
- 'config'
- title: '🧪 Tests'
- "configuration"
- "config"
- title: "🧪 Tests"
labels:
- 'tests'
- 'test'
- title: '⬆️ Dependencies'
- "tests"
- "test"
- title: "⬆️ Dependencies"
labels:
- 'dependencies'
- 'deps'
- title: '🎨 Frontend'
- "dependencies"
- "deps"
- title: "🎨 Frontend"
labels:
- 'frontend'
- 'ui'
- title: '⚙️ Backend'
- "frontend"
- "ui"
- title: "⚙️ Backend"
labels:
- 'backend'
- 'api'
- title: '🔐 Security'
- "backend"
- "api"
- title: "🔐 Security"
labels:
- 'security'
- title: '🐳 Docker'
- "security"
- title: "🐳 Docker"
labels:
- 'docker'
- title: '🚀 CI/CD'
- "docker"
- title: "🚀 CI/CD"
labels:
- 'ci-cd'
- 'github-actions'
- title: '👥 Contributors'
- "ci-cd"
- "github-actions"
- title: "👥 Contributors"
labels:
- 'first-time-contributor'
- 'external-contributor'
- "first-time-contributor"
- "external-contributor"

change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
change-template: "- $TITLE @$AUTHOR (#$NUMBER)"
change-title-escapes: '\<*_&'

template: |
Expand All @@ -71,14 +71,14 @@ template: |
**Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...v$RESOLVED_VERSION

exclude-labels:
- 'skip-changelog'
- 'no-changelog'
- 'duplicate'
- 'invalid'
- 'wontfix'
- "skip-changelog"
- "no-changelog"
- "duplicate"
- "invalid"
- "wontfix"

replacers:
- search: '/CVE-(\d{4})-(\d+)/g'
replace: '[CVE-$1-$2](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-$1-$2)'
replace: "[CVE-$1-$2](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-$1-$2)"

include-pre-releases: false
82 changes: 26 additions & 56 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -1,90 +1,60 @@
# Workflow for building and deploying to GitHub Pages

name: Deploy site to Pages
name: Deploy Vite App to GitHub Pages

on:
# Runs on pushes targeting the default branch
push:
branches: ["main"]
branches:
- main

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false
group: github-pages
cancel-in-progress: true
Comment on lines +18 to +19
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major | ⚡ Quick win

Review concurrency setting change.

The concurrency group changed from pages to github-pages and cancel-in-progress was changed from false to true. Setting cancel-in-progress: true for deployment workflows can be risky because it may cancel an in-progress deployment, potentially leaving the site in an inconsistent state. Consider whether canceling deployments mid-flight is safe for your use case.

🔧 Recommended: Restore safer concurrency behavior
 concurrency:
   group: github-pages
-  cancel-in-progress: true
+  cancel-in-progress: false
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
group: github-pages
cancel-in-progress: true
group: github-pages
cancel-in-progress: false
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In @.github/workflows/deploy.yml around lines 18 - 19, The concurrency block was
changed to use group: github-pages and cancel-in-progress: true which may abort
in-flight deployments and leave the site in an inconsistent state; revert or
adjust this by setting the concurrency group back to the previous stable
identifier (e.g., group: pages) and set cancel-in-progress: false, or if you
intentionally want cancellations, add safeguards (e.g., only enable
cancel-in-progress for non-production branches) — update the concurrency
settings in the deploy workflow where the concurrency: group and
cancel-in-progress values are defined.


jobs:
# Build job
build:
runs-on: ubuntu-latest

steps:
- name: Checkout
- name: Checkout repository
uses: actions/checkout@v4
- name: Detect package manager
id: detect-package-manager
run: |
if [ -f "${{ github.workspace }}/yarn.lock" ]; then
echo "manager=yarn" >> $GITHUB_OUTPUT
echo "command=install" >> $GITHUB_OUTPUT
echo "runner=yarn" >> $GITHUB_OUTPUT
exit 0
elif [ -f "${{ github.workspace }}/package.json" ]; then
echo "manager=npm" >> $GITHUB_OUTPUT
echo "command=ci" >> $GITHUB_OUTPUT
echo "runner=npx --no-install" >> $GITHUB_OUTPUT
exit 0
else
echo "Unable to determine package manager"
exit 1
fi
- name: Setup Node

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "20"
cache: ${{ steps.detect-package-manager.outputs.manager }}
- name: Setup Pages
node-version: 22
cache: npm

- name: Setup GitHub Pages
uses: actions/configure-pages@v5
with:
# Automatically inject basePath in your Next.js configuration file and disable
# server side image optimization (https://nextjs.org/docs/api-reference/next/image#unoptimized).
#
# You may remove this line if you want to manage the configuration yourself.
static_site_generator: next
- name: Restore cache
uses: actions/cache@v4
with:
path: |
.next/cache
# Generate a new cache whenever packages or source files change.
key: ${{ runner.os }}-nextjs-${{ hashFiles('**/package-lock.json', '**/yarn.lock') }}-${{ hashFiles('**.[jt]s', '**.[jt]sx') }}
# If source files changed but packages didn't, rebuild from a prior cache.
restore-keys: |
${{ 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
run: ${{ steps.detect-package-manager.outputs.runner }} next build
- name: Upload artifact
run: npm ci

- name: Build application
run: npm run build

- name: Upload build artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./out
path: ./dist

# Deployment job
deploy:
needs: build

runs-on: ubuntu-latest

environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build

steps:
- name: Deploy to GitHub Pages
id: deployment
Expand Down
Loading
Loading