Update pr-on-branch-push.yml #42
Workflow file for this run
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: Pull Request on Push to branch | |
on: | |
push: | |
branches-ignore: | |
- main | |
- dev | |
jobs: | |
create-pull-request: | |
runs-on: ubuntu-latest | |
permissions: | |
issues: read | |
contents: read | |
pull-requests: write | |
steps: | |
- name: Check for branch changes | |
id: check_branch_changes | |
run: | | |
if git diff --quiet ${{ github.event.before }} ${{ github.sha }}; then | |
echo "No changes in the branch. Exiting workflow." | |
exit 0 | |
fi | |
if: github.event_name == 'push' && github.ref_type == 'branch' | |
- name: Check out repository code | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
ref: dev | |
- name: Create PR | |
run: | | |
echo "Get the list of PR for that branch that are open" | |
gh pr list -H ${{ github.ref_name}} -s "open" | |
PR_COUNT=$(gh pr list -H ${{ github.ref_name}} -s "open" | wc -l) | |
echo $PR_COUNT | |
echo "Checking if there are any PR already" | |
if [[ $PR_COUNT -gt 0 ]]; then | |
echo "Indeed there is at least one PR for this branch" | |
else | |
echo "There is no PR for this branch so we create one" | |
gh pr create -B $BASE_BRANCH -H $BRANCH_TO_MERGE --title "$PR_TITLE" --body "$PR_BODY" | |
fi | |
env: | |
GITHUB_TOKEN: ${{ secrets.GIT_WORKFLOW_TEST }} | |
PR_TITLE: "Autocreated PR: ${{ github.ref_name}}" | |
PR_BODY: "Created by Github action" | |
BASE_BRANCH: "dev" | |
BRANCH_TO_MERGE: ${{ github.ref}} | |
- name: Get PR number | |
id: get_pr_number | |
run: | | |
PR_NUMBER=$(gh pr view ${{ github.ref_name }} --json number --jq '.number') | |
echo "PR Number: $PR_NUMBER" | |
echo "::set-output name=pr_number::$PR_NUMBER" | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: Get the pull request data | |
run: | | |
gh api \ | |
-H "Accept: application/vnd.github+json" \ | |
-H "X-GitHub-Api-Version: 2022-11-28" \ | |
/repos/ines-gimeno-molina/workflows-test/pulls/$PR_NUMBER | jq -r '.issue_url' | |
env: | |
PR_NUMBER: ${{ steps.get_pr_number.outputs.pr_number}} | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |