Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,24 @@ jobs:
--examples-root=examples/fabric \
-o configuration-avd-ci.xpkg

# The Function package's own build, minus the runtime image -- embedding
# needs a built tarball, and nothing here depends on it to answer the
# question this step asks: does `package/` plus the examples still parse?
#
# Added after the v0.1.4 release failed on exactly this. `--examples-root`
# defaults to ./examples, so this build collected a helm values file that
# had just landed under examples/ and rejected it -- a failure reachable
# only from the release, i.e. after the tag. The configuration build above
# could not have caught it: it names a narrower examples root, so the two
# builds disagreed about what "the examples" are.
- name: Build the Function package
run: |
set -euo pipefail
crossplane xpkg build \
--package-root=package \
--examples-root=examples/fabric \
-o function-avd-ci.xpkg

# The offline suite runs on the runner's interpreter, so it says nothing about
# the image the xpkg actually embeds. Without this job a Dockerfile, uv or
# Python bump is only exercised by the release build -- i.e. after the tag,
Expand Down
12 changes: 12 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -128,11 +128,23 @@ jobs:
sudo mv ./crossplane /usr/local/bin/crossplane
crossplane version --client

# --examples-root is stated even though `package/` is the package root,
# because it is NOT optional: it defaults to ./examples, so leaving it out
# does not mean "no examples" -- it means "every YAML under examples/,
# whatever ends up there". That default broke the v0.1.4 release, when
# examples/lab/topology.yaml (helm values, no `kind`) landed beside the
# fabric examples and this build rejected it with "Object 'Kind' is
# missing". --ignore is no help: it does not reach --examples-root.
#
# examples/fabric is what both packages ship, and it holds Fabric XRs and
# nothing else. examples/lab is lab scaffolding, not a demonstration of
# the API.
- name: Build the package
run: |
set -euo pipefail
crossplane xpkg build \
--package-root=package \
--examples-root=examples/fabric \
--embed-runtime-image-tarball="runtime-${{ matrix.arch }}.tar" \
-o "function-avd-${{ matrix.arch }}.xpkg"

Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "function-avd"
version = "0.1.4"
version = "0.1.5"
description = "Living AVD model driven by Crossplane XRs (Fabric -> Device composite function)"
readme = "README.md"
authors = [
Expand Down
2 changes: 1 addition & 1 deletion uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.