name: "Create release PR" on: workflow_dispatch: inputs: release: description: "Define release version (ex: v1, v2, v3)" required: true jobs: createPullRequest: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - name: Check if remote branch exists env: BRANCH: releases/${{ github.event.inputs.release }} run: | echo "##[set-output name=exists;]$(echo $(if [[ -z $(git ls-remote --heads origin ${BRANCH}) ]]; then echo false; else echo true; fi;))" id: extract-branch-status # these two only need to occur if the branch exists - name: Checkout proper branch if: ${{ steps.extract-branch-status.outputs.exists == 'true' }} env: BRANCH: releases/${{ github.event.inputs.release }} run: git checkout ${BRANCH} - name: Reset promotion branch if: ${{ steps.extract-branch-status.outputs.exists == 'true' }} run: | git fetch origin main:main git reset --hard main - name: Install packages run: | rm -rf node_modules/ npm install --no-bin-links npm run build - name: Remove node_modules from gitignore run: | sed -i '/node_modules/d' ./.gitignore - name: Create branch uses: peterjgrainger/action-create-branch@v2.0.1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: branch: releases/${{ github.event.inputs.release }} - name: Create pull request uses: peter-evans/create-pull-request@v3 with: token: ${{ secrets.GITHUB_TOKEN }} commit-message: Add node modules and new code for release title: ${{ github.event.inputs.release }} new release base: releases/${{ github.event.inputs.release }} branch: create-release delete-branch: true