forgejo-stats/stats.yaml

59 lines
1.8 KiB
YAML
Raw Normal View History

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: Check for Skip CI in Last Commit
id: check_commit
run: |
git reset --hard
git pull
git reset --hard
commit_message=$(git log -1 --pretty=%B)
if echo "$commit_message" | grep -q "\[skip ci\]"; then
echo "Skip CI based on commit message" && exit 78;
fi
- 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 add commits.png languages.png
git commit -am "[skip ci] Update stats" || echo "No changes to commit"
git push origin HEAD -f
fi