Skip to content

Breaking: [AEA-0000] - dev container build #37

Breaking: [AEA-0000] - dev container build

Breaking: [AEA-0000] - dev container build #37

Workflow file for this run

name: pr
on:
pull_request:
branches: [main]
env:
BRANCH_NAME: ${{ github.event.pull_request.head.ref }}
jobs:
get_issue_number_and_commit_id:
runs-on: ubuntu-22.04
outputs:
issue_number: ${{ steps.get_issue_number.outputs.result }}
version: ${{ steps.get_issue_number.outputs.version_number }}
commit_id: ${{ steps.commit_id.outputs.commit_id }}
sha_short: ${{ steps.commit_id.outputs.sha_short }}
steps:
- name: Checkout code
uses: actions/checkout@v5
with:
ref: ${{ env.BRANCH_NAME }}
- uses: actions/github-script@v8
name: get issue number
id: get_issue_number
with:
script: |
if (context.issue.number) {
// Return issue number if present
return context.issue.number;
} else {
// Otherwise return issue number from commit
return (
await github.rest.repos.listPullRequestsAssociatedWithCommit({
commit_sha: context.sha,
owner: context.repo.owner,
repo: context.repo.repo,
})
).data[0].number;
}
result-encoding: string
- name: Get Commit ID
id: commit_id
run: |
# echo "commit_id=${{ github.sha }}" >> "$GITHUB_ENV"
echo "commit_id=${{ github.sha }}" >> "$GITHUB_OUTPUT"
echo "sha_short=$(git rev-parse --short HEAD)" >> "$GITHUB_OUTPUT"
dependabot-auto-approve-and-merge:
needs: quality_checks
uses: ./.github/workflows/dependabot-auto-approve-and-merge.yml
secrets:
AUTOMERGE_APP_ID: ${{ secrets.AUTOMERGE_APP_ID }}
AUTOMERGE_PEM: ${{ secrets.AUTOMERGE_PEM }}
pr_title_format_check:
uses: ./.github/workflows/pr_title_check.yml
get_asdf_version:
runs-on: ubuntu-22.04
outputs:
asdf_version: ${{ steps.asdf-version.outputs.version }}
tag_format: ${{ steps.load-config.outputs.TAG_FORMAT }}
steps:
- name: Checkout code
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
- name: Get asdf version
id: asdf-version
run: echo "version=$(awk '!/^#/ && NF {print $1; exit}' .tool-versions.asdf)" >> "$GITHUB_OUTPUT"
- name: Load config value
id: load-config
run: |
TAG_FORMAT=$(yq '.TAG_FORMAT' .github/config/settings.yml)
echo "TAG_FORMAT=$TAG_FORMAT" >> "$GITHUB_OUTPUT"
quality_checks:
uses: ./.github/workflows/quality-checks.yml
needs: [get_asdf_version, get_issue_number_and_commit_id]
with:
asdfVersion: ${{ needs.get_asdf_version.outputs.asdf_version }}
dev_container_ecr: dev-container-quality-checks
dev_container_image_tag: PR-${{ needs.get_issue_number_and_commit_id.outputs.issue_number }}-${{ needs.get_issue_number_and_commit_id.outputs.sha_short }}
secrets:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
PUSH_IMAGE_ROLE: ${{ secrets.DEV_CONTAINER_PUSH_IMAGE_ROLE }}
build_nhsd_git_secrets:
uses: ./.github/workflows/build_nhsd_git_secrets.yml
needs: [get_asdf_version, get_issue_number_and_commit_id]
with:
git_secrets_container_ecr: dev-container-git-secrets
git_secrets_container_image_tag: PR-${{ needs.get_issue_number_and_commit_id.outputs.issue_number }}-${{ needs.get_issue_number_and_commit_id.outputs.sha_short }}-nhsd-git-secrets
secrets:
PUSH_IMAGE_ROLE: ${{ secrets.DEV_CONTAINER_PUSH_IMAGE_ROLE }}
tag_release:
needs: [quality_checks, get_asdf_version]
uses: ./.github/workflows/tag-release.yml
with:
dry_run: true
asdfVersion: ${{ needs.get_asdf_version.outputs.asdf_version }}
branch_name: ${{ github.event.pull_request.head.ref }}
publish_package: false
tag_format: ${{ needs.get_asdf_version.outputs.tag_format }}
secrets: inherit