name: Update Theme Timestamps on: push: branches: - main paths: - "themes/**" jobs: update-timestamp: runs-on: ubuntu-latest permissions: write-all steps: - name: Checkout repository uses: actions/checkout@v2 with: token: ${{ secrets.GITHUB_TOKEN }} fetch-depth: 2 - name: Get changes run: git diff --name-only HEAD^1 HEAD - name: Set up Python uses: actions/setup-python@v2 with: python-version: "3.x" - name: Detect changed themes id: get_changes run: | changed_themes=$(git diff --name-only HEAD^1 HEAD | grep '^themes/' | awk -F/ '{print $2}' | sort -u | tr '\n' ' ') echo "CHANGED_THEMES=$changed_themes" >> $GITHUB_ENV - name: Setup python modules run: | pip3 install requests - name: Setup Git run: | git config --global user.name "github-actions[bot]" git config --global user.email "github-actions[bot]@users.noreply.github.com" - name: Update theme date if: env.CHANGED_THEMES != '' run: | for theme in $CHANGED_THEMES; do python3 scripts/update_theme_date.py "themes/$theme" done - name: Commit changes if: env.CHANGED_THEMES != '' run: | for theme in $CHANGED_THEMES; do git add "themes/$theme/theme.json" done git commit -m "Update \`updated at\` field for \`$CHANGED_THEMES\`" git pull origin main --rebase --strategy-option=theirs git push origin main