diff --git a/.github/workflows/copy-content.yml b/.github/workflows/copy-content.yml index d6d1fedc..fcaaa81d 100644 --- a/.github/workflows/copy-content.yml +++ b/.github/workflows/copy-content.yml @@ -34,11 +34,13 @@ jobs: env: GH_TOKEN: ${{ secrets.PAT }} run: echo "branch_exists=$(gh api repos/${{ inputs.repo }}/branches/${{ inputs.branch }} --jq '.name' | wc -l | xargs)" >> $GITHUB_OUTPUT + - name: Check if open PR exists id: check_pr env: GH_TOKEN: ${{ secrets.PAT }} run: echo "pr_exists=$(gh pr list -R ${{ inputs.repo }} -H ${{ inputs.branch }} --json number -q length)" >> $GITHUB_OUTPUT + - name: Checkout source repo uses: actions/checkout@v4 with: @@ -60,61 +62,45 @@ jobs: path: "destination" repository: ${{ inputs.repo }} token: ${{ secrets.PAT }} + - name: Create branch in destination repo if: ${{ steps.check_branch.outputs.branch_exists == 0 }} run: | cd destination git checkout -b ${{ inputs.branch }} - - run: echo ${{inputs.prerun}} - name: Run pre-run command if: inputs.prerun != '' run: | cd destination eval ${{ inputs.prerun }} + - name: Get current date id: date - run: echo "date=$(date +%Y-%m-%d)" >> $GITHUB_OUTPUT + run: echo "date=$(date +'%d %b %Y, %H:%M:%S')" >> $GITHUB_OUTPUT - name: Copy files run: cp -r source/${{ inputs.source_dir }}/* destination/${{ inputs.destination_dir }} - - name: Commit changes + - name: Stage destination changes run: | cd destination git config --global user.name "zeta-icons-bot" git config --global user.email "zeta-icons-bot@github.com" git add -A + + - name: Check if there are changes + id: changed + run: | + cd destination + git diff --quiet . || echo "changed=true" >> $GITHUB_OUTPUT + + - name: Commit and push changes + if: steps.changed.outputs.changed == 'true' + run: | git commit -m "deps(automated): ${{inputs.commit_msg}} ${{ steps.date.outputs.date }}" git push --set-upstream origin ${{inputs.branch}} -f - # - name: Push files if branch exists - # uses: dmnemec/copy_file_to_another_repo_action@main - # if: ${{ steps.check_branch.outputs.branch_exists != 0 }} - # env: - # API_TOKEN_GITHUB: ${{ secrets.PAT }} - # with: - # source_file: ${{ inputs.source_dir }} - # destination_repo: ${{ inputs.repo }} - # destination_folder: ${{ inputs.destination_dir }} - # destination_branch: ${{ inputs.branch }} - # user_email: "zeta-tokens-bot@github.com" - # user_name: "Zeta Tokens Bot" - # commit_message: "deps(automated): ${{inputs.commit_msg}} ${{ steps.date.outputs.date }}" - # - name: Push files if branch does not exist - # uses: dmnemec/copy_file_to_another_repo_action@main - # if: ${{ steps.check_branch.outputs.branch_exists == 0 }} - # env: - # API_TOKEN_GITHUB: ${{ secrets.PAT }} - # with: - # source_file: ${{ inputs.source_dir }} - # destination_repo: ${{ inputs.repo }} - # destination_folder: ${{ inputs.destination_dir }} - # destination_branch_create: ${{ inputs.branch }} - # user_email: "zeta-tokens-bot@github.com" - # user_name: "Zeta Tokens Bot" - # commit_message: "deps(automated): ${{inputs.commit_msg}} ${{ steps.date.outputs.date }}" - - name: Open PR uses: thecanadianroot/open-pull-request-action@v1.1.1 if: ${{ steps.check_pr.outputs.pr_exists == 0 }} @@ -126,6 +112,7 @@ jobs: labels: tokens body: "${{inputs.commit_msg}} ${{ steps.date.outputs.date }}" repository: ${{ inputs.repo }} + - name: Add comment to existing PR env: GH_TOKEN: ${{ secrets.PAT }}