Update ci-cd.dev.yml #30
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI/CD Dev Pipeline | |
on: | |
push: | |
branches: | |
- develop | |
pull_request: | |
branches: | |
- develop | |
env: | |
ENVIRONMENT: dev | |
DATABASE_URL: ${{ secrets.DATABASE_URL }} | |
NEXTAUTH_SECRET: ${{ secrets.NEXTAUTH_SECRET }} | |
NEXT_PUBLIC_SITE_URL: ${{ secrets.NEXT_PUBLIC_SITE_URL }} | |
NEXT_PUBLIC_SOCKET_URL: ${{ secrets.NEXT_PUBLIC_SOCKET_URL }} | |
DISCORD_WEBHOOK_URL: ${{ secrets.DISCORD_WEBHOOK_URL }} | |
jobs: | |
# deps-vulnerability: | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: Checkout code | |
# uses: actions/checkout@v3 | |
# - name: Create lock file | |
# run: | | |
# cd ./satsquare | |
# npm install --package-lock-only | |
# - name: Install dependencies | |
# run: | | |
# cd ./satsquare | |
# npm ci | |
# npm update | |
# - name: Install jest-environment-jsdom | |
# run: | | |
# cd ./satsquare | |
# npm install jest-environment-jsdom --save-dev | |
# - name: Audit npm dependencies | |
# run: | | |
# cd ./satsquare | |
# npm audit --audit-level=moderate | |
# lint: | |
# needs: deps-vulnerability | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: Checkout code | |
# uses: actions/checkout@v3 | |
# - name: Install dependencies | |
# run: | | |
# cd ./satsquare | |
# npm ci | |
# - name: Run Linting | |
# run: | | |
# cd ./satsquare | |
# npm run lint | |
# unit-tests: | |
# # needs: lint | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: Checkout code | |
# uses: actions/checkout@v3 | |
# - name: Install dependencies | |
# run: | | |
# cd ./satsquare | |
# npm ci | |
# npm i jest-environment-jsdom jest | |
# - name: Run Jest Unit Tests | |
# run: | | |
# cd ./satsquare | |
# npm run test | |
# codecov: | |
# # needs: unit-tests | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: Checkout code | |
# uses: actions/checkout@v3 | |
# - name: Install dependencies | |
# run: | | |
# cd ./satsquare | |
# npm ci | |
# npm i jest-environment-jsdom jest | |
# - name: Run tests and generate coverage report | |
# run: | | |
# cd ./satsquare | |
# npm run test -- --coverage | |
# - name: Upload coverage to Codecov | |
# uses: codecov/codecov-action@v3 | |
# with: | |
# token: ${{ secrets.CODECOV_TOKEN }} | |
# security: | |
# # needs: codecov | |
# runs-on: ubuntu-latest | |
# permissions: | |
# pull-requests: write | |
# security-events: write | |
# statuses: write | |
# contents: write | |
# issues: write | |
# steps: | |
# - name: Checkout repository | |
# uses: actions/checkout@v3 | |
# - uses: mobb-dev/[email protected] | |
# with: | |
# mobb-api-token: ${{ secrets.MOBB_API_TOKEN }} | |
# github-token: ${{ secrets.GITHUB_TOKEN }} | |
# lighthouse: | |
# # needs: security | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: Checkout code | |
# uses: actions/checkout@v3 | |
# - name: Install dependencies | |
# run: | | |
# cd ./satsquare | |
# npm install | |
# - name: Run Lighthouse CI | |
# run: | | |
# cd ./satsquare | |
# npx lhci autorun | |
# docker-build: | |
# # needs: lighthouse | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: Checkout code | |
# uses: actions/checkout@v3 | |
# - name: Login to GitHub Container Registry | |
# run: echo "${{ secrets.GHCR_PAT }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin | |
# - name: Build Docker image | |
# run: | | |
# cd ./satsquare | |
# docker run -e DATABASE_URL="${{ secrets.DATABASE_URL }}" \ | |
# -e NEXTAUTH_SECRET="${{ secrets.NEXTAUTH_SECRET }}" \ | |
# -e NEXT_PUBLIC_SITE_URL="${{ secrets.NEXT_PUBLIC_SITE_URL }}" \ | |
# -e NEXT_PUBLIC_SOCKET_URL="${{ secrets.NEXT_PUBLIC_SOCKET_URL }}" \ | |
# -p 3000:3000 -p 5157:5157 | |
# docker build -t ghcr.io/ismail-mouyahada/sat-square:dev-${{ github.sha }} -f Dockerfile.dev . | |
# - name: Scan Docker image for vulnerabilities | |
# uses: aquasecurity/[email protected] | |
# with: | |
# image-ref: ghcr.io/ismail-mouyahada/sat-square:dev-${{ github.sha }} | |
# - name: Push Docker image to GitHub Container Registry | |
# run: docker push ghcr.io/ismail-mouyahada/sat-square:dev-${{ github.sha }} | |
# e2e-tests: | |
# needs: docker-build | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: Checkout code | |
# uses: actions/checkout@v3 | |
# - name: Install dependencies | |
# run: | | |
# cd ./satsquare | |
# npm install | |
# - name: Run end-to-end tests | |
# run: | | |
# cd ./satsquare | |
# npm run test:e2e | |
# stress-test: | |
# needs: e2e-tests | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: Checkout code | |
# uses: actions/checkout@v3 | |
# - name: Install dependencies | |
# run: | | |
# cd ./satsquare | |
# npm install | |
# - name: Run stress tests | |
# run: | | |
# cd ./satsquare | |
# npm run test:stress | |
notify: | |
runs-on: ubuntu-latest | |
# needs: [stress-test] | |
steps: | |
- name: Notify Discord | |
uses: discord-actions/message@v2 | |
with: | |
webhookUrl: "https://discord.com/api/webhooks/1278096229351293008/UdVm3whQn9wb_neR4tuS5TGFfFzaiAo4Jijwa0yuEks1GwoVdrV-lcsdvw5qlA0Kq9CN" | |
message: "On est la les BG" | |
username: "Github" | |
avatar: "https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png" | |
- name: Notify Discord | |
if: success() | |
uses: discord-actions/message@v2 | |
with: | |
webhookUrl: "https://discord.com/api/webhooks/1278096229351293008/UdVm3whQn9wb_neR4tuS5TGFfFzaiAo4Jijwa0yuEks1GwoVdrV-lcsdvw5qlA0Kq9CN" | |
message: "Bah Oui ça marche mon gasr 🗺 " | |
- name: Notify Discord | |
if: failure() | |
uses: discord-actions/message@v2 | |
with: | |
webhookUrl: "https://discord.com/api/webhooks/1278096229351293008/UdVm3whQn9wb_neR4tuS5TGFfFzaiAo4Jijwa0yuEks1GwoVdrV-lcsdvw5qlA0Kq9CN" | |
message: "Ops tu as glissé mon pote ☣ " | |
- name: Notify Discord | |
if: ${{ always() && contains(needs.*.result, 'failure') }} | |
uses: discord-actions/message@v2 | |
with: | |
webhookUrl: "https://discord.com/api/webhooks/1278096229351293008/UdVm3whQn9wb_neR4tuS5TGFfFzaiAo4Jijwa0yuEks1GwoVdrV-lcsdvw5qlA0Kq9CN" | |
message: "C'était presque bon mon kiki ! 😇 " |