From a08b42e56dd63a576566b83bd79e6b1e461ca45a Mon Sep 17 00:00:00 2001 From: Philip Schmid Date: Fri, 23 Aug 2024 16:17:39 +0200 Subject: [PATCH] CI: Helm lint: Remove pipenv dependency Signed-off-by: Philip Schmid --- .github/workflows/lint-helm.yaml | 23 --------- install/kubernetes/Makefile | 14 +++--- install/kubernetes/Pipfile | 12 ----- install/kubernetes/Pipfile.lock | 81 -------------------------------- 4 files changed, 7 insertions(+), 123 deletions(-) delete mode 100644 install/kubernetes/Pipfile delete mode 100644 install/kubernetes/Pipfile.lock diff --git a/.github/workflows/lint-helm.yaml b/.github/workflows/lint-helm.yaml index 54bee59ed53..5627656929f 100644 --- a/.github/workflows/lint-helm.yaml +++ b/.github/workflows/lint-helm.yaml @@ -37,29 +37,6 @@ jobs: echo "Vendored openapi2jsonschema.py script is out of date." echo "Please run 'make -C install/kubernetes openapi2jsonschema.py' and submit your changes."; exit 1 fi - - name: Setup Python - id: setup-python - uses: actions/setup-python@v5 - with: - python-version: ${{ env.PYTHON_VERSION }} - - name: Install pipenv - id: install-pipenv - shell: bash - run: | - python -m pip install --upgrade --no-cache-dir pip - python -m pip install --no-cache-dir pipenv - - name: Cache Pipfile - id: cache-pipfile - uses: actions/cache@v4 - with: - path: ~/.local/share/virtualenvs - key: ${{ runner.os }}-python-${{ steps.setup-python.outputs.python-version }}-pipenv-${{ hashFiles('Pipfile.lock') }} - - name: Sync Pipfile - id: sync-pipfile - shell: bash - working-directory: install/kubernetes - run: | - pipenv sync --dev --python ${{ env.PYTHON_VERSION }} - name: Check if vendored CRD JSON schemas are up to date run: | make -C install/kubernetes generate-jsonschemas diff --git a/install/kubernetes/Makefile b/install/kubernetes/Makefile index 9634e5f59ef..ff59d6b97ea 100644 --- a/install/kubernetes/Makefile +++ b/install/kubernetes/Makefile @@ -9,17 +9,19 @@ KUBECONFORM_IMAGE=ghcr.io/yannh/kubeconform:v0.6.7-alpine@sha256:824e0c248809e4b HELMDOCS_IMAGE=docker.io/jnorwood/helm-docs:v1.14.2@sha256:7e562b49ab6b1dbc50c3da8f2dd6ffa8a5c6bba327b1c6335cc15ce29267979c # renovate: datasource=github-releases depName=yannh/kubeconform KUBECONFORM_VERSION := v0.6.7 -PYTHON := python3 -PIPENV := pipenv +# renovate: datasource=docker +PYTHON_IMAGE := docker.io/python:3.12-slim-bookworm K8S_VERSION := master HELM_VALUES_OVERRIDE := "helm_lint_values_override.yaml" REPO_ROOT := $(shell git rev-parse --show-toplevel) TETRAGON_CHART := tetragon -CRDS := $(REPO_ROOT)/pkg/k8s/apis/cilium.io/client/crds/v1alpha1 +CRDS_RELATIVE_DIR := pkg/k8s/apis/cilium.io/client/crds/v1alpha1 +CRDS := $(REPO_ROOT)/$(CRDS_RELATIVE_DIR) JSON_SCHEMAS := $(REPO_ROOT)/install/kubernetes/schemas HELM ?= docker run --rm -v $(CURDIR)/$(TETRAGON_CHART):/apps -v $(CURDIR)/$(HELM_VALUES_OVERRIDE):/$(HELM_VALUES_OVERRIDE) $(HELM_IMAGE) +PYTHON ?= docker run --rm -v $(REPO_ROOT):/code --workdir=/code/install/kubernetes -e FILENAME_FORMAT='{kind}-{fullgroup}' $(PYTHON_IMAGE) .PHONY: all all: deps $(TETRAGON_CHART)/crds-yaml lint docs openapi2jsonschema.py generate-jsonschemas kubeconform @@ -53,14 +55,12 @@ openapi2jsonschema.py: curl -sSfLO https://raw.githubusercontent.com/yannh/kubeconform/$(KUBECONFORM_VERSION)/scripts/$@ # To validate (using openapi2jsonschema.py) default Ruleset policies included in the Helm chart, we need to pass the -# JSON schema of the TracingPolicy CRD. This target generates such schema. It requires pipenv to be pre-installed. +# JSON schema of the TracingPolicy CRD. This target generates such schema. .PHONY: generate-jsonschemas generate-jsonschemas: $(CRDS) mkdir -p $(JSON_SCHEMAS)/ - pipenv install - FILENAME_FORMAT='{kind}-{fullgroup}' $(PIPENV) run $(PYTHON) openapi2jsonschema.py $(CRDS)/* + $(PYTHON) /bin/bash -c "pip install pyyaml && python /code/install/kubernetes/openapi2jsonschema.py /code/$(CRDS_RELATIVE_DIR)/*" mv $(REPO_ROOT)/install/kubernetes/*-cilium.io.json $(JSON_SCHEMAS)/ - pipenv --rm .PHONY: kubeconform kubeconform: diff --git a/install/kubernetes/Pipfile b/install/kubernetes/Pipfile deleted file mode 100644 index ab425e5a0b2..00000000000 --- a/install/kubernetes/Pipfile +++ /dev/null @@ -1,12 +0,0 @@ -[[source]] -url = "https://pypi.org/simple" -verify_ssl = true -name = "pypi" - -[packages] -pyyaml = "*" - -[dev-packages] - -[requires] -python_version = "3.12" diff --git a/install/kubernetes/Pipfile.lock b/install/kubernetes/Pipfile.lock deleted file mode 100644 index 88f70493389..00000000000 --- a/install/kubernetes/Pipfile.lock +++ /dev/null @@ -1,81 +0,0 @@ -{ - "_meta": { - "hash": { - "sha256": "27a55b76dc774eff1af052a9de8b0c6b059a44578b80abeb18dbe190986011e0" - }, - "pipfile-spec": 6, - "requires": { - "python_version": "3.12" - }, - "sources": [ - { - "name": "pypi", - "url": "https://pypi.org/simple", - "verify_ssl": true - } - ] - }, - "default": { - "pyyaml": { - "hashes": [ - "sha256:01179a4a8559ab5de078078f37e5c1a30d76bb88519906844fd7bdea1b7729ff", - "sha256:0833f8694549e586547b576dcfaba4a6b55b9e96098b36cdc7ebefe667dfed48", - "sha256:0a9a2848a5b7feac301353437eb7d5957887edbf81d56e903999a75a3d743086", - "sha256:0b69e4ce7a131fe56b7e4d770c67429700908fc0752af059838b1cfb41960e4e", - "sha256:0ffe8360bab4910ef1b9e87fb812d8bc0a308b0d0eef8c8f44e0254ab3b07133", - "sha256:11d8f3dd2b9c1207dcaf2ee0bbbfd5991f571186ec9cc78427ba5bd32afae4b5", - "sha256:17e311b6c678207928d649faa7cb0d7b4c26a0ba73d41e99c4fff6b6c3276484", - "sha256:1e2120ef853f59c7419231f3bf4e7021f1b936f6ebd222406c3b60212205d2ee", - "sha256:1f71ea527786de97d1a0cc0eacd1defc0985dcf6b3f17bb77dcfc8c34bec4dc5", - "sha256:23502f431948090f597378482b4812b0caae32c22213aecf3b55325e049a6c68", - "sha256:24471b829b3bf607e04e88d79542a9d48bb037c2267d7927a874e6c205ca7e9a", - "sha256:29717114e51c84ddfba879543fb232a6ed60086602313ca38cce623c1d62cfbf", - "sha256:2e99c6826ffa974fe6e27cdb5ed0021786b03fc98e5ee3c5bfe1fd5015f42b99", - "sha256:39693e1f8320ae4f43943590b49779ffb98acb81f788220ea932a6b6c51004d8", - "sha256:3ad2a3decf9aaba3d29c8f537ac4b243e36bef957511b4766cb0057d32b0be85", - "sha256:3b1fdb9dc17f5a7677423d508ab4f243a726dea51fa5e70992e59a7411c89d19", - "sha256:41e4e3953a79407c794916fa277a82531dd93aad34e29c2a514c2c0c5fe971cc", - "sha256:43fa96a3ca0d6b1812e01ced1044a003533c47f6ee8aca31724f78e93ccc089a", - "sha256:50187695423ffe49e2deacb8cd10510bc361faac997de9efef88badc3bb9e2d1", - "sha256:5ac9328ec4831237bec75defaf839f7d4564be1e6b25ac710bd1a96321cc8317", - "sha256:5d225db5a45f21e78dd9358e58a98702a0302f2659a3c6cd320564b75b86f47c", - "sha256:6395c297d42274772abc367baaa79683958044e5d3835486c16da75d2a694631", - "sha256:688ba32a1cffef67fd2e9398a2efebaea461578b0923624778664cc1c914db5d", - "sha256:68ccc6023a3400877818152ad9a1033e3db8625d899c72eacb5a668902e4d652", - "sha256:70b189594dbe54f75ab3a1acec5f1e3faa7e8cf2f1e08d9b561cb41b845f69d5", - "sha256:797b4f722ffa07cc8d62053e4cff1486fa6dc094105d13fea7b1de7d8bf71c9e", - "sha256:7c36280e6fb8385e520936c3cb3b8042851904eba0e58d277dca80a5cfed590b", - "sha256:7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8", - "sha256:80bab7bfc629882493af4aa31a4cfa43a4c57c83813253626916b8c7ada83476", - "sha256:82d09873e40955485746739bcb8b4586983670466c23382c19cffecbf1fd8706", - "sha256:8388ee1976c416731879ac16da0aff3f63b286ffdd57cdeb95f3f2e085687563", - "sha256:8824b5a04a04a047e72eea5cec3bc266db09e35de6bdfe34c9436ac5ee27d237", - "sha256:8b9c7197f7cb2738065c481a0461e50ad02f18c78cd75775628afb4d7137fb3b", - "sha256:9056c1ecd25795207ad294bcf39f2db3d845767be0ea6e6a34d856f006006083", - "sha256:936d68689298c36b53b29f23c6dbb74de12b4ac12ca6cfe0e047bedceea56180", - "sha256:9b22676e8097e9e22e36d6b7bda33190d0d400f345f23d4065d48f4ca7ae0425", - "sha256:a4d3091415f010369ae4ed1fc6b79def9416358877534caf6a0fdd2146c87a3e", - "sha256:a8786accb172bd8afb8be14490a16625cbc387036876ab6ba70912730faf8e1f", - "sha256:a9f8c2e67970f13b16084e04f134610fd1d374bf477b17ec1599185cf611d725", - "sha256:bc2fa7c6b47d6bc618dd7fb02ef6fdedb1090ec036abab80d4681424b84c1183", - "sha256:c70c95198c015b85feafc136515252a261a84561b7b1d51e3384e0655ddf25ab", - "sha256:cc1c1159b3d456576af7a3e4d1ba7e6924cb39de8f67111c735f6fc832082774", - "sha256:ce826d6ef20b1bc864f0a68340c8b3287705cae2f8b4b1d932177dcc76721725", - "sha256:d584d9ec91ad65861cc08d42e834324ef890a082e591037abe114850ff7bbc3e", - "sha256:d7fded462629cfa4b685c5416b949ebad6cec74af5e2d42905d41e257e0869f5", - "sha256:d84a1718ee396f54f3a086ea0a66d8e552b2ab2017ef8b420e92edbc841c352d", - "sha256:d8e03406cac8513435335dbab54c0d385e4a49e4945d2909a581c83647ca0290", - "sha256:e10ce637b18caea04431ce14fabcf5c64a1c61ec9c56b071a4b7ca131ca52d44", - "sha256:ec031d5d2feb36d1d1a24380e4db6d43695f3748343d99434e6f5f9156aaa2ed", - "sha256:ef6107725bd54b262d6dedcc2af448a266975032bc85ef0172c5f059da6325b4", - "sha256:efdca5630322a10774e8e98e1af481aad470dd62c3170801852d752aa7a783ba", - "sha256:f753120cb8181e736c57ef7636e83f31b9c0d1722c516f7e86cf15b7aa57ff12", - "sha256:ff3824dc5261f50c9b0dfb3be22b4567a6f938ccce4587b38952d85fd9e9afe4" - ], - "index": "pypi", - "markers": "python_version >= '3.8'", - "version": "==6.0.2" - } - }, - "develop": {} -}