diff --git a/.github/workflows/Procedure_push_docker_images.yml b/.github/workflows/Procedure_push_docker_images.yml index 9dfe282c..34139c3d 100644 --- a/.github/workflows/Procedure_push_docker_images.yml +++ b/.github/workflows/Procedure_push_docker_images.yml @@ -218,19 +218,48 @@ jobs: if: ${{ inputs.dev == true }} run: | source ${{ env.WORKFLOW_VENV }}/bin/activate - MANAGER_REVISION=$(echo "$COMMIT_LIST" | jq -r '.[0]') - DASHBOARD_REVISION=$(echo "$COMMIT_LIST" | jq -r '.[1]') - INDEXER_REVISION=$(echo "$COMMIT_LIST" | jq -r '.[2]') - AGENT_REVISION=$(echo "$COMMIT_LIST" | jq -r '.[3]') + WAZUH_COMPONENTS='${{ needs.setup.outputs.WAZUH_COMPONENTS }}' + COMMIT_LIST='${{ needs.setup.outputs.COMMIT_LIST }}' - python ${{ env.GENERATE_PRESIGNED_URLS_SCRIPT_PATH }} \ - --process ${{ env.PRESIGNED_URLS_SCRIPT_PROCESS }} \ - --wazuh-version ${{ env.WAZUH_VERSION }} \ - --aws-s3-bucket-dev ${{ env.LOCAL_AWS_S3_BUCKET_DEV }} \ - --indexer-revision $INDEXER_REVISION \ - --manager-revision $MANAGER_REVISION \ - --dashboard-revision $DASHBOARD_REVISION \ - --agent-revision $AGENT_REVISION + # Parse components and their revisions + COMPONENTS=($(echo "$WAZUH_COMPONENTS" | jq -r '.[]')) + REVISIONS=($(echo "$COMMIT_LIST" | jq -r '.[]')) + + # Map revisions to component names + for i in "${!COMPONENTS[@]}"; do + case "${COMPONENTS[$i]}" in + wazuh-manager) + MANAGER_REVISION="${REVISIONS[$i]}" + ;; + wazuh-dashboard) + DASHBOARD_REVISION="${REVISIONS[$i]}" + ;; + wazuh-indexer) + INDEXER_REVISION="${REVISIONS[$i]}" + ;; + wazuh-agent) + AGENT_REVISION="${REVISIONS[$i]}" + ;; + esac + done + + # Build dynamic arguments based on available components + SCRIPT_ARGS="--process ${{ env.PRESIGNED_URLS_SCRIPT_PROCESS }} --wazuh-version ${{ env.WAZUH_VERSION }} --aws-s3-bucket-dev ${{ env.LOCAL_AWS_S3_BUCKET_DEV }}" + + if [[ ! -z "$MANAGER_REVISION" ]]; then + SCRIPT_ARGS="$SCRIPT_ARGS --manager-revision $MANAGER_REVISION" + fi + if [[ ! -z "$DASHBOARD_REVISION" ]]; then + SCRIPT_ARGS="$SCRIPT_ARGS --dashboard-revision $DASHBOARD_REVISION" + fi + if [[ ! -z "$INDEXER_REVISION" ]]; then + SCRIPT_ARGS="$SCRIPT_ARGS --indexer-revision $INDEXER_REVISION" + fi + if [[ ! -z "$AGENT_REVISION" ]]; then + SCRIPT_ARGS="$SCRIPT_ARGS --agent-revision $AGENT_REVISION" + fi + + python ${{ env.GENERATE_PRESIGNED_URLS_SCRIPT_PATH }} $SCRIPT_ARGS - name: Save presigned URLs file to artifact if: ${{ inputs.dev == true }}