Update cache branch #100
This file contains 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: Update cache branch | |
# on: push | |
on: | |
schedule: | |
# workflow may be delayed for longer when it's on the hour | |
- cron: "20 07 * * *" | |
# allow manual triggering of workflow | |
workflow_dispatch: | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
if: (github.repository == 'astropy/repo_stats') | |
permissions: | |
contents: write | |
steps: | |
- name: Check out repo | |
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Set up Python | |
uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 | |
with: | |
python-version: 3.11 | |
- name: Display system info | |
run: | | |
python -c "import os; os.getcwd()" | |
python -c "import sys; print(sys.version)" | |
- name: Install package | |
run: | | |
pip install setuptools --upgrade | |
pip install . | |
# 10/11/2024: skipping cache save/restore as the cache isn't being properly restored, | |
# and this only takes a few minutes to run | |
# cache key syntax: https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/caching-dependencies-to-speed-up-workflows#using-contexts-to-create-cache-keys | |
# - name: Restore cached files | |
# id: cache-files-restore | |
# uses: actions/cache/restore@2cdf405574d6ef1f33a1d12acccd3ae82f47b3f2 # v4.1.0 | |
# with: | |
# path: ./cache | |
# key: ${{ runner.os }}-${{ hashFiles('~/.cache_key') }} | |
- name: Run update script | |
run: | | |
python -m repo_stats.runner -a ${{ secrets.ADS_TOKEN }} -g ${{ secrets.GIT_TOKEN }} -c "cache" | |
# caches are immutable, so create a new one (new key) each time any of the files being cached change. | |
# the cache key will be new if any files in the cache path have been changed by 'repo_stats.runner'. | |
# otherwise the cache save will 'fail' (because there's no need to update it - that's fine) | |
# - name: Update cached files | |
# id: cache-files-save | |
# uses: actions/cache/save@2cdf405574d6ef1f33a1d12acccd3ae82f47b3f2 # v4.1.0 | |
# with: | |
# path: ./cache | |
# key: ${{ runner.os }}-${{ hashFiles('./cache') }} | |
# - name: Save cache key | |
# run: | | |
# echo ${{ hashFiles('./cache') }} >> ~/.cache_key | |
- name: Create and push to orphan branch 'cache' | |
run: | | |
git remote set-url origin https://git:${GITHUB_TOKEN}@github.com/${GITHUB_REPOSITORY}.git | |
git config --global user.name "github-actions-bot" | |
git config --global user.email "[email protected]" | |
git checkout --orphan cache | |
git rm -rf . | |
git add cache | |
git commit -m "update cache" | |
git push -f --set-upstream origin cache | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |