name: Sonar 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: glowing-fiesta jobs: sonarqube: name: SonarQube 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: Run tests and generate coverage run: npm run coverage # continue-on-error: true env: CI: true - name: Build site run: NODE_ENV=production NITRO_PRESET=node_cluster NITRO_CLUSTER_WORKERS=4 npm run build - name: Upload build artifacts uses: actions/upload-artifact@v3 with: name: output path: .output/ overwrite: true include-hidden-files: true #- name: SonarQube Scan # uses: SonarSource/sonarqube-scan-action@v6 # env: # SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} # docker-work: name: Docker stuff needs: sonarqube runs-on: docker steps: - name: Setup Node environment run: | apk add --update nodejs npm - name: Prepare environment variables run: | echo REGISTRY=${{ env.FORGEJO_HOST }} >> $GITHUB_ENV echo CONTAINER_NAME=${{ env.CONTAINER_NAME }} >> $GITHUB_ENV echo VERSION=$(node -p "require('./package.json').version") >> $GITHUB_ENV - name: Code checkout uses: actions/checkout@v4 with: fetch-depth: 0 - name: Download build artifacts uses: actions/download-artifact@v3 with: name: output path: ./output - name: Login to the registry uses: docker/login-action@v3 with: registry: ${{ env.REGISTRY }} username: ${{ github.actor }} password: ${{ secrets.PACKAGING_TOKEN }} # - name: Build and push # uses: docker/build-push-action@v6 # with: # context: context # push: true # provenance: false # tags: ${{ env.REGISTRY }}/${{ github.actor }}/${{ env.CONTAINER_NAME }}:latest # - name: check docker # run: | # docker --version # docker info - name: Build Docker image (pray) run: | echo [${{ env.CONTAINER_NAME }}:${{ env.VERSION }}, ${{ env.CONTAINER_NAME }}:latest] docker build -f ./devops/Dockerfile -t ${{ env.CONTAINER_NAME }}:${{ env.VERSION }} -t ${{ env.CONTAINER_NAME }}:latest . docker images ####