feat: scaffold upjet-based Crossplane provider for LiteLLM #11
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: Schema Diff Issues | |
| # Compares config/schema.json against config/generated.lst to find Terraform | |
| # provider resources that are not yet exposed as Crossplane managed | |
| # resources, and files one GitHub issue per resource that isn't already | |
| # tracked by an existing open issue. | |
| # | |
| # - pull_request: dry-run only (no issues are created), and only runs when | |
| # the automation itself changes, so it doesn't run on every unrelated PR. | |
| # - schedule / workflow_dispatch / push (when TERRAFORM_PROVIDER_VERSION | |
| # changes on main): creates issues for real. | |
| on: | |
| pull_request: | |
| paths: | |
| - 'scripts/schema_diff_issues.py' | |
| - '.github/workflows/schema-diff-issues.yml' | |
| push: | |
| branches: | |
| - main | |
| paths: | |
| - 'Makefile' | |
| schedule: | |
| - cron: '0 6 * * 1' # Every Monday at 06:00 UTC | |
| workflow_dispatch: | |
| inputs: | |
| dry_run: | |
| description: 'Dry run (report only, do not create issues)' | |
| required: false | |
| default: false | |
| type: boolean | |
| permissions: | |
| contents: read | |
| issues: write | |
| env: | |
| GO_VERSION: '1.27.0' | |
| jobs: | |
| schema-diff-issues: | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | |
| - name: Setup Go | |
| uses: actions/setup-go@40f1582b2485089dde7abd97c1529aa768e1baff # v5 | |
| with: | |
| go-version: ${{ env.GO_VERSION }} | |
| # Regenerate the list from config.ExternalNameConfigs so a stale committed | |
| # file can never make an already implemented resource look missing. | |
| - name: Refresh config/generated.lst | |
| run: make generated-lst | |
| - name: Determine dry-run mode | |
| id: mode | |
| run: | | |
| if [[ "${{ github.event_name }}" == "pull_request" ]]; then | |
| echo "dry_run=true" >> "$GITHUB_OUTPUT" | |
| elif [[ "${{ github.event_name }}" == "workflow_dispatch" ]]; then | |
| echo "dry_run=${{ inputs.dry_run }}" >> "$GITHUB_OUTPUT" | |
| else | |
| echo "dry_run=false" >> "$GITHUB_OUTPUT" | |
| fi | |
| - name: Run schema diff issue automation | |
| env: | |
| GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: | | |
| ARGS=(--repo "${{ github.repository }}") | |
| if [[ "${{ steps.mode.outputs.dry_run }}" == "true" ]]; then | |
| ARGS+=(--dry-run) | |
| fi | |
| ./scripts/schema_diff_issues.py "${ARGS[@]}" |