Skip to content

[ODS-6593] Switch build setup for next release v7.4 #2411

[ODS-6593] Switch build setup for next release v7.4

[ODS-6593] Switch build setup for next release v7.4 #2411

name: Trgr InitDev workflows in Implementation repo
on:
pull_request:
branches: [main, 'b-v*-patch*','feature-*']
workflow_dispatch:
permissions: read-all
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
env:
EDFI_ODS_IMP_TOKEN: ${{ secrets.REPO_DISPATCH_TOKEN }}
REPOSITORY_OWNER: ${{ GITHUB.REPOSITORY_OWNER }}
BASE_REF: ${{ GITHUB.BASE_REF }}
HEAD_REF: ${{ GITHUB.HEAD_REF }}
REF_NAME: ${{ GITHUB.REF_NAME }}
REPOSITORY_DISPATCH_BRANCH: ${{ github.event.client_payload.branch }}
jobs:
build:
runs-on: ubuntu-24.04
steps:
- name: Check for Repo Dispatch Token
if: ${{ env.REPOSITORY_OWNER == 'Ed-Fi-Alliance-OSS' && env.EDFI_ODS_IMP_TOKEN == '' }}
run: |
echo "::error::Missing GitHub Token"
exit 1
- name: Checkout Ed-Fi-ODS
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4
with:
repository: Ed-Fi-Alliance-OSS/Ed-Fi-ODS
path: Ed-Fi-ODS/
- name: Is pull request branch exists in Ed-Fi-ODS
working-directory: ./Ed-Fi-ODS/
shell: pwsh
run: |
.\build.githubactions.ps1 CheckoutBranch -RelativeRepoPath "."
- name: Checkout Ed-Fi-ODS-Implementation
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4
with:
repository: Ed-Fi-Alliance-OSS/Ed-Fi-ODS-Implementation
path: Ed-Fi-ODS-Implementation/
- name: Is pull request branch exists in Ed-Fi-ODS-Implementation
working-directory: ./Ed-Fi-ODS/
shell: pwsh
run: |
.\build.githubactions.ps1 CheckoutBranch -RelativeRepoPath "../Ed-Fi-ODS-Implementation"
- name: Set Current Branch Environment Variable
shell: pwsh
run: |
$current_branch = '${{env.REF_NAME}}'
if ($current_branch -like "*/merge"){
$current_branch = '${{env.HEAD_REF}}'
}
Write-Host "Current Branch: $current_branch"
echo "current_branch=$current_branch" >> $Env:GITHUB_ENV
- name: Trigger workflows in the matching PR in the Implementation repository
working-directory: ./Ed-Fi-ODS/
shell: pwsh
run: |
.\build.githubactions.ps1 -Command TriggerImplementationRepositoryWorkflows
- name: Dispatch InitDev , Multitenancy workflow
if: env.EXIT_STEP != 'true'
uses: Codex-/return-dispatch@03a7fcd260cce601805567f86c892bd06d2719e1 #v1.12.0
id: return_dispatch_InitDevMultitenancy
with:
token: ${{ env.EDFI_ODS_IMP_TOKEN }}
ref: ${{ env.current_branch }}
repo: Ed-Fi-ODS-Implementation
owner: ${{ github.repository_owner }}
workflow: InitDev, MultiTenancy.yml
workflow_timeout_seconds: 4800
- name: Dispatch InitDev, Smoke Tests workflow
if: env.EXIT_STEP != 'true'
uses: Codex-/return-dispatch@03a7fcd260cce601805567f86c892bd06d2719e1 #v1.12.0
id: return_dispatch_InitDevSmokeTests
with:
token: ${{ env.EDFI_ODS_IMP_TOKEN }}
ref: ${{ env.current_branch }}
repo: Ed-Fi-ODS-Implementation
owner: ${{ github.repository_owner }}
workflow: InitDev, Smoke Tests.yml
workflow_timeout_seconds: 4800
- name: Dispatch InitDev, Unit tests, Integration tests, Package workflow
if: env.EXIT_STEP != 'true'
uses: Codex-/return-dispatch@03a7fcd260cce601805567f86c892bd06d2719e1 #v1.12.0
id: return_dispatch_InitDevUnittestsIntegrationtestsPackage
with:
token: ${{ env.EDFI_ODS_IMP_TOKEN }}
ref: ${{ env.current_branch }}
repo: Ed-Fi-ODS-Implementation
owner: ${{ github.repository_owner }}
workflow: InitDev, Unit tests, Integration tests, Package.yml
workflow_timeout_seconds: 4800
- name: Dispatch InitDev Postgres, Multitenancy workflow
if: env.EXIT_STEP != 'true'
uses: Codex-/return-dispatch@03a7fcd260cce601805567f86c892bd06d2719e1 #v1.12.0
id: return_dispatch_InitDevPostgresMultitenancy
with:
token: ${{ env.EDFI_ODS_IMP_TOKEN }}
ref: ${{ env.current_branch }}
repo: Ed-Fi-ODS-Implementation
owner: ${{ github.repository_owner }}
workflow: InitDev Postgres, MultiTenancy.yml
workflow_timeout_seconds: 4800
- name: Dispatch InitDev Postgres, Smoke Tests workflow
if: env.EXIT_STEP != 'true'
uses: Codex-/return-dispatch@03a7fcd260cce601805567f86c892bd06d2719e1 #v1.12.0
id: return_dispatch_InitDevPostgresSmokeTests
with:
token: ${{ env.EDFI_ODS_IMP_TOKEN }}
ref: ${{ env.current_branch }}
repo: Ed-Fi-ODS-Implementation
owner: ${{ github.repository_owner }}
workflow: InitDev Postgres, Smoke Tests.yml
workflow_timeout_seconds: 4800
- name: Dispatch InitDev Postgres, Unit tests, Integration tests workflow
if: env.EXIT_STEP != 'true'
uses: Codex-/return-dispatch@03a7fcd260cce601805567f86c892bd06d2719e1 #v1.12.0
id: return_dispatch_InitDevPostgresUnittestsIntegrationtests
with:
token: ${{ env.EDFI_ODS_IMP_TOKEN }}
ref: ${{ env.current_branch }}
repo: Ed-Fi-ODS-Implementation
owner: ${{ github.repository_owner }}
workflow: InitDev Postgres, Unit tests, Integration tests.yml
workflow_timeout_seconds: 4800
- name: Await to complete the execution for InitDev , MultiTenancy RunID ${{ steps.return_dispatch_InitDevMultitenancy.outputs.run_id }}
if: env.EXIT_STEP != 'true'
uses: Codex-/await-remote-run@d4a6dbf57245924ff4f23e0db929b8e3ef65486b #v1.12.2
with:
token: ${{ env.EDFI_ODS_IMP_TOKEN }}
repo: Ed-Fi-ODS-Implementation
owner: ${{ github.repository_owner }}
run_id: ${{ steps.return_dispatch_InitDevMultitenancy.outputs.run_id }}
run_timeout_seconds: 4800
poll_interval_ms: 5000
- name: Await to complete the execution for InitDev, Smoke Tests RunID ${{ steps.return_dispatch_InitDevSmokeTests.outputs.run_id }}
if: env.EXIT_STEP != 'true'
uses: Codex-/await-remote-run@d4a6dbf57245924ff4f23e0db929b8e3ef65486b #v1.12.2
with:
token: ${{ env.EDFI_ODS_IMP_TOKEN }}
repo: Ed-Fi-ODS-Implementation
owner: ${{ github.repository_owner }}
run_id: ${{ steps.return_dispatch_InitDevSmokeTests.outputs.run_id }}
run_timeout_seconds: 4800
poll_interval_ms: 5000
- name: Await to complete the execution for InitDev, Unit tests, Integration tests, Package RunID ${{ steps.return_dispatch_InitDevUnittestsIntegrationtestsPackage.outputs.run_id }}
if: env.EXIT_STEP != 'true'
uses: Codex-/await-remote-run@d4a6dbf57245924ff4f23e0db929b8e3ef65486b #v1.12.2
with:
token: ${{ env.EDFI_ODS_IMP_TOKEN }}
repo: Ed-Fi-ODS-Implementation
owner: ${{ github.repository_owner }}
run_id: ${{ steps.return_dispatch_InitDevUnittestsIntegrationtestsPackage.outputs.run_id }}
run_timeout_seconds: 4800
poll_interval_ms: 5000
- name: Await to complete the execution for InitDev Postgres, MultiTenancy RunID ${{ steps.return_dispatch_InitDevPostgresMultitenancy.outputs.run_id }}
if: env.EXIT_STEP != 'true'
uses: Codex-/await-remote-run@d4a6dbf57245924ff4f23e0db929b8e3ef65486b #v1.12.2
with:
token: ${{ env.EDFI_ODS_IMP_TOKEN }}
repo: Ed-Fi-ODS-Implementation
owner: ${{ github.repository_owner }}
run_id: ${{ steps.return_dispatch_InitDevPostgresMultitenancy.outputs.run_id }}
run_timeout_seconds: 4800
poll_interval_ms: 5000
- name: Await to complete the execution for InitDev Postgres, Smoke Tests RunID ${{ steps.return_dispatch_InitDevPostgresSmokeTests.outputs.run_id }}
if: env.EXIT_STEP != 'true'
uses: Codex-/await-remote-run@d4a6dbf57245924ff4f23e0db929b8e3ef65486b #v1.12.2
with:
token: ${{ env.EDFI_ODS_IMP_TOKEN }}
repo: Ed-Fi-ODS-Implementation
owner: ${{ github.repository_owner }}
run_id: ${{ steps.return_dispatch_InitDevPostgresSmokeTests.outputs.run_id }}
run_timeout_seconds: 4800
poll_interval_ms: 5000
- name: Await to complete the execution for InitDev Postgres, Unit tests, Integration tests RunID ${{ steps.return_dispatch_InitDevPostgresUnittestsIntegrationtests.outputs.run_id }}
if: env.EXIT_STEP != 'true'
uses: Codex-/await-remote-run@d4a6dbf57245924ff4f23e0db929b8e3ef65486b #v1.12.2
with:
token: ${{ env.EDFI_ODS_IMP_TOKEN }}
repo: Ed-Fi-ODS-Implementation
owner: ${{ github.repository_owner }}
run_id: ${{ steps.return_dispatch_InitDevPostgresUnittestsIntegrationtests.outputs.run_id }}
run_timeout_seconds: 4800
poll_interval_ms: 5000