Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(promote action): exclude legacy all architecture in base processing #153

Conversation

jneo8
Copy link
Contributor

@jneo8 jneo8 commented Jan 2, 2025

Ensure that the legacy all architecture is ignored during promotion to avoid processing legacy or unsupported configurations. This resolves issues with handling bases that use the all architecture.

In the case of legacy charms like sysconfig, the output of charmcraft status sysconfig --format json includes the legacy all architecture. Channels associated with this architecture are not open, making it impossible to release revisions to them.

To address this issue, this change ensures that the all architecture is ignored during the promotion process, preventing unnecessary processing of legacy configurations and ensuring compatibility with modern workflows.

[
    {
        "track": "latest",
        "mappings": [
            {
                "base": {
                    "name": "ubuntu",
                    "channel": "16.04",
                    "architecture": "all"
                },
                "releases": [
                    {
                        "status": "open",
                        "channel": "latest/stable",
                        "version": "6",
                        "revision": 6,
                        "resources": [],
                        "expires_at": null
                    },
                    {
                        "status": "open",
                        "channel": "latest/candidate",
                        "version": "6",
                        "revision": 6,
                        "resources": [],
                        "expires_at": null
                    },
                    {
                        "status": "tracking",
                        "channel": "latest/beta",
                        "version": null,
                        "revision": null,
                        "resources": null,
                        "expires_at": null
                    },
                    {
                        "status": "tracking",
                        "channel": "latest/edge",
                        "version": null,
                        "revision": null,
                        "resources": null,
                        "expires_at": null
                    }
                ]
            },
            ...

Ensure that the `all` architecture is ignored during promotion to avoid
processing legacy or unsupported configurations. This resolves issues
with handling bases that use the `all` architecture.
@jneo8 jneo8 changed the title fix: exclude legacy all architecture in base processing fix(promote action): exclude legacy all architecture in base processing Jan 3, 2025
@Pjack
Copy link

Pjack commented Jan 3, 2025

Couple projects are impacted by this issue.

It blocks our release process, please help this. Thanks!

@jneo8
Copy link
Contributor Author

jneo8 commented Jan 8, 2025

Hi @simskij or @sed-i,

Could you please take a look at this for me? I’d really appreciate your feedback.

@simskij simskij merged commit 3d1aae2 into canonical:main Jan 9, 2025
3 checks passed
@Pjack
Copy link

Pjack commented Jan 15, 2025

Hi @simskij or @sed-i ,

Do you have an ETA for the new release that includes this patch? We have several repositories are affected by this issue and we currently have to promote manually. We would appreciate it if this patch could be released soon. Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants