# Continuous Integration Workflow # This workflow builds and pushes Docker images to your private registry # Trigger: Push to dev branch or manual dispatch name: CI - Build and Push on: push: branches: - dev workflow_dispatch: inputs: image_tag: description: 'Docker image tag (e.g., latest, v1.0.0)' required: false default: 'latest' type: string env: CONTAINER_REGISTRY_URL: ${{ secrets.CONTAINER_REGISTRY_URL }} CONTAINER_REGISTRY_USERNAME: ${{ secrets.CONTAINER_REGISTRY_USERNAME }} CONTAINER_REGISTRY_NAMESPACE: ${{ secrets.CONTAINER_REGISTRY_NAMESPACE }} CONTAINER_REGISTRY_PASSWORD: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }} CONTAINER_IMAGE_NAME: ${{ secrets.CONTAINER_IMAGE_NAME }} CONTAINER_IMAGE_TAG: ${{ inputs.image_tag || 'latest' }} jobs: build-and-push: name: Build and Push Docker Image runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Make CI script executable run: chmod +x script/ci.sh - name: Build Docker image run: ./script/ci.sh build - name: Push Docker image run: ./script/ci.sh push - name: Summary run: | echo "### :rocket: Build Complete!" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY echo "**Image:** \`${CONTAINER_REGISTRY_URL}/${CONTAINER_REGISTRY_NAMESPACE}/${CONTAINER_IMAGE_NAME}:${CONTAINER_IMAGE_TAG}\`" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY echo "**Registry:** ${CONTAINER_REGISTRY_URL}" >> $GITHUB_STEP_SUMMARY echo "**Tag:** ${CONTAINER_IMAGE_TAG}" >> $GITHUB_STEP_SUMMARY