Skip to content

Commit

Permalink
Set up CI/CD pipeline with GitHub Actions
Browse files Browse the repository at this point in the history
- Add workflow for automated testing, linting, and npm deployment
- Update package.json with lint script
- Create .npmignore file
- Update .gitignore to exclude .npmrc
  • Loading branch information
Youssefbaghr committed Aug 31, 2024
1 parent bc59731 commit ca8f591
Show file tree
Hide file tree
Showing 5 changed files with 1,663 additions and 731 deletions.
50 changes: 50 additions & 0 deletions .github/workflows/ci-cd.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: CI/CD

on:
push:
branches: [main]
pull_request:
branches: [main]

jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js
uses: actions/setup-node@v2
with:
node-version: '14.x'
- run: npm ci
- run: npm run build
- run: npm test

lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js
uses: actions/setup-node@v2
with:
node-version: '14.x'
- run: npm ci
- run: npm run lint

deploy:
needs: [test, lint]
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
steps:
- uses: actions/checkout@v2
- name: Use Node.js
uses: actions/setup-node@v2
with:
node-version: '14.x'
- run: npm ci
- run: npm run build
- name: Deploy to npm
run: |
echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc
npm publish
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -66,4 +66,6 @@ jspm_packages/
.parcel-cache

# Next.js build output
.next
.next

.npmrc
Loading

0 comments on commit ca8f591

Please sign in to comment.