feat: log all source domains for Coolify configuration #4
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: 🚀 Release & Docker Build | |
| on: | |
| push: | |
| branches: [main] | |
| paths-ignore: | |
| - '.github/**' | |
| - '*.md' | |
| - 'docs/**' | |
| pull_request: | |
| branches: [main] | |
| paths: | |
| - 'src/**' | |
| - 'docker-compose*.yml' | |
| - '.dockerignore' | |
| workflow_dispatch: | |
| inputs: | |
| force-release: | |
| description: 'Force create release' | |
| type: boolean | |
| default: false | |
| permissions: | |
| contents: write | |
| issues: write | |
| pull-requests: write | |
| packages: write | |
| security-events: write | |
| jobs: | |
| # ============================================ | |
| # Validation Jobs | |
| # ============================================ | |
| validate-compose: | |
| name: 🔍 Validate Docker Compose | |
| uses: bauer-group/automation-templates/.github/workflows/modules-validate-compose.yml@main | |
| with: | |
| compose-files: '["docker-compose.yml", "docker-compose.traefik.yml", "docker-compose.development.yml"]' | |
| env-template: | | |
| { | |
| "STACK_NAME": "ci_test", | |
| "TIME_ZONE": "UTC", | |
| "PROXY_NETWORK": "EDGEPROXY", | |
| "SERVICE_HOSTNAME": "ip.example.com", | |
| "RATE_LIMIT": "480/minute", | |
| "MAXMIND_ACCOUNT_ID": "123456", | |
| "MAXMIND_LICENSE_KEY": "test_license_key", | |
| "GEOIP_UPDATE_FREQUENCY": "0" | |
| } | |
| validate-scripts: | |
| name: 🔍 Validate Shell Scripts | |
| uses: bauer-group/automation-templates/.github/workflows/modules-validate-shellscript.yml@main | |
| with: | |
| scan-directory: '.' | |
| severity: 'warning' | |
| # ============================================ | |
| # Release Job (only on main branch push) | |
| # ============================================ | |
| release: | |
| name: 📦 Create Semantic Release | |
| needs: [validate-compose, validate-scripts] | |
| if: | | |
| (github.event_name == 'push' || github.event_name == 'workflow_dispatch') && | |
| needs.validate-compose.result == 'success' && | |
| needs.validate-scripts.result == 'success' | |
| uses: bauer-group/automation-templates/.github/workflows/modules-semantic-release.yml@main | |
| with: | |
| target-branch: 'main' | |
| dry-run: false | |
| force-release: ${{ inputs.force-release || false }} | |
| secrets: inherit | |
| # ============================================ | |
| # Docker Build Jobs | |
| # ============================================ | |
| docker-build-release: | |
| name: 🐳 Build & Push Docker Image | |
| needs: release | |
| if: needs.release.outputs.release-created == 'true' | |
| uses: bauer-group/automation-templates/.github/workflows/docker-build.yml@main | |
| with: | |
| deploy-environment: 'production' | |
| publish-to: 'both' | |
| ghcr-image-name: 'bauer-group/CS-SimpleHTTPRedirector/simple-http-redirector' | |
| docker-image-name: 'bauergroup/simple-http-redirector' | |
| release-version: ${{ needs.release.outputs.version }} | |
| update-dockerfile-version: true | |
| auto-tags: true | |
| latest-tag: true | |
| dockerfile-path: './src/Dockerfile' | |
| docker-context: './src' | |
| platforms: 'linux/amd64' | |
| push: true | |
| security-scan: false | |
| security-fail-on: 'CRITICAL' | |
| generate-sbom: true | |
| sync-dockerhub-readme: true | |
| secrets: inherit | |
| docker-build-pr: | |
| name: 🔨 Validate Docker Build (PR) | |
| needs: [validate-compose, validate-scripts] | |
| if: | | |
| github.event_name == 'pull_request' && | |
| needs.validate-compose.result == 'success' && | |
| needs.validate-scripts.result == 'success' | |
| uses: bauer-group/automation-templates/.github/workflows/docker-build.yml@main | |
| with: | |
| publish-to: 'ghcr' | |
| ghcr-image-name: 'bauer-group/clientpublicip' | |
| auto-tags: true | |
| dockerfile-path: './src/Dockerfile' | |
| docker-context: './src' | |
| platforms: 'linux/amd64' | |
| push: false | |
| security-scan: false | |
| security-fail-on: 'CRITICAL' | |
| secrets: inherit |