name: Database Sync on: workflow_dispatch: push: branches: [main] paths: - "domains/**" - "dbgen.js" - ".github/workflows/db.yml" jobs: generate: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Set up Node.js uses: actions/setup-node@v4 with: node-version: '18' - name: Generate database run: node dbgen.js > database.json - name: Upload database artifact uses: actions/upload-artifact@v4 with: name: database path: database.json upload: needs: generate runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v4 - name: Clone database repository run: | git clone https://github.com/partofmyid/database.git db git config --global user.name ${{ secrets.GH_COMMIT_USER }} git config --global user.email ${{ secrets.GH_COMMIT_EMAIL }} env: GITHUB_TOKEN: ${{ secrets.GH_ACCESS_TOKEN }} - name: Download database artifact uses: actions/download-artifact@v4 with: name: database path: ./artifact - name: Commit and push database.json to database repository run: | mv artifact/database.json db/database.json -f cd db git add database.json git commit -m '[automated] update database.json' git push env: GITHUB_TOKEN: ${{ secrets.GH_ACCESS_TOKEN }}