mirror of
https://github.com/outbackdingo/cozystack.git
synced 2026-01-27 10:18:39 +00:00
Save a list of observed images after workflow (#1089)
<!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit - **New Features** - Added a process to list images used in the environment before deletion during cleanup operations. - **Chores** - Enhanced environment cleanup workflow with improved visibility into used images. - Introduced a shared writable directory between host and container for better file management during testing. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
17
.github/workflows/pull-requests.yaml
vendored
17
.github/workflows/pull-requests.yaml
vendored
@@ -290,8 +290,8 @@ jobs:
|
||||
done
|
||||
echo "✅ The task completed successfully after $attempt attempts"
|
||||
|
||||
collect_report:
|
||||
name: Collect report
|
||||
collect_debug_information:
|
||||
name: Collect debug information
|
||||
runs-on: [self-hosted]
|
||||
needs: [test_apps]
|
||||
if: ${{ always() }}
|
||||
@@ -313,10 +313,21 @@ jobs:
|
||||
name: cozyreport
|
||||
path: /tmp/${{ env.SANDBOX_NAME }}/_out/cozyreport.tgz
|
||||
|
||||
- name: Collect images list
|
||||
run: |
|
||||
cd /tmp/$SANDBOX_NAME
|
||||
make -C packages/core/testing SANDBOX_NAME=$SANDBOX_NAME collect-images
|
||||
|
||||
- name: Upload image list
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: image-list
|
||||
path: /tmp/${{ env.SANDBOX_NAME }}/_out/images.txt
|
||||
|
||||
cleanup:
|
||||
name: Tear down environment
|
||||
runs-on: [self-hosted]
|
||||
needs: [collect_report]
|
||||
needs: [collect_debug_information]
|
||||
if: ${{ always() && needs.test_apps.result == 'success' }}
|
||||
|
||||
steps:
|
||||
|
||||
8
hack/collect-images.sh
Executable file
8
hack/collect-images.sh
Executable file
@@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
for node in 11 12 13; do
|
||||
talosctl -n 192.168.123.${node} -e 192.168.123.${node} images ls >> images.tmp
|
||||
talosctl -n 192.168.123.${node} -e 192.168.123.${node} images --namespace system ls >> images.tmp
|
||||
done
|
||||
|
||||
while read _ name sha _ ; do echo $sha $name ; done < images.tmp | sort -u > images.txt
|
||||
@@ -55,6 +55,11 @@ collect-report: ## Collect the test report from the sandbox.
|
||||
mkdir -p ../../../_out
|
||||
docker cp "${SANDBOX_NAME}:/workspace/cozyreport.tgz" ../../../_out/cozyreport.tgz
|
||||
|
||||
collect-images: ## Collect the list of images used in the sandbox.
|
||||
docker exec "${SANDBOX_NAME}" sh -c 'cd /workspace && hack/collect-images.sh'
|
||||
mkdir -p ../../../_out
|
||||
docker cp "${SANDBOX_NAME}":/workspace/images.txt ../../../_out/images.txt
|
||||
|
||||
delete: ## Remove sandbox from existing Kubernetes cluster.
|
||||
docker rm -f "${SANDBOX_NAME}" || true
|
||||
|
||||
@@ -62,10 +67,13 @@ exec: ## Opens an interactive shell in the sandbox container.
|
||||
docker exec -ti "${SANDBOX_NAME}" bash
|
||||
|
||||
apply: delete
|
||||
mkdir -p /tmp/${SANDBOX_NAME}
|
||||
chmod 777 /tmp/${SANDBOX_NAME}
|
||||
docker run \
|
||||
-d --rm --name "${SANDBOX_NAME}" --privileged \
|
||||
-e TALOSCONFIG=/workspace/talosconfig \
|
||||
-e KUBECONFIG=/workspace/kubeconfig \
|
||||
-e SANDBOX_NAME=${SANDBOX_NAME} \
|
||||
"$$(yq .e2e.image values.yaml)" \
|
||||
--timeout 30m
|
||||
docker cp "${ROOT_DIR}" "${SANDBOX_NAME}":/workspace
|
||||
docker cp "${ROOT_DIR}/." "${SANDBOX_NAME}":/workspace
|
||||
|
||||
Reference in New Issue
Block a user