aboutsummaryrefslogtreecommitdiff
path: root/hack
diff options
context:
space:
mode:
Diffstat (limited to 'hack')
-rwxr-xr-xhack/get_ci_vm.sh22
-rwxr-xr-xhack/markdown-preprocess85
-rwxr-xr-xhack/swagger-check4
3 files changed, 105 insertions, 6 deletions
diff --git a/hack/get_ci_vm.sh b/hack/get_ci_vm.sh
index 6632a0178..bdd947bba 100755
--- a/hack/get_ci_vm.sh
+++ b/hack/get_ci_vm.sh
@@ -15,7 +15,7 @@ SCRIPT_FILEPATH=$(realpath "${BASH_SOURCE[0]}")
SCRIPT_DIRPATH=$(dirname "$SCRIPT_FILEPATH")
REPO_DIRPATH=$(realpath "$SCRIPT_DIRPATH/../")
-# Help detect if we were called by get_ci_vm container
+# Help detect what get_ci_vm container called this script
GET_CI_VM="${GET_CI_VM:-0}"
in_get_ci_vm() {
if ((GET_CI_VM==0)); then
@@ -27,8 +27,10 @@ in_get_ci_vm() {
# get_ci_vm APIv1 container entrypoint calls into this script
# to obtain required repo. specific configuration options.
if [[ "$1" == "--config" ]]; then
- in_get_ci_vm "$1"
- cat <<EOF
+ in_get_ci_vm "$1" # handles GET_CI_VM==0 case
+ case "$GET_CI_VM" in
+ 1)
+ cat <<EOF
DESTDIR="/var/tmp/go/src/github.com/containers/podman"
UPSTREAM_REPO="https://github.com/containers/podman.git"
CI_ENVFILE="/etc/ci_environment"
@@ -40,8 +42,18 @@ GCLOUD_CPUS="2"
GCLOUD_MEMORY="4Gb"
GCLOUD_DISK="200"
EOF
+ ;;
+ 2)
+ # get_ci_vm APIv2 configuration details
+ echo "AWS_PROFILE=containers"
+ ;;
+ *)
+ echo "Error: Your get_ci_vm container image is too old."
+ ;;
+ esac
elif [[ "$1" == "--setup" ]]; then
in_get_ci_vm "$1"
+ unset GET_CI_VM
# get_ci_vm container entrypoint calls us with this option on the
# Cirrus-CI environment instance, to perform repo.-specific setup.
cd $REPO_DIRPATH
@@ -54,8 +66,9 @@ elif [[ "$1" == "--setup" ]]; then
echo "+ Running environment setup" > /dev/stderr
./contrib/cirrus/setup_environment.sh
else
- # Create and access VM for specified Cirrus-CI task
+ # Pass this repo and CLI args into container for VM creation/management
mkdir -p $HOME/.config/gcloud/ssh
+ mkdir -p $HOME/.aws
podman run -it --rm \
--tz=local \
-e NAME="$USER" \
@@ -65,5 +78,6 @@ else
-v $REPO_DIRPATH:/src:O \
-v $HOME/.config/gcloud:/root/.config/gcloud:z \
-v $HOME/.config/gcloud/ssh:/root/.ssh:z \
+ -v $HOME/.aws:/root/.aws:z \
quay.io/libpod/get_ci_vm:latest "$@"
fi
diff --git a/hack/markdown-preprocess b/hack/markdown-preprocess
new file mode 100755
index 000000000..4bc67a819
--- /dev/null
+++ b/hack/markdown-preprocess
@@ -0,0 +1,85 @@
+#!/usr/bin/env python3
+#
+# markdown-preprocess - filter *.md.in files, convert to .md
+#
+
+import glob
+import os
+import sys
+
+def main():
+ script_dir = os.path.abspath(os.path.dirname(__file__))
+ man_dir = os.path.join(script_dir,"../docs/source/markdown")
+
+ try:
+ os.chdir(man_dir)
+ except FileNotFoundError:
+ raise Exception("Please invoke me from the base repo dir")
+
+ # If called with args, process only those files
+ infiles = [ os.path.basename(x) for x in sys.argv[1:] ]
+ if len(infiles) == 0:
+ # Called without args: process all *.md.in files
+ infiles = glob.glob('*.md.in')
+ for infile in infiles:
+ process(infile)
+
+def process(infile):
+ # Some options are the same between containers and pods; determine
+ # which description to use from the name of the source man page.
+ pod_or_container = 'container'
+ if '-pod-' in infile:
+ pod_or_container = 'pod'
+
+ # Sometimes a man page includes the subcommand.
+ subcommand = removesuffix(removeprefix(infile,"podman-"),".1.md.in").replace("-", " ")
+
+ # foo.md.in -> foo.md -- but always write to a tmpfile
+ outfile = os.path.splitext(infile)[0]
+ outfile_tmp = outfile + '.tmp.' + str(os.getpid())
+
+# print("got here: ",infile, " -> ", outfile)
+
+ with open(infile, 'r') as fh_in, open(outfile_tmp, 'w') as fh_out:
+ for line in fh_in:
+ # '@@option foo' -> include file options/foo.md
+ if line.startswith('@@option '):
+ _, optionname = line.strip().split(" ")
+ optionfile = os.path.join("options", optionname + '.md')
+
+ # Comment intended to help someone viewing the .md file.
+ # Leading newline is important because if two lines are
+ # consecutive without a break, sphinx (but not go-md2man)
+ # treats them as one line and will unwantedly render the
+ # comment in its output.
+ fh_out.write("\n[//]: # (BEGIN included file " + optionfile + ")\n")
+ with open(optionfile, 'r') as fh_optfile:
+ for opt_line in fh_optfile:
+ opt_line = opt_line.replace('<POD-OR-CONTAINER>', pod_or_container)
+ opt_line = opt_line.replace('<SUBCOMMAND>', subcommand)
+ fh_out.write(opt_line)
+ fh_out.write("\n[//]: # (END included file " + optionfile + ")\n")
+ else:
+ fh_out.write(line)
+
+ os.chmod(outfile_tmp, 0o444)
+ os.rename(outfile_tmp, outfile)
+
+# str.removeprefix() is python 3.9+, we need to support older versions on mac
+def removeprefix(string: str, prefix: str) -> str:
+ if string.startswith(prefix):
+ return string[len(prefix):]
+ else:
+ return string[:]
+
+# str.removesuffix() is python 3.9+, we need to support older versions on mac
+def removesuffix(string: str, suffix: str) -> str:
+ # suffix='' should not call self[:-0].
+ if suffix and string.endswith(suffix):
+ return string[:-len(suffix)]
+ else:
+ return string[:]
+
+
+if __name__ == "__main__":
+ main()
diff --git a/hack/swagger-check b/hack/swagger-check
index 1e5b95c3a..b4481f5bb 100755
--- a/hack/swagger-check
+++ b/hack/swagger-check
@@ -320,8 +320,8 @@ sub operation_name {
if ($action eq 'df') {
$action = 'dataUsage';
}
- elsif ($action eq "delete" && $endpoint eq "/libpod/kube/play") {
- $action = "PlayDown"
+ elsif ($action eq "delete" && $endpoint eq "/libpod/play/kube") {
+ $action = "KubeDown"
}
# Grrrrrr, this one is annoying: some operations get an extra 'All'
elsif ($action =~ /^(delete|get|stats)$/ && $endpoint !~ /\{/) {