main #1010
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: main | |
on: | |
schedule: | |
- cron: "0 */4 * * *" | |
workflow_dispatch: | |
repository_dispatch: | |
types: [pypi_release] | |
permissions: | |
contents: write | |
jobs: | |
build: | |
name: main | |
runs-on: ubuntu-latest | |
steps: | |
- if: ${{ startsWith(github.event_name, 'repository_dispatch') }} | |
run: sleep 30 | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: "3.12" | |
- name: download uv | |
run: curl -LsSf https://astral.sh/uv/install.sh | sh | |
- run: uv pip install --system -r requirements-dev.txt | |
- name: set git config | |
run: | | |
git config user.name "$GITHUB_ACTOR" | |
git config user.email "$GITHUB_ACTOR@users.noreply.github.com" | |
- run: python mirror.py | |
- name: check for unpushed commits | |
id: check_unpushed | |
run: | | |
UNPUSHED_COMMITS=$(git log origin/main..HEAD) | |
if [ -z "$UNPUSHED_COMMITS" ]; then | |
echo "No unpushed commits found." | |
echo "changes_exist=false" >> $GITHUB_ENV | |
else | |
echo "Unpushed commits found." | |
echo "changes_exist=true" >> $GITHUB_ENV | |
fi | |
- name: push changes if they exist | |
if: env.changes_exist == 'true' | |
run: | | |
git push origin HEAD:refs/heads/main | |
git push origin HEAD:refs/heads/main --tags | |
- name: create release on new tag if new changes exist | |
if: env.changes_exist == 'true' | |
run: | | |
TAG_NAME=$(git describe --tags $(git rev-list --tags --max-count=1)) | |
echo $TAG_NAME | |
gh release create "$TAG_NAME" \ | |
--title "$TAG_NAME" \ | |
--notes "See: https://github.com/gauge-sh/tach/releases/tag/$TAG_NAME" \ | |
--latest | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} |