name: Production Build and Deploy permissions: contents: read pull-requests: write on: push: branches: - production pull_request: branches: - production types: [opened, synchronize, reopened] env: FORGEJO_HOST: git.burcusel.nl CONTAINER_NAME: ydioy OWNER: public jobs: qa-and-build: name: QA runs-on: node24 steps: - name: Setup Node environment uses: actions/setup-node@v4 with: node-version: "24" - name: Code checkout uses: actions/checkout@v4 with: fetch-depth: 0 - name: Install dependencies run: npm ci - name: Type checking and linting run: | npm run type-check && npm run lint - name: Run tests and generate coverage run: npm run coverage - name: SonarQube Scan uses: https://github.com/SonarSource/sonarqube-scan-action@v6 env: SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }}