on: push: branches: - main paths-ignore: - "commits.png" - "languages.png" schedule: - cron: "0 */8 * * *" jobs: stats: runs-on: ubuntu-latest container: catthehacker/ubuntu:act-latest steps: - uses: actions/checkout@v4 with: token: ${{ secrets.GIT_TOKEN }} - name: Set up repository id: check_commit run: | git reset --hard git pull git reset --hard - uses: actions/setup-python@v5 with: python-version: "3.10" cache: "pip" - name: Install dependencies run: | pip install -r requirements.txt - name: Generate statistics run: | python3 stats.py - name: Stage the changes run: | git add languages.png commits.png - name: Commit and Push Changes run: | if git diff --staged --quiet; then echo "No changes to commit." else git config --local user.email "stats@localhost" git config --local user.name "Stats CI/CD" git commit -am "[skip ci] Update stats" || echo "No changes to commit" git push origin HEAD -f fi