crossplane-contrib / crossplane-contrib/provider-workflows

Mirroring images breaks the provider dependsOn for published providers

Open
#10 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Makefile
Stars
2
Forks
11
PR merge metrics
No merged PRs in 30d

Description

To ensure the Provider dependsOn block is correct images need to be rebuild for each registry. This to ensure they have the correct dependsOn block in the package.yaml.

See:

- https://github.com/crossplane-contrib/provider-workflows/blob/main/.github/workflows/publish-provider-family.yml#L171
- https://github.com/crossplane-contrib/provider-upjet-aws/blob/main/package/crossplane.yaml.tmpl#L38

Observed behavior:

✅ **ghcr.io v1.21.0** -> depends on ghcr.io

```shell
docker run --rm -it --entrypoint /bin/bash ghcr.io/crossplane-contrib/provider-aws-iam:v1.21.0
c29762f08704:/$ cat package.yaml | grep dependsOn -A 2
dependsOn:
- provider: ghcr.io/crossplane-contrib/provider-family-aws
version: '>= 0.0.0'
```

❌ **xpkg.crossplane.io v1.21.0** -> depends on ghcr.io

```shell
docker run --rm -it --entrypoint /bin/bash xpkg.crossplane.io/crossplane-contrib/provider-aws-iam:v1.21.0
9b24e46e260d:/$ cat package.yaml | grep dependsOn -A 2
dependsOn:
- provider: ghcr.io/crossplane-contrib/provider-family-aws
version: '>= 0.0.0'
```

## v1.21.1 flips the behavior

❌ **ghcr.io v1.21.1** -> depends on ghcr.io

```shell
docker run --rm -it --entrypoint /bin/bash ghcr.io/crossplane-contrib/provider-aws-iam:v1.21.1
c29762f08704:/$ cat package.yaml | grep dependsOn -A 2
dependsOn:
- provider: xpkg.crossplane.io/crossplane-contrib/provider-family-aws
version: '>= 0.0.0'
```

✅ **xpkg.crossplane.io v1.21.1** -> depends on ghcr.io

```shell
docker run --rm -it --entrypoint /bin/bash xpkg.crossplane.io/crossplane-contrib/provider-aws-iam:v1.21.1
9b24e46e260d:/$ cat package.yaml | grep dependsOn -A 2
dependsOn:
- provider: xpkg.crossplane.io/crossplane-contrib/provider-family-aws
version: '>= 0.0.0'
```

This cause providers to be unhealthy for the following images:

- xpkg.crossplane.io/crossplane-contrib/provider-aws-iam:v1.21.0
- ghcr.io/crossplane-contrib/provider-aws-iam:v1.21.1

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with .github/workflows/publish-provider-family.yml around line 171 and compare it with package/crossplane.yaml.tmpl around line 38 in provider-upjet-aws. Reproduce the package.yaml inspection for both registry images, then verify that each published image's dependsOn provider matches its own registry.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, github-actions
Domain
ci-cd, release
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.