We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
Packing a charm with
platforms: [email protected]:amd64:
creates a *.charm file that contains the : character (e.g. [email protected]:amd64.charm), which cannot be uploaded as a GitHub Actions artifact or to a GitHub release (example: https://github.com/canonical/mysql-router-k8s-operator/actions/runs/12428934287/job/34701456930?pr=341#step:13:15)
:
[email protected]:amd64.charm
Request: rename the *.charm file so that it does not contain the : character
git clone https://github.com/canonical/mysql-router-k8s-operator cd mysql-router-k8s-operator git checkout 6c459ad4d9979942e50693d9394c59330c7138c3 charmcraft pack -v
Ubuntu 22.04
$ snap list Name Version Rev Tracking Publisher Notes charmcraft 3.2.2.post133+g455880a4 5682 3.x/edge canonical✓ classic core18 20240920 2846 latest/stable canonical✓ base core20 20240911 2434 latest/stable canonical✓ base core22 20241119 1722 latest/stable canonical✓ base core24 20240920 609 latest/stable canonical✓ base juju 3.6.1 29241 3/stable canonical✓ - lxd 5.0.4-497fe1e 31333 5.0/stable/… canonical✓ - microk8s v1.29.11 7435 1.29-strict/stable canonical✓ - snapcraft 8.5.1 13181 latest/stable canonical✓ classic snapd 2.66.1 23258 latest/stable canonical✓ snapd
# Copyright 2022 Canonical Ltd. # See LICENSE file for licensing details. type: charm platforms: [email protected]:amd64: [email protected]:arm64: # Files implicitly created by charmcraft without a part: # - dispatch (https://github.com/canonical/charmcraft/pull/1898) # - manifest.yaml # (https://github.com/canonical/charmcraft/blob/9ff19c328e23b50cc06f04e8a5ad4835740badf4/charmcraft/services/package.py#L259) # Files implicitly copied/"primed" by charmcraft without a part: # - actions.yaml, config.yaml, metadata.yaml # (https://github.com/canonical/charmcraft/blob/9ff19c328e23b50cc06f04e8a5ad4835740badf4/charmcraft/services/package.py#L290-L293 # https://github.com/canonical/charmcraft/blob/9ff19c328e23b50cc06f04e8a5ad4835740badf4/charmcraft/services/package.py#L156-L157) parts: # "poetry-deps" part name is a magic constant # https://github.com/canonical/craft-parts/pull/901 poetry-deps: plugin: nil build-packages: - curl override-build: | python3 -m pip install --upgrade pip==24.3.1 # renovate: charmcraft-pip-latest curl -sSL https://install.python-poetry.org | python3 - --version 1.8.4 # renovate: charmcraft-poetry-latest ln -sf "$HOME/.local/bin/poetry" /usr/local/bin/poetry # "charm-poetry" part name is arbitrary; use for consistency # Avoid using "charm" part name since that has special meaning to charmcraft charm-poetry: # By default, the `poetry` plugin creates/primes these directories: # - lib, src # (https://github.com/canonical/charmcraft/blob/9ff19c328e23b50cc06f04e8a5ad4835740badf4/charmcraft/parts/plugins/_poetry.py#L76-L78) # - venv # (https://github.com/canonical/charmcraft/blob/9ff19c328e23b50cc06f04e8a5ad4835740badf4/charmcraft/parts/plugins/_poetry.py#L95 # https://github.com/canonical/craft-parts/blob/afb0d652eb330b6aaad4f40fbd6e5357d358de47/craft_parts/plugins/base.py#L270) plugin: poetry source: . after: - poetry-deps poetry-export-extra-args: ['--only', 'main,charm-libs'] build-snaps: - rustup build-packages: - libffi-dev - libssl-dev - pkg-config override-build: | rustup default stable craftctl default # Include requirements.txt in *.charm artifact for easier debugging cp requirements.txt "$CRAFT_PART_INSTALL/requirements.txt" # "files" part name is arbitrary; use for consistency files: plugin: dump source: . build-packages: - git override-build: | # Workaround to add unique identifier (git hash) to charm version while specification # DA053 - Charm versioning # (https://docs.google.com/document/d/1Jv1jhWLl8ejK3iJn7Q3VbCIM9GIhp8926bgXpdtx-Sg/edit?pli=1) # is pending review. python3 -c 'import pathlib; import shutil; import subprocess; git_hash=subprocess.run(["git", "describe", "--always", "--dirty"], capture_output=True, check=True, encoding="utf-8").stdout; file = pathlib.Path("charm_version"); shutil.copy(file, pathlib.Path("charm_version.backup")); version = file.read_text().strip(); file.write_text(f"{version}+{git_hash}")' craftctl default prime: - LICENSE - charm_version - workload_version - scripts - templates
Packing charm [email protected]:amd64.charm Packed [email protected]:amd64.charm
The text was updated successfully, but these errors were encountered:
@mr-cal @cmatsuoka I have no objection to a quick s/:/-/ in the file names here, which would align us closer to charmcraft 2's naming convention.
s/:/-/
Sorry, something went wrong.
Thank you for reporting your feedback to us!
The internal ticket has been created: https://warthogs.atlassian.net/browse/CRAFT-3849.
This message was autogenerated
Successfully merging a pull request may close this issue.
Bug Description
Packing a charm with
creates a *.charm file that contains the
:
character (e.g.[email protected]:amd64.charm
), which cannot be uploaded as a GitHub Actions artifact or to a GitHub release (example: https://github.com/canonical/mysql-router-k8s-operator/actions/runs/12428934287/job/34701456930?pr=341#step:13:15)Request: rename the *.charm file so that it does not contain the
:
characterTo Reproduce
Environment
Ubuntu 22.04
charmcraft.yaml
Relevant log output
The text was updated successfully, but these errors were encountered: