Skip to content

Use charmcraft remote-build for s390x and ppc64el #404

@sed-i

Description

@sed-i

Currently, to pack a charm, we take runner name as input,

runners:
description: |
Json matrix of the runners to use to build and release the charm.
Example: ["ubuntu-latest","Ubuntu_ARM64_4C_16G_03"]
type: string
required: false
default: '["ubuntu-latest"]'

and currently the workflow is limited to packing for amd64 and arm64, because those are the runners available from github.

- name: Pack charm(s)
id: pack
run: |
cd "${{ inputs.charm-path }}"
charmcraft pack -v
charms="$(basename -a ./*.charm | jq -R -s -c 'split("\n")[:-1]')"
echo "charms=$charms"
echo "charms=$charms" >> "$GITHUB_OUTPUT"
- name: Store charm(s)
uses: actions/upload-artifact@v4

To pack for s390x and ppc64el, we can use charmcraft remote-build.
Currently, the absence of this blocks:

In this centralized CI, packing charms for s390x and ppc64el should be done also as part of PR quality checks, but as the last step only after integration tests succeed.

pack-charm:
name: Pack the charm

Since charmcraft remote-build does not yet support --build-for, the CI should attempt a remote build only if the .platforms section is not empty after removing arm64 and amd64.

References:

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions