Daily Evolution #46
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: Daily Evolution | |
| on: | |
| schedule: | |
| # Run daily at midnight UTC | |
| - cron: '0 0 * * *' | |
| workflow_dispatch: | |
| inputs: | |
| use_ai: | |
| description: 'Use AI-powered evolution' | |
| required: false | |
| default: true | |
| type: boolean | |
| permissions: | |
| contents: write | |
| pull-requests: write | |
| jobs: | |
| evolve: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Setup Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.11' | |
| - name: Install dependencies | |
| run: | | |
| pip install -r requirements.txt | |
| - name: Check if monkey exists | |
| id: check_monkey | |
| run: | | |
| if [ -f "monkey_data/dna.json" ]; then | |
| echo "exists=true" >> $GITHUB_OUTPUT | |
| else | |
| echo "exists=false" >> $GITHUB_OUTPUT | |
| fi | |
| - name: Initialize monkey (first time) | |
| if: steps.check_monkey.outputs.exists == 'false' | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| GITHUB_REPOSITORY: ${{ github.repository }} | |
| run: | | |
| echo "π΅ First time setup - initializing monkey..." | |
| python src/cli.py init --from-fork | |
| - name: Evolve monkey | |
| if: steps.check_monkey.outputs.exists == 'true' | |
| env: | |
| ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| GITHUB_REPOSITORY: ${{ github.repository }} | |
| run: | | |
| echo "𧬠Evolving monkey..." | |
| if [ "${{ github.event.inputs.use_ai }}" = "true" ] || [ -z "${{ github.event.inputs.use_ai }}" ]; then | |
| python src/cli.py evolve --ai | |
| else | |
| python src/cli.py evolve --strength 0.1 | |
| fi | |
| - name: Update README | |
| run: | | |
| echo "π Updating README..." | |
| python src/cli.py update-readme | |
| - name: Commit changes | |
| run: | | |
| git config --local user.email "github-actions[bot]@users.noreply.github.com" | |
| git config --local user.name "github-actions[bot]" | |
| git add monkey_data/ monkey_evolution/ README.md | |
| if git diff --staged --quiet; then | |
| echo "No changes to commit" | |
| else | |
| git commit -m "π΅ Daily evolution: $(date +%Y-%m-%d)" | |
| git push | |
| fi | |
| - name: Show monkey stats | |
| run: | | |
| echo "π Current monkey stats:" | |
| python src/cli.py show | |
| - name: Post Evolution Summary | |
| if: always() | |
| run: | | |
| # Extract stats for summary | |
| if [ -f "monkey_data/stats.json" ]; then | |
| AGE=$(python -c "import json; print(json.load(open('monkey_data/stats.json')).get('age_days', 0))") | |
| RARITY=$(python -c "import json; print(json.load(open('monkey_data/stats.json')).get('rarity_score', 0))") | |
| GEN=$(python -c "import json; print(json.load(open('monkey_data/stats.json')).get('generation', 1))") | |
| MUTATIONS=$(python -c "import json; print(json.load(open('monkey_data/stats.json')).get('total_mutations', 0))") | |
| else | |
| AGE=0 | |
| RARITY=0 | |
| GEN=1 | |
| MUTATIONS=0 | |
| fi | |
| # Write to GitHub Step Summary | |
| echo "## β¨ Evolution Complete!" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "Your monkey evolved today! π΅" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "| Stat | Value |" >> $GITHUB_STEP_SUMMARY | |
| echo "|------|-------|" >> $GITHUB_STEP_SUMMARY | |
| echo "| π Age | $AGE days |" >> $GITHUB_STEP_SUMMARY | |
| echo "| β Rarity | $RARITY/100 |" >> $GITHUB_STEP_SUMMARY | |
| echo "| 𧬠Generation | $GEN |" >> $GITHUB_STEP_SUMMARY | |
| echo "| π Mutations | $MUTATIONS |" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "---" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "### π¦ Share Your Evolution!" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "Copy this tweet:" >> $GITHUB_STEP_SUMMARY | |
| echo "\`\`\`" >> $GITHUB_STEP_SUMMARY | |
| echo "Day $AGE of my #ForkMonkey experiment! π΅" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "Rarity: $RARITY/100" >> $GITHUB_STEP_SUMMARY | |
| echo "Generation: $GEN" >> $GITHUB_STEP_SUMMARY | |
| echo "Total mutations: $MUTATIONS" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "Fork yours free: github.com/${{ github.repository }}" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "#AI #GitHub #OpenSource" >> $GITHUB_STEP_SUMMARY | |
| echo "\`\`\`" >> $GITHUB_STEP_SUMMARY | |
| echo "" >> $GITHUB_STEP_SUMMARY | |
| echo "π **View your monkey:** https://${{ github.repository_owner }}.github.io/${{ github.event.repository.name }}/" >> $GITHUB_STEP_SUMMARY |