Skip to content
Merged
Show file tree
Hide file tree
Changes from 2 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
55 changes: 55 additions & 0 deletions .github/workflows/main-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Main Deploy

on:
push:
branches:
- main

jobs:
release:
name: Lint, Test, and Deploy
runs-on: ubuntu-latest

steps:
- name: Checkout Code
uses: actions/checkout@v4
with:
fetch-depth: 0
persist-credentials: false

- name: Set Up Node.js
uses: actions/setup-node@v3
with:
node-version: 20
cache: "npm"

- name: Install Dependencies
run: npm ci

- name: Lint Code
run: npm run lint

- name: Run Tests
run: npm run test:ci

- name: Upload Coverage to Codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
flags: unittests
fail_ci_if_error: true

- name: Build Artifacts
run: npm run build

- name: Save Build Artifacts
uses: actions/upload-artifact@v3
with:
name: dist
path: dist/

- name: Run Semantic Release
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
GITHUB_TOKEN: ${{ secrets.SEMANTIC_RELEASE_TOKEN }}
run: npx semantic-release
Copy link

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Update action versions and add missing configurations.

Similar to PR workflow, update action versions and add configurations:

-uses: actions/setup-node@v3
+uses: actions/setup-node@v4
-uses: codecov/codecov-action@v3
+uses: codecov/codecov-action@v4
-uses: actions/upload-artifact@v3
+uses: actions/upload-artifact@v4

Also consider adding:

  1. Timeout limits for jobs
  2. Concurrency group to cancel outdated runs
# Add at workflow level
concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

# Add in jobs
jobs:
  release:
    timeout-minutes: 15
🧰 Tools
🪛 actionlint (1.7.4)

21-21: the runner of "actions/setup-node@v3" action is too old to run on GitHub Actions. update the action's version to fix this issue

(action)


36-36: the runner of "codecov/codecov-action@v3" action is too old to run on GitHub Actions. update the action's version to fix this issue

(action)


46-46: the runner of "actions/upload-artifact@v3" action is too old to run on GitHub Actions. update the action's version to fix this issue

(action)

39 changes: 39 additions & 0 deletions .github/workflows/pr-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: PR Tests

on:
pull_request:
branches:
- main

jobs:
test:
name: Run Lint, Tests, and Code Coverage
runs-on: ubuntu-latest

steps:
- name: Checkout Code
uses: actions/checkout@v4

- name: Set Up Node.js
uses: actions/setup-node@v3
with:
node-version: 20
Copy link

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Enable dependency caching for faster builds.

Add npm cache configuration similar to main-deploy.yml:

 uses: actions/setup-node@v3
 with:
   node-version: 20
+  cache: 'npm'
📝 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
- name: Set Up Node.js
uses: actions/setup-node@v3
with:
node-version: 20
- name: Set Up Node.js
uses: actions/setup-node@v3
with:
node-version: 20
cache: 'npm'
🧰 Tools
🪛 actionlint (1.7.4)

18-18: the runner of "actions/setup-node@v3" action is too old to run on GitHub Actions. update the action's version to fix this issue

(action)


- name: Install Dependencies
run: npm ci

- name: Lint Code
run: npm run lint

- name: Run Tests
run: npm run test:ci

- name: Build Artifacts
run: npm run build

- name: Upload Coverage to Codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
flags: unittests
fail_ci_if_error: true
Copy link

Choose a reason for hiding this comment

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

🛠️ Refactor suggestion

Update action versions for security and features.

Based on static analysis, update the following actions:

-uses: actions/setup-node@v3
+uses: actions/setup-node@v4
-uses: codecov/codecov-action@v3
+uses: codecov/codecov-action@v4
📝 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
name: PR Tests
on:
pull_request:
branches:
- main
jobs:
test:
name: Run Lint, Tests, and Code Coverage
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set Up Node.js
uses: actions/setup-node@v3
with:
node-version: 20
- name: Install Dependencies
run: npm ci
- name: Lint Code
run: npm run lint
- name: Run Tests
run: npm run test:ci
- name: Build Artifacts
run: npm run build
- name: Upload Coverage to Codecov
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
flags: unittests
fail_ci_if_error: true
name: PR Tests
on:
pull_request:
branches:
- main
jobs:
test:
name: Run Lint, Tests, and Code Coverage
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set Up Node.js
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install Dependencies
run: npm ci
- name: Lint Code
run: npm run lint
- name: Run Tests
run: npm run test:ci
- name: Build Artifacts
run: npm run build
- name: Upload Coverage to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
flags: unittests
fail_ci_if_error: true
🧰 Tools
🪛 actionlint (1.7.4)

18-18: the runner of "actions/setup-node@v3" action is too old to run on GitHub Actions. update the action's version to fix this issue

(action)


35-35: the runner of "codecov/codecov-action@v3" action is too old to run on GitHub Actions. update the action's version to fix this issue

(action)

3 changes: 1 addition & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,7 @@
"format": "prettier --write 'src/**/*.{ts,tsx}'",
"test": "vitest run",
"test:ci": "vitest run --coverage",
"test:watch": "vitest src",
"prepare": "husky"
"test:watch": "vitest src"
},
"keywords": [
"react",
Expand Down
Loading