Skip to content

Registry Auto Deploy #250

Registry Auto Deploy

Registry Auto Deploy #250

Workflow file for this run

name: Registry Auto Deploy
on:
schedule:
- cron: "*/15 * * * *"
workflow_dispatch:
permissions:
contents: write
pages: write
id-token: write
jobs:
update-submodule:
runs-on: ubuntu-latest
outputs:
changed: ${{ steps.changecheck.outputs.changed }}
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
token: ${{ secrets.GH_TOKEN }}
- name: Update registry submodule
id: changecheck
run: |
git -C src/registry fetch origin main
git -C src/registry reset --hard origin/main
if [[ -n "$(git status --porcelain)" ]]; then
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add src/registry
git commit -m "Auto-update registry"
git push https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.repository }}.git HEAD:main
echo "changed=true" >> $GITHUB_OUTPUT
else
echo "changed=false" >> $GITHUB_OUTPUT
fi
build:
needs: update-submodule
if: needs.update-submodule.outputs.changed == 'true'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Setup Bun
uses: oven-sh/setup-bun@v1
- name: Install dependencies
run: bun install
- name: Build project
run: bun run build
- name: Upload Pages Artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./dist
name: github-pages
retention-days: 1
deploy:
needs: build
if: needs.update-submodule.outputs.changed == 'true'
runs-on: ubuntu-latest
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4