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:
Currently, to pack a charm, we take runner name as input,
observability/.github/workflows/_charm-release.yaml
Lines 15 to 21 in c13b2b9
and currently the workflow is limited to packing for amd64 and arm64, because those are the runners available from github.
observability/.github/workflows/_charm-release.yaml
Lines 87 to 96 in c13b2b9
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.
observability/.github/workflows/_charm-quality-checks.yaml
Lines 165 to 166 in c13b2b9
Since
charmcraft remote-builddoes not yet support--build-for, the CI should attempt a remote build only if the.platformssection is not empty after removingarm64andamd64.References: