Files
openshift-resource-governance/.github/workflows/s2i-deploy.yml
andersonid 2bb99839ba Add S2I GitHub Actions automation
- Add s2i-deploy.yml workflow for automatic S2I builds
- Update deploy-s2i.sh with --github option for GitHub Actions
- Generic webhook integration for automatic builds
- Maintain existing manual S2I deployment option
2025-10-04 10:00:54 -03:00

77 lines
2.7 KiB
YAML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
name: S2I Deploy (Automatic)
on:
push:
branches: [main]
workflow_dispatch:
inputs:
openshift_server:
description: 'OpenShift Server URL'
required: true
default: 'https://oru.apps.shrocp4upi419ovn.lab.upshift.rdu2.redhat.com'
namespace:
description: 'Target Namespace'
required: true
default: 'resource-governance'
env:
APP_NAME: resource-governance
NAMESPACE: resource-governance
jobs:
s2i-deploy:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Trigger S2I Build via Webhook
run: |
echo "🚀 Triggering S2I build via Generic Webhook..."
echo "📦 Repository: ${{ github.repository }}"
echo "🔗 Commit: ${{ github.sha }}"
echo "🌿 Branch: ${{ github.ref_name }}"
# URL do webhook genérico do OpenShift
WEBHOOK_URL="https://${{ inputs.openshift_server || 'oru.apps.shrocp4upi419ovn.lab.upshift.rdu2.redhat.com' }}/apis/build.openshift.io/v1/namespaces/${{ inputs.namespace || env.NAMESPACE }}/buildconfigs/${{ env.APP_NAME }}/webhooks/pqWLANKULBy1p6aTbPFa/generic"
echo "🔗 Webhook URL: $WEBHOOK_URL"
# Disparar build S2I
curl -X POST "$WEBHOOK_URL" \
-H "Content-Type: application/json" \
-d '{
"repository": {
"full_name": "${{ github.repository }}",
"clone_url": "${{ github.server_url }}/${{ github.repository }}.git"
},
"ref": "${{ github.ref }}",
"head_commit": {
"id": "${{ github.sha }}",
"message": "${{ github.event.head_commit.message }}",
"author": {
"name": "${{ github.event.head_commit.author.name }}",
"email": "${{ github.event.head_commit.author.email }}"
}
},
"pusher": {
"name": "${{ github.actor }}"
}
}' \
--fail-with-body
echo "✅ S2I build triggered successfully!"
- name: Wait for build completion (optional)
if: github.event_name == 'workflow_dispatch'
run: |
echo "⏳ Waiting for S2I build to complete..."
echo " Check OpenShift console for build progress:"
echo " oc get builds -n ${{ inputs.namespace || env.NAMESPACE }}"
echo " oc logs -f buildconfig/${{ env.APP_NAME }} -n ${{ inputs.namespace || env.NAMESPACE }}"
echo ""
echo "🎯 Build will complete automatically in the background"
echo "📱 You can monitor progress in the OpenShift console"