on: workflow_dispatch: push: branches: - main schedule: - cron: "@weekly" jobs: sonar: runs-on: ubuntu-latest steps: - name: Check out repository code uses: actions/checkout@v4.2.2 with: fetch-depth: 0 - uses: hadolint/hadolint-action@v3.1.0 with: dockerfile: Dockerfile output-file: hadolint.out format: sonarqube no-fail: true - name: SonarQube Scan uses: SonarSource/sonarqube-scan-action@v4.2.1 env: SONAR_TOKEN: ${{ secrets.SONARQUBE_TOKEN }} SONAR_HOST_URL: ${{ secrets.SONARQUBE_HOST_URL }} release: runs-on: ubuntu-latest steps: - name: Update Docker configuration continue-on-error: true run: | mkdir -p /etc/default mkdir -p /etc/docker touch -a /etc/default/docker touch -a /etc/docker/daemon.json echo "DOCKER_OPTS=\"--insecure-registry ${{ vars.PACKAGES_REGISTRY_URL }}\"" >> /etc/default/docker echo "{\"insecure-registries\": [\"${{ vars.PACKAGES_REGISTRY_URL }}\"]}" > /etc/docker/daemon.json - name: Check out repository code uses: actions/checkout@v4.2.2 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Log in to Gitea Package Registry uses: docker/login-action@v3 with: registry: ${{ vars.PACKAGES_REGISTRY_URL }} username: ${{ vars.PACKAGES_REGISTRY_USERNAME }} password: ${{ secrets.PACKAGES_REGISTRY_PASSWORD }} - name: Build image uses: docker/build-push-action@v6 with: context: . push: false load: true tags: ${{ vars.PACKAGES_REGISTRY_URL }}/${{ gitea.repository }}:latest - name: Push image run: docker push ${{ vars.PACKAGES_REGISTRY_URL }}/${{ gitea.repository }}:latest