Release Monitor #1468
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 Monitor | |
| on: | |
| schedule: | |
| # Check for new releases every 30 minutes | |
| - cron: '*/30 * * * *' | |
| workflow_dispatch: | |
| inputs: | |
| version: | |
| description: 'Specific version to process (optional)' | |
| required: false | |
| type: string | |
| dry_run: | |
| description: 'Dry run mode (no actual changes)' | |
| required: false | |
| type: boolean | |
| default: false | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| jobs: | |
| check-releases: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v5 | |
| with: | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| fetch-depth: 0 | |
| - name: Set up environment | |
| run: | | |
| chmod +x scripts/*.sh | |
| git config --global user.name "Kairos Release Bot" | |
| git config --global user.email "[email protected]" | |
| - name: Run release automation | |
| run: | | |
| if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then | |
| if [ -n "${{ github.event.inputs.version }}" ]; then | |
| ./scripts/release-automation.sh --version "${{ github.event.inputs.version }}" $([ "${{ github.event.inputs.dry_run }}" = "true" ] && echo "--dry-run") | |
| else | |
| ./scripts/release-automation.sh $([ "${{ github.event.inputs.dry_run }}" = "true" ] && echo "--dry-run") | |
| fi | |
| else | |
| ./scripts/release-automation.sh | |
| fi | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Notify on failure | |
| if: failure() | |
| run: | | |
| echo "Release automation failed. Check the logs for details." | |
| # Add notification logic here (Slack, email, etc.) | |