diff --git a/.github/workflows/_update-status.yml b/.github/workflows/_update-status.yml new file mode 100644 index 00000000..1097374d --- /dev/null +++ b/.github/workflows/_update-status.yml @@ -0,0 +1,53 @@ +name: _update-status +on: + workflow_dispatch: + schedule: + - cron: '0 9 * * *' +jobs: + update: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - run: echo "BRANCH_NAME=$(date +'bot/auto-update-%s')" >> $GITHUB_OUTPUT + id: create-branch-name + - run: git config user.name 'iptv-bot[bot]' + - run: git config user.email '84861620+iptv-bot[bot]@users.noreply.github.com' + - run: git checkout -b ${{ steps.create-branch-name.outputs.BRANCH_NAME }} + - uses: actions/setup-node@v3 + if: ${{ !env.ACT }} + with: + node-version: 16 + cache: 'npm' + - run: npm install + - run: npm run status:update + - name: Commit Changes + if: ${{ !env.ACT }} + run: | + git add STATUS.md + git commit -m "[Bot] Update STATUS.md" + git status + git push -u origin ${{ steps.create-branch-name.outputs.BRANCH_NAME }} + - uses: tibdex/github-app-token@v1 + if: ${{ !env.ACT }} + id: create-app-token + with: + app_id: ${{ secrets.APP_ID }} + private_key: ${{ secrets.APP_PRIVATE_KEY }} + - uses: repo-sync/pull-request@v2 + if: ${{ !env.ACT && github.ref == 'refs/heads/master' }} + id: pull-request + with: + github_token: ${{ steps.create-app-token.outputs.token }} + source_branch: ${{ steps.create-branch-name.outputs.BRANCH_NAME }} + destination_branch: 'master' + pr_title: '[Bot] Update STATUS.md' + pr_body: | + This pull request is created via [update-status][1] workflow. + + [1]: https://github.com/iptv-org/epg/actions/runs/${{ github.run_id }} + - uses: juliangruber/merge-pull-request-action@v1 + if: ${{ !env.ACT && github.ref == 'refs/heads/master' }} + with: + github-token: ${{ secrets.PAT }} + number: ${{ steps.pull-request.outputs.pr_number }} + method: squash