Skip to content

build TPDM Minimal Template sqlServer #65

build TPDM Minimal Template sqlServer

build TPDM Minimal Template sqlServer #65

name: build TPDM Minimal Template sqlServer
on:
workflow_dispatch:
inputs:
ODS_version:
type: string
required: false
description: "ODS_version: Ed-Fi ODS/API version. Default: 7.0"
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.0"
data_standard: "5.0.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-minimal-template.psm1) `
-replace 'Core', 'Community' ` |
Out-File ./Ed-Fi-ODS-Implementation/DatabaseTemplate/Modules/create-tpdm-minimal-template.psm1
(Get-Content ./Ed-Fi-ODS-Implementation/DatabaseTemplate/Modules/create-tpdm-minimal-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-minimal-template.psm1
Initialize-TPDMMinimalTemplate -samplePath "${{ github.workspace }}\Ed-Fi-TPDM-Extension\" -ExtensionVersion "${{ env.tpdm_version }}"
working-directory: ./Ed-Fi-TPDM-Extension
- name: Pack
run: |
nuget pack ${{ github.workspace }}/Ed-Fi-ODS-Implementation/DatabaseTemplate/Database/EdFi.Ods.Minimal.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.Minimal.Template.TPDM.Community.${{ env.tpdm_version }}.Standard.${{ env.data_standard }}" `
-Properties title="EdFi.Suite${{ env.version_suite }}.Ods.Minimal.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.Minimal.Template.TPDM.Community.${{ env.tpdm_version }}..Standard.${{ env.data_standard }}.${{ env.version_core }}.nupkg
path: NugetPackages\*.nupkg