chore(deps): update dependency ruff to v0.15.20 (main) #137
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: PR Build | |
| on: | |
| pull_request: | |
| types: [opened, synchronize, reopened] | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.number || github.ref }} | |
| cancel-in-progress: true | |
| permissions: | |
| contents: read | |
| env: | |
| REGISTRY: quay.io | |
| REGISTRY_IMAGE: rhdh-community/dynamic-plugins-factory | |
| jobs: | |
| check: | |
| runs-on: ubuntu-latest | |
| outputs: | |
| should_skip: ${{ steps.skip_check.outputs.should_skip }} | |
| skip_reason: ${{ steps.skip_check.outputs.skip_reason }} | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| fetch-depth: 0 | |
| persist-credentials: false | |
| - name: Check if build should be skipped | |
| id: skip_check | |
| uses: ./.github/actions/should-skip-build | |
| with: | |
| commit-sha: ${{ github.event.pull_request.head.sha }} | |
| check-image: 'false' | |
| registry: ${{ env.REGISTRY }} | |
| image: ${{ env.REGISTRY_IMAGE }} | |
| pr-number: ${{ github.event.number }} | |
| file-patterns: | | |
| \.md$ | |
| ^renovate\.json$ | |
| ^examples\/ | |
| ^\.cursor\/ | |
| ^tests\/ | |
| build: | |
| needs: check | |
| if: needs.check.outputs.should_skip != 'true' | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| platform: | |
| - linux/amd64 | |
| - linux/arm64 | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 | |
| with: | |
| fetch-depth: 0 | |
| persist-credentials: false | |
| - name: Build container and export artifact | |
| id: build | |
| uses: ./.github/actions/build-container | |
| with: | |
| push: 'false' | |
| registry: ${{ env.REGISTRY }} | |
| image: ${{ env.REGISTRY_IMAGE }} | |
| pr-number: ${{ github.event.number }} | |
| commit-sha: ${{ github.event.pull_request.head.sha }} | |
| platforms: ${{ matrix.platform }} | |
| - name: Build Summary | |
| env: | |
| PRIMARY_TAG: ${{ steps.build.outputs.primary-tag }} | |
| SHORT_SHA: ${{ steps.build.outputs.short-sha }} | |
| PLATFORM: ${{ matrix.platform }} | |
| ARCH: ${{ steps.build.outputs.arch }} | |
| PR_NUMBER: ${{ github.event.number }} | |
| run: | | |
| echo "## PR Container Build Summary (${PLATFORM})" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "Container image built and exported as artifact for PR #${PR_NUMBER}." >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "| Property | Value |" >> $GITHUB_STEP_SUMMARY | |
| echo "|----------|-------|" >> $GITHUB_STEP_SUMMARY | |
| echo "| Platform | \`${PLATFORM}\` |" >> $GITHUB_STEP_SUMMARY | |
| echo "| Primary Tag | \`${PRIMARY_TAG}\` |" >> $GITHUB_STEP_SUMMARY | |
| echo "| Commit | \`${SHORT_SHA}\` |" >> $GITHUB_STEP_SUMMARY | |
| metadata: | |
| needs: [check, build] | |
| if: needs.check.outputs.should_skip != 'true' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Save PR metadata | |
| env: | |
| PR_NUMBER: ${{ github.event.number }} | |
| COMMIT_SHA: ${{ github.event.pull_request.head.sha }} | |
| run: | | |
| SHORT_SHA="${COMMIT_SHA:0:7}" | |
| PRIMARY_TAG="pr-${PR_NUMBER}" | |
| ALL_TAGS="${PRIMARY_TAG},pr-${PR_NUMBER}-${SHORT_SHA}" | |
| mkdir -p /tmp/pr-metadata | |
| # Build JSON with proper array for all_tags | |
| ALL_TAGS_JSON=$(echo "${ALL_TAGS}" | tr ',' '\n' | jq -R . | jq -s .) | |
| cat > /tmp/pr-metadata/pr-info.json << EOF | |
| { | |
| "pr_number": "${PR_NUMBER}", | |
| "commit_sha": "${COMMIT_SHA}", | |
| "short_sha": "${SHORT_SHA}", | |
| "primary_tag": "${PRIMARY_TAG}", | |
| "all_tags": ${ALL_TAGS_JSON}, | |
| "platforms": ["linux/amd64", "linux/arm64"] | |
| } | |
| EOF | |
| echo "Generated PR metadata:" | |
| cat /tmp/pr-metadata/pr-info.json | |
| - name: Upload PR metadata | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 | |
| with: | |
| name: pr-metadata | |
| path: /tmp/pr-metadata/pr-info.json | |
| retention-days: 7 | |
| if-no-files-found: error | |
| - name: Final Summary | |
| env: | |
| PR_NUMBER: ${{ github.event.number }} | |
| COMMIT_SHA: ${{ github.event.pull_request.head.sha }} | |
| SERVER_URL: ${{ github.server_url }} | |
| REPOSITORY: ${{ github.repository }} | |
| run: | | |
| SHORT_SHA="${COMMIT_SHA:0:7}" | |
| echo "## PR Container Build Complete" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "Multi-platform container images built for PR #${PR_NUMBER}." >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "### Platforms Built" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "- \`linux/amd64\`" >> $GITHUB_STEP_SUMMARY | |
| echo "- \`linux/arm64\`" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "### Tags" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "| Tag | Description |" >> $GITHUB_STEP_SUMMARY | |
| echo "|-----|-------------|" >> $GITHUB_STEP_SUMMARY | |
| echo "| \`pr-${PR_NUMBER}\` | Primary PR tag |" >> $GITHUB_STEP_SUMMARY | |
| echo "| \`pr-${PR_NUMBER}-${SHORT_SHA}\` | PR tag with commit SHA |" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| skipped: | |
| needs: check | |
| if: needs.check.outputs.should_skip == 'true' | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Save PR metadata (build skipped) | |
| env: | |
| PR_NUMBER: ${{ github.event.number }} | |
| COMMIT_SHA: ${{ github.event.pull_request.head.sha }} | |
| run: | | |
| SHORT_SHA="${COMMIT_SHA:0:7}" | |
| PRIMARY_TAG="pr-${PR_NUMBER}" | |
| ALL_TAGS="${PRIMARY_TAG},pr-${PR_NUMBER}-${SHORT_SHA}" | |
| mkdir -p /tmp/pr-metadata | |
| ALL_TAGS_JSON=$(echo "${ALL_TAGS}" | tr ',' '\n' | jq -R . | jq -s .) | |
| cat > /tmp/pr-metadata/pr-info.json << EOF | |
| { | |
| "pr_number": "${PR_NUMBER}", | |
| "commit_sha": "${COMMIT_SHA}", | |
| "short_sha": "${SHORT_SHA}", | |
| "primary_tag": "${PRIMARY_TAG}", | |
| "all_tags": ${ALL_TAGS_JSON}, | |
| "platforms": ["linux/amd64", "linux/arm64"], | |
| "build_skipped": true | |
| } | |
| EOF | |
| echo "Generated PR metadata (build skipped):" | |
| cat /tmp/pr-metadata/pr-info.json | |
| - name: Upload PR metadata | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 | |
| with: | |
| name: pr-metadata | |
| path: /tmp/pr-metadata/pr-info.json | |
| retention-days: 7 | |
| if-no-files-found: error | |
| - name: Build Skipped Summary | |
| env: | |
| SKIP_REASON: ${{ needs.check.outputs.skip_reason }} | |
| PR_NUMBER: ${{ github.event.number }} | |
| COMMIT_SHA: ${{ github.event.pull_request.head.sha }} | |
| run: | | |
| echo "## PR Container Build Skipped" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "### Reason" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "${SKIP_REASON}" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "### Details" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "- **PR Number**: #${PR_NUMBER}" >> $GITHUB_STEP_SUMMARY | |
| echo "- **Commit SHA**: \`${COMMIT_SHA}\`" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "No container build was performed." >> $GITHUB_STEP_SUMMARY |