forked from wazuh/wazuh-docker
Add revision tests
This commit is contained in:
@@ -26,11 +26,6 @@ on:
|
|||||||
- single-node
|
- single-node
|
||||||
- multi-node
|
- multi-node
|
||||||
- both
|
- both
|
||||||
patch_beta_images:
|
|
||||||
description: 'Patch image tags to use pre-release suffix (-beta1-latest). Disable once release images are published.'
|
|
||||||
required: false
|
|
||||||
default: true
|
|
||||||
type: boolean
|
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
id-token: write
|
id-token: write
|
||||||
@@ -200,6 +195,16 @@ jobs:
|
|||||||
ref: ${{ needs.prepare.outputs.pr_head_ref }}
|
ref: ${{ needs.prepare.outputs.pr_head_ref }}
|
||||||
path: wazuh-docker
|
path: wazuh-docker
|
||||||
|
|
||||||
|
- name: Read version info from VERSION.json
|
||||||
|
run: |
|
||||||
|
VERSION=$(python3 -c "import json; d=json.load(open('wazuh-docker/VERSION.json')); print(d['version'])")
|
||||||
|
STAGE=$(python3 -c "import json; d=json.load(open('wazuh-docker/VERSION.json')); print(d.get('stage',''))")
|
||||||
|
REVISION="${STAGE:-1}"
|
||||||
|
echo "WAZUH_VERSION=${VERSION}" >> $GITHUB_ENV
|
||||||
|
echo "WAZUH_REVISION=${REVISION}" >> $GITHUB_ENV
|
||||||
|
echo "WAZUH_STAGE=${STAGE}" >> $GITHUB_ENV
|
||||||
|
echo "Version: ${VERSION} Revision: ${REVISION}"
|
||||||
|
|
||||||
- name: Set up Python 3.12
|
- name: Set up Python 3.12
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
@@ -277,23 +282,12 @@ jobs:
|
|||||||
- name: Patch image tags for pre-release
|
- name: Patch image tags for pre-release
|
||||||
run: |
|
run: |
|
||||||
DEPLOYMENT="${{ matrix.deployment_type }}"
|
DEPLOYMENT="${{ matrix.deployment_type }}"
|
||||||
# Use input when available; hardcoded true otherwise (e.g. dispatched from main
|
STAGE="${{ env.WAZUH_STAGE }}"
|
||||||
# which does not yet define patch_beta_images).
|
|
||||||
PATCH="${{ inputs.patch_beta_images }}"
|
|
||||||
[ -z "$PATCH" ] && PATCH=true
|
|
||||||
if [ "$PATCH" != "true" ]; then
|
|
||||||
echo "patch_beta_images=false — skipping image tag patching"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
VERSION=$(python3 -c "import json; d=json.load(open('wazuh-docker/VERSION.json')); print(d['version'])")
|
|
||||||
STAGE=$(python3 -c "import json; d=json.load(open('wazuh-docker/VERSION.json')); print(d.get('stage',''))")
|
|
||||||
if [ -z "$STAGE" ]; then
|
if [ -z "$STAGE" ]; then
|
||||||
echo "VERSION.json has no stage field — release image, no patching needed"
|
echo "No stage in VERSION.json — release image, no patching needed"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
IMAGE_TAG="${{ env.WAZUH_VERSION }}-${STAGE}-latest"
|
||||||
IMAGE_TAG="${VERSION}-${STAGE}-latest"
|
|
||||||
COMPOSE="wazuh-docker/${DEPLOYMENT}/docker-compose.yml"
|
COMPOSE="wazuh-docker/${DEPLOYMENT}/docker-compose.yml"
|
||||||
echo "Patching ${COMPOSE}: image tag → ${IMAGE_TAG}"
|
echo "Patching ${COMPOSE}: image tag → ${IMAGE_TAG}"
|
||||||
sed -i -E "s|(image: wazuh/wazuh-[^:]+:)[^ ]+|\1${IMAGE_TAG}|g" "$COMPOSE"
|
sed -i -E "s|(image: wazuh/wazuh-[^:]+:)[^ ]+|\1${IMAGE_TAG}|g" "$COMPOSE"
|
||||||
@@ -303,11 +297,11 @@ jobs:
|
|||||||
- name: Prepare cert tool and config
|
- name: Prepare cert tool and config
|
||||||
run: |
|
run: |
|
||||||
DEPLOYMENT="${{ matrix.deployment_type }}"
|
DEPLOYMENT="${{ matrix.deployment_type }}"
|
||||||
VERSION=$(python3 -c "import json; d=json.load(open('wazuh-docker/VERSION.json')); print(d['version'])")
|
VERSION="${{ env.WAZUH_VERSION }}"
|
||||||
STAGE=$(python3 -c "import json; d=json.load(open('wazuh-docker/VERSION.json')); print(d.get('stage',''))")
|
STAGE="${{ env.WAZUH_STAGE }}"
|
||||||
MAJOR=$(echo "$VERSION" | cut -d. -f1)
|
MAJOR=$(echo "$VERSION" | cut -d. -f1)
|
||||||
|
|
||||||
echo "Version: $VERSION Stage: ${STAGE:-<release>}"
|
echo "Version: ${VERSION} Revision: ${{ env.WAZUH_REVISION }}"
|
||||||
|
|
||||||
# Download cert tool once on the runner, copy to VM via the main SCP
|
# Download cert tool once on the runner, copy to VM via the main SCP
|
||||||
if [ -n "$STAGE" ]; then
|
if [ -n "$STAGE" ]; then
|
||||||
@@ -319,7 +313,6 @@ jobs:
|
|||||||
curl -fsSL -o "wazuh-docker/${DEPLOYMENT}/wazuh-certs-tool.sh" "$CERT_TOOL_URL"
|
curl -fsSL -o "wazuh-docker/${DEPLOYMENT}/wazuh-certs-tool.sh" "$CERT_TOOL_URL"
|
||||||
chmod +x "wazuh-docker/${DEPLOYMENT}/wazuh-certs-tool.sh"
|
chmod +x "wazuh-docker/${DEPLOYMENT}/wazuh-certs-tool.sh"
|
||||||
echo "Downloaded OK"
|
echo "Downloaded OK"
|
||||||
echo "WAZUH_VERSION=${VERSION}" >> $GITHUB_ENV
|
|
||||||
|
|
||||||
# Write config.yml directly into the deployment directory
|
# Write config.yml directly into the deployment directory
|
||||||
if [ "$DEPLOYMENT" = "single-node" ]; then
|
if [ "$DEPLOYMENT" = "single-node" ]; then
|
||||||
@@ -513,6 +506,7 @@ jobs:
|
|||||||
--ssh-key-path "${{ env.SSH_KEY }}" \
|
--ssh-key-path "${{ env.SSH_KEY }}" \
|
||||||
--ssh-username "${{ env.SSH_USER }}" \
|
--ssh-username "${{ env.SSH_USER }}" \
|
||||||
--version "${{ env.WAZUH_VERSION }}" \
|
--version "${{ env.WAZUH_VERSION }}" \
|
||||||
|
--revision "${{ env.WAZUH_REVISION }}" \
|
||||||
--log-level INFO \
|
--log-level INFO \
|
||||||
--output github \
|
--output github \
|
||||||
--output-file "test-results-docker-${DEPLOYMENT}.github"
|
--output-file "test-results-docker-${DEPLOYMENT}.github"
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
{
|
{
|
||||||
"version": "5.0.0",
|
"version": "5.0.0",
|
||||||
"stage": "beta1"
|
"stage": "beta2"
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user