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

Vectorize build-on and build-for #80

Open
mr-cal opened this issue Dec 9, 2024 · 1 comment
Open

Vectorize build-on and build-for #80

mr-cal opened this issue Dec 9, 2024 · 1 comment

Comments

@mr-cal
Copy link
Contributor

mr-cal commented Dec 9, 2024

The build planners fail to create a build plan from the yaml:

platforms:
  my-platform:
    build-on: amd64
    build-for: riscv64

This is a problem because craft-application is able to create a build plan but craft-platforms can't.

Craft-application vectorizes build-on and build-for before providing the data to craft-platforms.

Copy link

Thank you for reporting us your feedback!

The internal ticket has been created: https://warthogs.atlassian.net/browse/CRAFT-3778.

This message was autogenerated

lengau pushed a commit to canonical/charmcraft that referenced this issue Dec 19, 2024
Adds support for multi-base recipes with the `platforms` keyword.

Internally, this moves to a new practice where the application stops modifying project data before passing the it to craft-platforms.  This will ensure consistent processing by charmcraft and by launchpad.

Documentation is coming soon via canonical/craft-platforms#75 and #2009.

To summarize the usage, `base` and `build-base` are removed from the project and the base is encoded into the platform.

Platforms can be defined in a shorthand notation:
```yaml
platforms:
  ubuntu@22.04:amd64:
  ubuntu@24.04:amd64:
```

Or they can be defined in standard form:
```yaml
platforms:
  jammy:
    build-on: [ubuntu@22.04:amd64]
    build-for: [ubuntu@22.04:amd64]
  noble:
    build-on: [ubuntu@24.04:amd64]
    build-for: [ubuntu@24.04:amd64]
```


Fixes #1789 
Fixes #2008 
Creates canonical/craft-platforms#85
Found during implementation canonical/craft-platforms#80
(CRAFT-3718)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant