← Back to team overview

canonical-ubuntu-qa team mailing list archive

[Merge] ~andersson123/autopkgtest-cloud:add_charm_trail into autopkgtest-cloud:master

 

Tim Andersson has proposed merging ~andersson123/autopkgtest-cloud:add_charm_trail into autopkgtest-cloud:master.

Requested reviews:
  Canonical's Ubuntu QA (canonical-ubuntu-qa)

For more details, see:
https://code.launchpad.net/~andersson123/autopkgtest-cloud/+git/autopkgtest-cloud/+merge/448897
-- 
Your team Canonical's Ubuntu QA is requested to review the proposed merge of ~andersson123/autopkgtest-cloud:add_charm_trail into autopkgtest-cloud:master.
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index d3bc39f..54f848a 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -47,3 +47,20 @@ repos:
         entry: pylint
         language: system
         types: [python]
+      - id: check-charm-trail
+        name: check-charm-trail
+        stages: [manual]
+        description: Check breadcrumb trail is accurate
+        entry: charms/charm_breadcrumb
+        language: system
+      - id: charm-trail
+        name: charm-trail
+        stages:
+          [commit-msg, post-checkout, post-commit, post-merge, post-rewrite,
+           pre-commit, pre-merge-commit, pre-push, pre-rebase,
+           prepare-commit-msg]
+        description: Leave breadcrumb trail for charm versioning tracing
+        entry: charms/charm_breadcrumb
+        args:
+          - "-l"
+        language: system
diff --git a/charms/charm_breadcrumb b/charms/charm_breadcrumb
new file mode 100755
index 0000000..bd1952b
--- /dev/null
+++ b/charms/charm_breadcrumb
@@ -0,0 +1,42 @@
+#!/bin/bash
+
+is_local=false
+OPTIND=1
+
+while getopts 'l' opt; do
+    case $opt in
+        l) is_local=true ;;
+        *) echo 'Error in command line parsing' >&2
+            exit 1
+    esac
+done
+shift "$(( OPTIND - 1 ))"
+
+script=$(realpath "${0}")
+bc_path=$(dirname "${script}")
+web_path="/focal/autopkgtest-web/"
+cw_path="/focal/autopkgtest-cloud-worker/"
+
+if "$is_local"; then
+    echo "Running add charm breadcrumb trail locally..."
+    log_op=$(git log --oneline -n 5)
+    echo "${log_op}" > "${bc_path}${web_path}charm_breadcrumb"
+    echo "${log_op}" > "${bc_path}${cw_path}charm_breadcrumb"
+else
+    echo "Checking the charm breadcrumb is up to date..."
+    log_op=$(git log --oneline -n  5)
+    web_bc=$(cat "${bc_path}${web_path}charm_breadcrumb")
+    cw_bc=$(cat "${bc_path}${cw_path}charm_breadcrumb")
+    if [[ "${log_op}" != "${web_bc}" ]]; then
+        echo "Charm breadcrumb not up to date! Failing."
+        exit 1
+    else
+        echo "Charm breadcrumb up to date."
+    fi
+    if [[ "${log_op}" != "${cw_bc}" ]]; then
+        echo "Charm breadcrumb not up to date! Failing."
+        exit 1
+    else
+        echo "Charm breadcrumb up to date."
+    fi
+fi
diff --git a/charms/focal/autopkgtest-cloud-worker/charm_breadcrumb b/charms/focal/autopkgtest-cloud-worker/charm_breadcrumb
new file mode 100644
index 0000000..fa567d9
--- /dev/null
+++ b/charms/focal/autopkgtest-cloud-worker/charm_breadcrumb
@@ -0,0 +1,5 @@
+5e541ae ;kksdjlksadjfl
+b36880c sljkdlaskjd
+35a67dc sakjdlkasjd
+2a5d4a1 sdfjljdfljs
+7f9710c Merge remote-tracking branch 'andersson123/json_decode_fix'
diff --git a/charms/focal/autopkgtest-web/charm_breadcrumb b/charms/focal/autopkgtest-web/charm_breadcrumb
new file mode 100644
index 0000000..fa567d9
--- /dev/null
+++ b/charms/focal/autopkgtest-web/charm_breadcrumb
@@ -0,0 +1,5 @@
+5e541ae ;kksdjlksadjfl
+b36880c sljkdlaskjd
+35a67dc sakjdlkasjd
+2a5d4a1 sdfjljdfljs
+7f9710c Merge remote-tracking branch 'andersson123/json_decode_fix'

Follow ups