name: Release on: pull_request: branches: - main types: [closed] jobs: release: name: Build & Release if: github.event.pull_request.merged == true && startsWith(github.head_ref, 'v') runs-on: build-htz-01 steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 - name: Extract Version id: get_version run: echo "VERSION=${{ github.head_ref }}" >> $GITHUB_OUTPUT - name: Generate Changelog id: changelog uses: https://github.com/metcalfc/changelog-generator@v4.6.2 with: myToken: ${{ secrets.GITHUB_TOKEN }} - name: Build and push Docker image run: | VERSION=${{ steps.get_version.outputs.VERSION }} docker build -t cr.jdbnet.co.uk/public/ipam:$VERSION \ -t cr.jdbnet.co.uk/public/ipam:v2 \ -t cr.jdbnet.co.uk/public/ipam:latest \ --build-arg VERSION=$VERSION \ . docker push cr.jdbnet.co.uk/public/ipam:$VERSION docker push cr.jdbnet.co.uk/public/ipam:latest - name: Create Gitea Release uses: https://gitea.com/actions/gitea-release-action@v1 with: tag_name: ${{ steps.get_version.outputs.VERSION }} name: ${{ steps.get_version.outputs.VERSION }} body: ${{ steps.changelog.outputs.changelog }} draft: false prerelease: false sonarqube: name: SonarQube runs-on: build-htz-01 steps: - name: Checkout Code uses: actions/checkout@v4 with: fetch-depth: 0 - name: Create Valid Project Key id: sonar_setup run: | CLEAN_KEY=$(echo "${{ gitea.repository }}" | tr '/' ':') echo "key=$CLEAN_KEY" >> $GITHUB_OUTPUT - name: SonarQube Scan uses: sonarsource/sonarqube-scan-action@master continue-on-error: true env: SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} SONAR_HOST_URL: ${{ secrets.SONAR_HOST_URL }} with: args: > -Dsonar.projectKey=${{ steps.sonar_setup.outputs.key }} -Dsonar.projectName=${{ gitea.repository }} -Dsonar.qualitygate.wait=true