[Changelog] Add entry for git fetch hookspath whitelist #1114
Workflow file for this run
This file contains hidden or 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
| --- # PR: create pull requests for pushed branches | |
| # Maintain in repo: funfair-server-template | |
| name: "PR: Create" | |
| on: | |
| push: | |
| branches-ignore: | |
| - master | |
| - main | |
| - develop | |
| - "release/**" | |
| - "hotfix/**" | |
| permissions: | |
| contents: read | |
| pull-requests: write | |
| concurrency: | |
| group: ${{github.workflow}}-${{github.ref}} | |
| cancel-in-progress: true | |
| env: | |
| HEAD_REF: ${{github.head_ref}} | |
| BASE_REF: ${{github.base_ref}} | |
| REPO: ${{github.repository}} | |
| REPO_OWNER: ${{github.repository_owner}} | |
| jobs: | |
| pull-request: | |
| runs-on: ubuntu-latest | |
| env: | |
| CREATE_DRAFT: true | |
| REPO_STATUS: private | |
| steps: | |
| - name: "Initialise Workspace" | |
| if: runner.environment == 'self-hosted' | |
| shell: bash | |
| run: sudo chown -R "$USER:$USER" "$GITHUB_WORKSPACE" | |
| - name: "Set Active Environment" | |
| shell: bash | |
| run: | | |
| { | |
| echo "ACTIVE_RUNNER_NAME=${{runner.name}}" | |
| echo "ACTIVE_HOSTNAME=$HOSTNAME" | |
| echo "ACTIVE_USER=$USER" | |
| } >> "$GITHUB_ENV" | |
| - name: "Checkout source" | |
| uses: actions/checkout@v7.0.0 | |
| with: | |
| clean: true | |
| fetch-depth: 1 | |
| - name: "Find PR For branch" | |
| id: findPr | |
| uses: ./.github/actions/find-pull-request | |
| with: | |
| branch: ${{github.ref_name}} | |
| - name: "Existing PR Information" | |
| if: steps.findPr.outputs.number != '' | |
| uses: actions/github-script@v9.0.0 | |
| env: | |
| PR_NUMBER: ${{steps.findPr.outputs.number}} | |
| with: | |
| script: | | |
| core.info(`Pull request already exists with id: ${process.env.PR_NUMBER}`); | |
| core.info(`URL: https://github.com/${process.env.REPO}/pull/${process.env.PR_NUMBER}`); | |
| - name: "Read PR Template" | |
| id: pr-template | |
| if: steps.findPr.outputs.number == '' | |
| uses: ./.github/actions/read-file | |
| with: | |
| path: ./.github/PULL_REQUEST_TEMPLATE.md | |
| - name: "Get last commit info" | |
| id: commit-info | |
| if: steps.findPr.outputs.number == '' | |
| shell: bash | |
| run: | | |
| title="$(git log -1 --pretty=%s)" | |
| echo "commit-title=$title" >> "$GITHUB_OUTPUT" | |
| - name: "Check Required Secrets" | |
| if: steps.findPr.outputs.number == '' | |
| shell: bash | |
| run: | | |
| if [ -z "${{secrets.SOURCE_PUSH_TOKEN}}" ]; then | |
| echo "::error::SOURCE_PUSH_TOKEN is required but not set" | |
| exit 1 | |
| fi | |
| - name: "Check Repo Visibility" | |
| if: env.REPO_STATUS == '' && steps.findPr.outputs.number == '' | |
| uses: ./.github/actions/check-repo-visibility | |
| id: visibility | |
| with: | |
| github-token: ${{secrets.SOURCE_PUSH_TOKEN}} | |
| - name: "Override DRAFT Flag" | |
| id: draft-flag | |
| if: |- | |
| steps.findPr.outputs.number == '' | |
| && env.REPO_OWNER != 'funfair-tech' | |
| && env.REPO_STATUS == 'private' | |
| shell: bash | |
| run: echo "create-draft=false" >> "$GITHUB_OUTPUT" | |
| - name: "Status" | |
| uses: actions/github-script@v9.0.0 | |
| env: | |
| FIND_PR_NUMBER: ${{steps.findPr.outputs.number}} | |
| with: | |
| script: | | |
| core.info(`Repo: ${process.env.REPO}`); | |
| core.info(`Owner: ${process.env.REPO_OWNER}`); | |
| core.info(`Repo Status: ${process.env.REPO_STATUS}`); | |
| core.info(`PR OK: ${process.env.FIND_PR_NUMBER === ''}`); | |
| core.info(`Owner OK: ${process.env.REPO_OWNER !== 'funfair-tech'}`); | |
| core.info(`Status OK: ${process.env.REPO_STATUS === 'private'}`); | |
| - name: "Check Required Secrets" | |
| if: steps.findPr.outputs.number == '' | |
| shell: bash | |
| run: | | |
| if [ -z "${{secrets.PR_CREATE_TOKEN}}" ]; then | |
| echo "::error::PR_CREATE_TOKEN is required but not set" | |
| exit 1 | |
| fi | |
| - name: "Create Pull Request" | |
| if: steps.findPr.outputs.number == '' | |
| id: open-pr | |
| uses: ./.github/actions/create-pull-request | |
| with: | |
| github-token: ${{secrets.PR_CREATE_TOKEN}} | |
| destination-branch: "main" | |
| assignee: ${{github.actor}} | |
| labels: "auto-pr" | |
| draft: ${{steps.draft-flag.outputs.create-draft || env.CREATE_DRAFT}} | |
| title: ${{steps.commit-info.outputs.commit-title}} | |
| body: ${{steps.pr-template.outputs.content}} | |
| - name: "New PR Details" | |
| if: steps.findPr.outputs.number == '' | |
| uses: actions/github-script@v9.0.0 | |
| env: | |
| PR_URL: ${{steps.open-pr.outputs.pr_url}} | |
| PR_NUMBER: ${{steps.open-pr.outputs.pr_number}} | |
| HAS_CHANGED_FILES: ${{steps.open-pr.outputs.has_changed_files}} | |
| with: | |
| script: | | |
| core.info(`URL: ${process.env.PR_URL}`); | |
| core.info(`PR: ${process.env.PR_NUMBER}`); | |
| core.info(`CF: ${process.env.HAS_CHANGED_FILES}`); | |
| - name: "Sync Labels" | |
| if: steps.findPr.outputs.number == '' | |
| uses: ./.github/actions/sync-labels | |
| with: | |
| github-token: ${{secrets.SOURCE_PUSH_TOKEN}} | |
| pr-number: ${{steps.open-pr.outputs.pr_number}} |