hunk.code_window:   switch (type) {
       case 'error':
         return colors.error;
       case 'warning':
         return 'rgb(234, 169, 0)';
       default:
         return undefined;
     }
   }
hunk.labels: keep keep keep keep replace keep keep keep keep
hunk.after_edit:       return colors.warning;
  
hunk.file_path: apps/web/src/pages/templates/components/LackIntegrationAlert.tsx
hunk.type: replace
file: name: Deploy PROD Worker
  
  # Controls when the action will run. Triggers the workflow on push or pull request
  # events but only for the master branch
  on:
    workflow_dispatch:
  
  jobs:
    test_worker:
      strategy:
        # The order is important for ee to be first, otherwise outputs not work correctly
        matrix:
          name: [ 'novu/worker-ee', 'novu/worker' ]
      uses: ./.github/workflows/reusable-worker-e2e.yml
      with:
        ee: ${{ contains (matrix.name,'ee') }}
        submodules: ${{ contains (matrix.name,'ee') }}
        submodule_branch: "main"
      secrets: inherit
  
    build_prod_image:
      if: "!contains(github.event.head_commit.message, 'ci skip')"
      # The type of runner that the job will run on
      runs-on: ubuntu-latest
      needs: test_worker
      timeout-minutes: 80
      environment: Production
      strategy:
        # The order is important for ee to be first, otherwise outputs not work correctly
        matrix:
          name: [ 'novu/worker-ee', 'novu/worker' ]
      outputs:
        docker_image: ${{ steps.build-image.outputs.IMAGE }}
      permissions:
        contents: read
        packages: write
        deployments: write
        id-token: write
      steps:
        - uses: actions/checkout@v3
        - uses: ./.github/actions/setup-project
  
        - name: build worker
          run: pnpm build:worker
  
        - name: Setup Depot
          uses: depot/setup-action@v1
          with:
            oidc: true
  
        - name: Set Bull MQ Env variable for EE
          if: contains(matrix.name, 'ee')
          shell: bash
          run: |
            echo "BULL_MQ_PRO_NPM_TOKEN=${{ secrets.BULL_MQ_PRO_NPM_TOKEN }}" >> $GITHUB_ENV
  
        - name: Build, tag, and push image to Amazon ECR
          id: build-image
          env:
            REGISTRY_OWNER: novuhq
            DOCKER_NAME: ${{matrix.name}}
            IMAGE_TAG: ${{ github.sha }}
            GH_ACTOR: ${{ github.actor }}
            GH_PASSWORD: ${{ secrets.GH_PACKAGES }}
            DEPOT_PROJECT_ID: 6sj0jfv0n7
          run: |
            echo $GH_PASSWORD | docker login ghcr.io -u $GH_ACTOR --password-stdin
            cd apps/worker && pnpm --silent --workspace-root pnpm-context -- apps/worker/Dockerfile | depot build --build-arg BULL_MQ_PRO_TOKEN=${BULL_MQ_PRO_NPM_TOKEN} --build-arg PACKAGE_PATH=apps/worker - -t novu-worker --load
            docker tag novu-worker ghcr.io/$REGISTRY_OWNER/$DOCKER_NAME:latest
            docker tag novu-worker ghcr.io/$REGISTRY_OWNER/$DOCKER_NAME:prod
            docker tag novu-worker ghcr.io/$REGISTRY_OWNER/$DOCKER_NAME:$IMAGE_TAG
  
            docker run --network=host --name worker -dit --env NODE_ENV=test ghcr.io/$REGISTRY_OWNER/$DOCKER_NAME:$IMAGE_TAG
            docker run --network=host appropriate/curl --retry 10 --retry-delay 5 --retry-connrefused http://localhost:1342/v1/health-check | grep 'ok'
  
            docker push ghcr.io/$REGISTRY_OWNER/$DOCKER_NAME:prod
            docker push ghcr.io/$REGISTRY_OWNER/$DOCKER_NAME:latest
            docker push ghcr.io/$REGISTRY_OWNER/$DOCKER_NAME:$IMAGE_TAG
            echo "IMAGE=ghcr.io/$REGISTRY_OWNER/$DOCKER_NAME:$IMAGE_TAG" >> $GITHUB_OUTPUT
  
    deploy_prod_worker_eu:
      needs: build_prod_image
      uses: ./.github/workflows/reusable-app-service-deploy.yml
      secrets: inherit
      with:
        environment: Production
        service_name: worker
        terraform_workspace: novu-prod-eu
        # This is a workaround to an issue with matrix outputs
        docker_image: ghcr.io/novuhq/novu/worker-ee:${{ github.sha }}
  
    deploy_prod_worker_us:
      needs:
        - deploy_prod_worker_eu
        - build_prod_image
      uses: ./.github/workflows/reusable-app-service-deploy.yml
      secrets: inherit
      with:
        environment: Production
        service_name: worker
        terraform_workspace: novu-prod
        # This is a workaround to an issue with matrix outputs
        docker_image: ghcr.io/novuhq/novu/worker-ee:${{ github.sha }}
        deploy_sentry_release: true
        sentry_project: worker
  
    newrelic:
      runs-on: ubuntu-latest
      name: New Relic Deploy
      needs: deploy_prod_worker_us
      environment: Production
      steps:
        # This step builds a var with the release tag value to use later
        - name: Set Release Version from Tag
          run: echo "RELEASE_VERSION=${{ github.ref_name }}" >> $GITHUB_ENV
        # This step creates a new Change Tracking Marker
        - name: New Relic Application Deployment Marker
          uses: newrelic/deployment-marker-action@v2.3.0
          with:
            region: EU
            apiKey: ${{ secrets.NEW_RELIC_API_KEY }}
            guid: "MzgxMjQwOHxBUE18QVBQTElDQVRJT058NDk3NzA2ODk2"
            version: "${{ env.RELEASE_VERSION }}"
            user: "${{ github.actor }}"
  