diff --git a/.github/workflows/ci-cd.prod.yml b/.github/workflows/ci-cd.prod.yml index 80b56c3..4ff3df7 100644 --- a/.github/workflows/ci-cd.prod.yml +++ b/.github/workflows/ci-cd.prod.yml @@ -1,187 +1,187 @@ -name: CI/CD Production Pipeline +# name: CI/CD Production Pipeline -on: - push: - branches: - - main - pull_request: - branches: - - main +# on: +# push: +# branches: +# - main +# pull_request: +# branches: +# - main -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true +# concurrency: +# group: ${{ github.workflow }}-${{ github.ref }} +# cancel-in-progress: true -jobs: - build: - runs-on: ubuntu-latest - environment: production - steps: - - name: Checkout code - uses: actions/checkout@v3 +# jobs: +# build: +# runs-on: ubuntu-latest +# environment: production +# steps: +# - name: Checkout code +# uses: actions/checkout@v3 - - name: Setup Node.js - uses: actions/setup-node@v3 - with: - node-version: '18' # Using Node.js version 18 +# - name: Setup Node.js +# uses: actions/setup-node@v3 +# with: +# node-version: '18' # Using Node.js version 18 - - name: Install dependencies - run: | - cd ./satsquare - npm install +# - name: Install dependencies +# run: | +# cd ./satsquare +# npm install - - name: Run prisma commands and build - run: | - export DATABASE_URL=${{ secrets.DATABASE_URL }} - export NEXTAUTH_SECRET=${{ secrets.NEXTAUTH_SECRET }} - export NEXT_PUBLIC_LNURL_AUTH_PUBLIC_KEY=${{ secrets.NEXT_PUBLIC_LNURL_AUTH_PUBLIC_KEY }} - export NEXT_PUBLIC_SITE_URL=${{ secrets.NEXT_PUBLIC_SITE_URL }} - export NEXT_PUBLIC_SOCKET_URL=${{ secrets.NEXT_PUBLIC_SOCKET_URL }} - export REDIS_URL=${{ secrets.REDIS_URL }} - cd ./satsquare - npx prisma generate - npx prisma db push - npm run seed - npm run build +# - name: Run prisma commands and build +# run: | +# export DATABASE_URL=${{ secrets.DATABASE_URL }} +# export NEXTAUTH_SECRET=${{ secrets.NEXTAUTH_SECRET }} +# export NEXT_PUBLIC_LNURL_AUTH_PUBLIC_KEY=${{ secrets.NEXT_PUBLIC_LNURL_AUTH_PUBLIC_KEY }} +# export NEXT_PUBLIC_SITE_URL=${{ secrets.NEXT_PUBLIC_SITE_URL }} +# export NEXT_PUBLIC_SOCKET_URL=${{ secrets.NEXT_PUBLIC_SOCKET_URL }} +# export REDIS_URL=${{ secrets.REDIS_URL }} +# cd ./satsquare +# npx prisma generate +# npx prisma db push +# npm run seed +# npm run build - lint: - needs: build - runs-on: ubuntu-latest - environment: production - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 - with: - node-version: '18' - - run: | - cd ./satsquare - npm ci - npm run lint +# lint: +# needs: build +# runs-on: ubuntu-latest +# environment: production +# steps: +# - uses: actions/checkout@v3 +# - uses: actions/setup-node@v3 +# with: +# node-version: '18' +# - run: | +# cd ./satsquare +# npm ci +# npm run lint - unit-tests: - needs: build - runs-on: ubuntu-latest - environment: production - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 - with: - node-version: '18' - - run: | - cd ./satsquare - npm ci - npm run test +# unit-tests: +# needs: build +# runs-on: ubuntu-latest +# environment: production +# steps: +# - uses: actions/checkout@v3 +# - uses: actions/setup-node@v3 +# with: +# node-version: '18' +# - run: | +# cd ./satsquare +# npm ci +# npm run test - e2e-tests: - needs: build - environment: production - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 - with: - node-version: '18' - - run: | - export DATABASE_URL=${{ secrets.DATABASE_URL }} - export NEXTAUTH_SECRET=${{ secrets.NEXTAUTH_SECRET }} - export NEXT_PUBLIC_LNURL_AUTH_PUBLIC_KEY=${{ secrets.NEXT_PUBLIC_LNURL_AUTH_PUBLIC_KEY }} - export NEXT_PUBLIC_SITE_URL=${{ secrets.NEXT_PUBLIC_SITE_URL }} - export NEXT_PUBLIC_SOCKET_URL=${{ secrets.NEXT_PUBLIC_SOCKET_URL }} - export REDIS_URL=${{ secrets.REDIS_URL }} - cd ./satsquare - npm ci - npm run test:e2e +# e2e-tests: +# needs: build +# environment: production +# runs-on: ubuntu-latest +# steps: +# - uses: actions/checkout@v3 +# - uses: actions/setup-node@v3 +# with: +# node-version: '18' +# - run: | +# export DATABASE_URL=${{ secrets.DATABASE_URL }} +# export NEXTAUTH_SECRET=${{ secrets.NEXTAUTH_SECRET }} +# export NEXT_PUBLIC_LNURL_AUTH_PUBLIC_KEY=${{ secrets.NEXT_PUBLIC_LNURL_AUTH_PUBLIC_KEY }} +# export NEXT_PUBLIC_SITE_URL=${{ secrets.NEXT_PUBLIC_SITE_URL }} +# export NEXT_PUBLIC_SOCKET_URL=${{ secrets.NEXT_PUBLIC_SOCKET_URL }} +# export REDIS_URL=${{ secrets.REDIS_URL }} +# cd ./satsquare +# npm ci +# npm run test:e2e - deps-vulnerability: - needs: [e2e-tests, unit-tests] - runs-on: ubuntu-latest - environment: production - steps: - - uses: actions/checkout@v3 - - run: | - cd ./satsquare - npm ci - npm audit --audit-level=moderate +# deps-vulnerability: +# needs: [e2e-tests, unit-tests] +# runs-on: ubuntu-latest +# environment: production +# steps: +# - uses: actions/checkout@v3 +# - run: | +# cd ./satsquare +# npm ci +# npm audit --audit-level=moderate - codecov: - needs: deps-vulnerability - runs-on: ubuntu-latest - environment: production - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 - with: - node-version: '18' - - run: | - cd ./satsquare - npm ci - npm run test -- --coverage - - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} +# codecov: +# needs: deps-vulnerability +# runs-on: ubuntu-latest +# environment: production +# steps: +# - uses: actions/checkout@v3 +# - uses: actions/setup-node@v3 +# with: +# node-version: '18' +# - run: | +# cd ./satsquare +# npm ci +# npm run test -- --coverage +# - uses: codecov/codecov-action@v3 +# with: +# token: ${{ secrets.CODECOV_TOKEN }} - lighthouse: - needs: codecov - runs-on: ubuntu-latest - environment: production - steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 - with: - node-version: '18' - - run: | - cd ./satsquare - npm install - npx lhci autorun +# lighthouse: +# needs: codecov +# runs-on: ubuntu-latest +# environment: production +# steps: +# - uses: actions/checkout@v3 +# - uses: actions/setup-node@v3 +# with: +# node-version: '18' +# - run: | +# cd ./satsquare +# npm install +# npx lhci autorun - docker-deploy: - needs: lighthouse - runs-on: ubuntu-latest - environment: production - permissions: - contents: read - packages: write - steps: - - uses: actions/checkout@v3 - - uses: docker/login-action@v3 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - run: | - export DATABASE_URL=${{ secrets.DATABASE_URL }} - export NEXTAUTH_SECRET=${{ secrets.NEXTAUTH_SECRET }} - export NEXT_PUBLIC_LNURL_AUTH_PUBLIC_KEY=${{ secrets.NEXT_PUBLIC_LNURL_AUTH_PUBLIC_KEY }} - export NEXT_PUBLIC_SITE_URL=${{ secrets.NEXT_PUBLIC_SITE_URL }} - export NEXT_PUBLIC_SOCKET_URL=${{ secrets.NEXT_PUBLIC_SOCKET_URL }} - export REDIS_URL=${{ secrets.REDIS_URL }} - cd ./satsquare - docker build -f Dockerfile.prod --build-arg DATABASE_URL=${{ secrets.DATABASE_URL }} --build-arg NEXTAUTH_SECRET="${{ github.sha }}" -t ghcr.io/ismail-mouyahada/master-satsquare-app:prod-${{ github.sha }} . - - uses: aquasecurity/trivy-action@0.20.0 - with: - image-ref: ghcr.io/ismail-mouyahada/master-satsquare-app:prod-${{ github.sha }} - - run: docker push ghcr.io/ismail-mouyahada/master-satsquare-app:prod-${{ github.sha }} +# docker-deploy: +# needs: lighthouse +# runs-on: ubuntu-latest +# environment: production +# permissions: +# contents: read +# packages: write +# steps: +# - uses: actions/checkout@v3 +# - uses: docker/login-action@v3 +# with: +# registry: ghcr.io +# username: ${{ github.actor }} +# password: ${{ secrets.GITHUB_TOKEN }} +# - run: | +# export DATABASE_URL=${{ secrets.DATABASE_URL }} +# export NEXTAUTH_SECRET=${{ secrets.NEXTAUTH_SECRET }} +# export NEXT_PUBLIC_LNURL_AUTH_PUBLIC_KEY=${{ secrets.NEXT_PUBLIC_LNURL_AUTH_PUBLIC_KEY }} +# export NEXT_PUBLIC_SITE_URL=${{ secrets.NEXT_PUBLIC_SITE_URL }} +# export NEXT_PUBLIC_SOCKET_URL=${{ secrets.NEXT_PUBLIC_SOCKET_URL }} +# export REDIS_URL=${{ secrets.REDIS_URL }} +# cd ./satsquare +# docker build -f Dockerfile.prod --build-arg DATABASE_URL=${{ secrets.DATABASE_URL }} --build-arg NEXTAUTH_SECRET="${{ github.sha }}" -t ghcr.io/ismail-mouyahada/master-satsquare-app:prod-${{ github.sha }} . +# - uses: aquasecurity/trivy-action@0.20.0 +# with: +# image-ref: ghcr.io/ismail-mouyahada/master-satsquare-app:prod-${{ github.sha }} +# - run: docker push ghcr.io/ismail-mouyahada/master-satsquare-app:prod-${{ github.sha }} - notify: - needs: docker-deploy - runs-on: ubuntu-latest - environment: production - steps: - - name: Notification de succès 🎉 - uses: containrrr/shoutrrr-action@v1 - if: success() - with: - url: ${{ secrets.DISCORD_WEBHOOK_URL }} - title: "🚀 Déploiement réussi : ${{ github.sha }} sur PRODUCTION 🎉" - message: "Voir les modifications : ${{ github.event.compare }}." - username: "PreproductionBOT" - avatar: "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcR9SYdK1M7jEIJgdj9foHiEoUdUiYxfREv3jg&s" +# notify: +# needs: docker-deploy +# runs-on: ubuntu-latest +# environment: production +# steps: +# - name: Notification de succès 🎉 +# uses: containrrr/shoutrrr-action@v1 +# if: success() +# with: +# url: ${{ secrets.DISCORD_WEBHOOK_URL }} +# title: "🚀 Déploiement réussi : ${{ github.sha }} sur PRODUCTION 🎉" +# message: "Voir les modifications : ${{ github.event.compare }}." +# username: "PreproductionBOT" +# avatar: "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcR9SYdK1M7jEIJgdj9foHiEoUdUiYxfREv3jg&s" - - name: Notification échec 💥 - uses: containrrr/shoutrrr-action@v1 - if: failure() - with: - url: ${{ secrets.DISCORD_WEBHOOK_URL }} - message: "❗ Consultez les logs pour plus de détails. Voir les modifications : ${{ github.event.compare }}." - username: "PreproductionBOT" - avatar: "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcR9SYdK1M7jEIJgdj9foHiEoUdUiYxfREv3jg&s" +# - name: Notification échec 💥 +# uses: containrrr/shoutrrr-action@v1 +# if: failure() +# with: +# url: ${{ secrets.DISCORD_WEBHOOK_URL }} +# message: "❗ Consultez les logs pour plus de détails. Voir les modifications : ${{ github.event.compare }}." +# username: "PreproductionBOT" +# avatar: "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcR9SYdK1M7jEIJgdj9foHiEoUdUiYxfREv3jg&s"