build TPDM Populated Template sqlServer #28
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: build TPDM Populated Template sqlServer | |
on: | |
workflow_dispatch: | |
inputs: | |
ODS_version: | |
type: string | |
required: false | |
description: "ODS_version: Ed-Fi ODS/API version. Default: 7.2" | |
tpdm_version: | |
type: string | |
required: false | |
description: "tpdm_version: TPDM version as noted in the Community Extension built nuget package artifact. Default: 1.2.0" | |
Ed-Fi-ODS-ref: | |
type: string | |
required: false | |
description: "Ed-Fi-ODS-ref: checks out the specified branch/tag of the Ed-Fi-ODS repo. Default branch if not specified." | |
Ed-Fi-ODS-Implementation-ref: | |
type: string | |
required: false | |
description: "Ed-Fi-ODS-Implementation-ref: checks out the specified branch/tag of the Ed-Fi-ODS-Implementation repo. Default branch if not specified." | |
env: | |
tpdm_version: "1.2.0" | |
version_suite: "3" | |
ODS_version: "7.2" | |
data_standard: "5.1.0" | |
ods_ref: "" | |
ods_ref_implementation: "" | |
jobs: | |
build: | |
runs-on: windows-latest | |
steps: | |
- name: Set env variables | |
shell: pwsh | |
run: | | |
$version_patch = ${{ format('{0}{1}', github.run_number , github.run_attempt) }} | |
if ("${{ github.event.inputs.tpdm_version }}" -ne "") { | |
echo "tpdm_version=${{ github.event.inputs.tpdm_version }}" >> $env:GITHUB_ENV | |
} | |
if ("${{ github.event.inputs.Ed-Fi-ODS-ref }}" -ne "") { | |
echo "ods_ref=${{ github.event.inputs.Ed-Fi-ODS-ref }}" >> $env:GITHUB_ENV | |
} | |
if ("${{ github.event.inputs.Ed-Fi-ODS-Implementation-ref }}" -ne "") { | |
echo "ods_ref_implementation=${{ github.event.inputs.Ed-Fi-ODS-Implementation-ref }}" >> $env:GITHUB_ENV | |
} | |
if ("${{ github.event.inputs.ODS_version }}" -ne "") { | |
echo "ODS_version=${{ github.event.inputs.ODS_version }}" >> $env:GITHUB_ENV | |
} | |
echo ("version_core=${{ env.ODS_version }}." + "$version_patch") >> $env:GITHUB_ENV | |
echo "temp=${{ github.workspace }}\temp" >> $env:GITHUB_ENV | |
- name: Git long filename support | |
run: | | |
git config --system core.longpaths true | |
- name: Ed-Fi-ODS | |
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c | |
with: | |
repository: Ed-Fi-Alliance-OSS/Ed-Fi-ODS | |
ref: ${{ env.ods_ref }} | |
path: Ed-Fi-ODS | |
- name: Ed-Fi-ODS-Implementation | |
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c | |
with: | |
repository: Ed-Fi-Alliance-OSS/Ed-Fi-ODS-Implementation | |
ref: ${{ env.ods_ref_implementation }} | |
path: Ed-Fi-ODS-Implementation | |
- name: Ed-Fi-Extension | |
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c | |
with: | |
path: Ed-Fi-TPDM-Extension | |
- name: Replace package name and version in packages config | |
run: | | |
(Get-Content configuration.packages.json -Raw) ` | |
-replace '(?ism)(EdFi\.Suite3\.Ods\.Extensions\.TPDM)\.Core\.({ExtensionVersion}\.Standard\.{StandardVersion})(.*?)(PackageVersion\"\:\s+\").*?(\"\,)' ` | |
, '${1}.Community.$2$5' ` | |
| Out-File configuration.packages.json | |
(Get-Content configuration.packages.json) | sls '"tpdm"' -Context 0,3 | |
working-directory: ./Ed-Fi-ODS-Implementation | |
- name: Add tpdm_version to valid set | |
run: | | |
(Get-Content .\Application\SolutionScripts\InitializeDevelopmentEnvironment.psm1 -Raw) ` | |
-replace "(ValidateSet\()(.*?)(\))", '${1}$2,''${{ env.tpdm_version }}''$3' ` | | |
Out-File .\Application\SolutionScripts\InitializeDevelopmentEnvironment.psm1 | |
(Get-Content .\Application\SolutionScripts\InitializeDevelopmentEnvironment.psm1) | sls 'ExtensionVersion' -Context 1,0 | |
working-directory: Ed-Fi-ODS-Implementation | |
- name: Replace package name in create script | |
run: | | |
(Get-Content ./Ed-Fi-ODS-Implementation/DatabaseTemplate/Modules/create-tpdm-template.psm1) ` | |
-replace 'Core', 'Community' ` | | |
Out-File ./Ed-Fi-ODS-Implementation/DatabaseTemplate/Modules/create-tpdm-template.psm1 | |
(Get-Content ./Ed-Fi-ODS-Implementation/DatabaseTemplate/Modules/create-tpdm-template.psm1) | sls 'ExtensionVersion' -Context 0,3 | |
- name: Install SQL Server | |
run: choco install sql-server-2019 --no-progress --params="'/IgnorePendingReboot'" | |
- name: Remove Ed-Fi Databases | |
run: | | |
$ErrorActionPreference = 'Stop' | |
Import-Module ./Ed-Fi-ODS-Implementation/logistics/scripts/modules/build-management.psm1 | |
Remove-EdFiDatabases -Force | |
- name: Initialize-DevelopmentEnvironment | |
run: | | |
$ErrorActionPreference = 'Stop' | |
./Initialize-PowershellForDevelopment.ps1 | |
Initialize-DevelopmentEnvironment -UsePlugins -NoDeploy -ExtensionVersion "${{ env.tpdm_version }}" | |
working-directory: ./Ed-Fi-ODS-Implementation | |
- name: Create Database Template | |
run: | | |
Import-Module -Force -Scope Global ${{ github.workspace }}\Ed-Fi-ODS-Implementation\DatabaseTemplate\Modules\create-tpdm-template.psm1 | |
Initialize-TPDMTemplate -samplePath "${{ github.workspace }}\Ed-Fi-TPDM-Extension\" -ExtensionVersion "${{ env.tpdm_version }}" -StandardVersion "${{ env.data_standard }}" | |
working-directory: ./Ed-Fi-TPDM-Extension | |
- name: Pack | |
run: | | |
nuget pack ${{ github.workspace }}/Ed-Fi-ODS-Implementation/DatabaseTemplate/Database/EdFi.Ods.Populated.Template.TPDM.Community.${{ env.tpdm_version }}.Standard.${{ env.data_standard }}.nuspec ` | |
-OutputDirectory ${{ github.workspace }}/NugetPackages ` | |
-Version ${{ env.version_core }} ` | |
-Properties configuration=release ` | |
-Properties authors="Ed-Fi Alliance" ` | |
-Properties owners="Ed-Fi Alliance" ` | |
-Properties copyright="Copyright ©Ed-Fi Alliance, LLC. 2020" ` | |
-Properties id="EdFi.Suite${{ env.version_suite }}.Ods.Populated.Template.TPDM.Community.${{ env.tpdm_version }}.Standard.${{ env.data_standard }}" ` | |
-Properties title="EdFi.Suite${{ env.version_suite }}.Ods.Populated.Template.TPDM.Community.${{ env.tpdm_version }}.Standard.${{ env.data_standard }}" ` | |
-Properties description="EdFi Ods Minimal Template TPDM Community Database" ` | |
-NoPackageAnalysis -NoDefaultExcludes | |
working-directory: ${{ github.workspace }}/Ed-Fi-TPDM-Extension | |
- name: Create temp folder for upload artifact action | |
run: | | |
mkdir temp | |
- name: Upload artifact | |
uses: actions/upload-artifact@e448a9b857ee2131e752b06002bf0e093c65e571 | |
with: | |
name: EdFi.Suite${{ env.version_suite }}.Ods.Populated.Template.TPDM.Community.${{ env.tpdm_version }}..Standard.${{ env.data_standard }}.${{ env.version_core }}.nupkg | |
path: NugetPackages\*.nupkg |