diff --git a/.github/workflows/CodeQL Security Scan.yml b/.github/workflows/CodeQL Security Scan.yml
index 9636f3b1d0..e42b6bcdfb 100644
--- a/.github/workflows/CodeQL Security Scan.yml
+++ b/.github/workflows/CodeQL Security Scan.yml
@@ -74,6 +74,10 @@ jobs:
$PSVersionTable
. $env:GITHUB_WORKSPACE/Ed-Fi-ODS-Implementation/Initialize-PowershellForDevelopment.ps1
Invoke-CodeGen -Engine PostgreSQL -RepositoryRoot $env:GITHUB_WORKSPACE/ -StandardVersion ${{ matrix.StandardVersion }} -ExtensionVersion ${{ matrix.ExtensionVersion }}
+ # This step shall be removed in ODS-6572
+ - name: Install Mono and Nuget
+ working-directory: ./Ed-Fi-ODS/.github/workflows
+ run: sudo ./install-mono.sh
- name: Cache Nuget packages
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 #v4.0.1
with:
diff --git a/.github/workflows/Lib edFi.admin.dataaccess.yml b/.github/workflows/Lib edFi.admin.dataaccess.yml
index 6300584727..be280ac1da 100644
--- a/.github/workflows/Lib edFi.admin.dataaccess.yml
+++ b/.github/workflows/Lib edFi.admin.dataaccess.yml
@@ -40,6 +40,10 @@ jobs:
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4
with:
repository: Ed-Fi-Alliance-OSS/Ed-Fi-ODS
+ # This step shall be removed in ODS-6572
+ - name: Install Mono and Nuget
+ working-directory: ./.github/workflows
+ run: sudo ./install-mono.sh
- name: Cache Nuget packages
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 #v4.0.1
with:
diff --git a/.github/workflows/Lib edFi.common.yml b/.github/workflows/Lib edFi.common.yml
index d2345bf44c..a9ec8717ff 100644
--- a/.github/workflows/Lib edFi.common.yml
+++ b/.github/workflows/Lib edFi.common.yml
@@ -40,6 +40,10 @@ jobs:
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4
with:
repository: Ed-Fi-Alliance-OSS/Ed-Fi-ODS
+ # This step shall be removed in ODS-6572
+ - name: Install Mono and Nuget
+ working-directory: ./.github/workflows
+ run: sudo ./install-mono.sh
- name: Cache Nuget packages
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 #v4.0.1
with:
diff --git a/.github/workflows/Lib edFi.loadtools.yml b/.github/workflows/Lib edFi.loadtools.yml
index 964332de7a..42242fb0e8 100644
--- a/.github/workflows/Lib edFi.loadtools.yml
+++ b/.github/workflows/Lib edFi.loadtools.yml
@@ -40,6 +40,10 @@ jobs:
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4
with:
repository: Ed-Fi-Alliance-OSS/Ed-Fi-ODS
+ # This step shall be removed in ODS-6572
+ - name: Install Mono and Nuget
+ working-directory: ./.github/workflows
+ run: sudo ./install-mono.sh
- name: Cache Nuget packages
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 #v4.0.1
with:
diff --git a/.github/workflows/Lib edFi.ods.api.yml b/.github/workflows/Lib edFi.ods.api.yml
index 274494620f..8e248f56b0 100644
--- a/.github/workflows/Lib edFi.ods.api.yml
+++ b/.github/workflows/Lib edFi.ods.api.yml
@@ -40,6 +40,10 @@ jobs:
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4
with:
repository: Ed-Fi-Alliance-OSS/Ed-Fi-ODS
+ # This step shall be removed in ODS-6572
+ - name: Install Mono and Nuget
+ working-directory: ./.github/workflows
+ run: sudo ./install-mono.sh
- name: Cache Nuget packages
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 #v4.0.1
with:
diff --git a/.github/workflows/Lib edFi.ods.common.yml b/.github/workflows/Lib edFi.ods.common.yml
index 8afea64111..b006ab6c28 100644
--- a/.github/workflows/Lib edFi.ods.common.yml
+++ b/.github/workflows/Lib edFi.ods.common.yml
@@ -40,6 +40,10 @@ jobs:
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4
with:
repository: Ed-Fi-Alliance-OSS/Ed-Fi-ODS
+ # This step shall be removed in ODS-6572
+ - name: Install Mono and Nuget
+ working-directory: ./.github/workflows
+ run: sudo ./install-mono.sh
- name: Cache Nuget packages
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 #v4.0.1
with:
diff --git a/.github/workflows/Lib edFi.ods.standard.yml b/.github/workflows/Lib edFi.ods.standard.yml
index dc956263b1..f84ba67267 100644
--- a/.github/workflows/Lib edFi.ods.standard.yml
+++ b/.github/workflows/Lib edFi.ods.standard.yml
@@ -62,6 +62,10 @@ jobs:
shell: pwsh
run: |
.\build.githubactions.ps1 CheckoutBranch -RelativeRepoPath "../Ed-Fi-ODS-Implementation"
+ # This step shall be removed in ODS-6572
+ - name: Install Mono and Nuget
+ working-directory: ./Ed-Fi-ODS/.github/workflows
+ run: sudo ./install-mono.sh
- name: Cache Nuget packages
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 #v4.0.1
with:
diff --git a/.github/workflows/Lib edFi.security.dataaccess.yml b/.github/workflows/Lib edFi.security.dataaccess.yml
index f3fd5fb26c..54c4c8c6c8 100644
--- a/.github/workflows/Lib edFi.security.dataaccess.yml
+++ b/.github/workflows/Lib edFi.security.dataaccess.yml
@@ -40,6 +40,10 @@ jobs:
uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4
with:
repository: Ed-Fi-Alliance-OSS/Ed-Fi-ODS
+ # This step shall be removed in ODS-6572
+ - name: Install Mono and Nuget
+ working-directory: ./.github/workflows
+ run: sudo ./install-mono.sh
- name: Cache Nuget packages
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 #v4.0.1
with:
diff --git a/.github/workflows/Pkg EdFi.Database.Admin.yml b/.github/workflows/Pkg EdFi.Database.Admin.yml
index 06f7e08ef5..f3ab20a737 100644
--- a/.github/workflows/Pkg EdFi.Database.Admin.yml
+++ b/.github/workflows/Pkg EdFi.Database.Admin.yml
@@ -113,11 +113,13 @@ jobs:
nuget pack $AdminBACPACNuspecFilePath -OutputDirectory $packageOutput -Version $version -Properties "configuration=release" -Properties "authors=Ed-Fi Alliance" -Properties "owners=Ed-Fi Alliance" -Properties "copyright=Copyright © $(date +'%Y') Ed-Fi Alliance, LLC and Contributors" -NoPackageAnalysis -NoDefaultExcludes
nuget pack $AdminPostgreSQLNuspecFilePath -OutputDirectory $packageOutput -Version $version -Properties "configuration=release" -Properties "authors=Ed-Fi Alliance" -Properties "owners=Ed-Fi Alliance" -Properties "copyright=Copyright © $(date +'%Y') Ed-Fi Alliance, LLC and Contributors" -NoPackageAnalysis -NoDefaultExcludes
- name: Install-credential-handler
- if: ${{ env.AZURE_ARTIFACT_NUGET_KEY != '' && github.event_name == 'workflow_dispatch' }}
- run: iex "& { $(irm https://aka.ms/install-artifacts-credprovider.ps1) } -AddNetfx"
+ if: ${{ env.AZURE_ARTIFACT_NUGET_KEY != '' && github.event_name == 'workflow_dispatch' }}
+ working-directory: ./Ed-Fi-ODS/
+ run: |
+ .\build.githubactions.ps1 InstallCredentialHandler
shell: powershell
- name: Publish Nuget package
- if: ${{ env.AZURE_ARTIFACT_NUGET_KEY != '' && github.event_name == 'workflow_dispatch' }}
+ if: ${{ env.AZURE_ARTIFACT_NUGET_KEY != '' && github.event_name == 'workflow_dispatch' }}
working-directory: ./Ed-Fi-ODS/
run: |
.\build.githubactions.ps1 publish -InformationalVersion ${{ env.INFORMATIONAL_VERSION }} -BuildCounter ${{ github.run_number }} -BuildIncrementer ${{env.BUILD_INCREMENTER}} -NuGetApiKey ${{ env.AZURE_ARTIFACT_NUGET_KEY }} -EdFiNuGetFeed ${{env.AZURE_ARTIFACT_URL}} -PackageName "EdFi.Database.Admin.Standard.${{ matrix.StandardVersion }}"
diff --git a/.github/workflows/Pkg EdFi.Database.Security.yml b/.github/workflows/Pkg EdFi.Database.Security.yml
index 72b43cca0f..aa2d336013 100644
--- a/.github/workflows/Pkg EdFi.Database.Security.yml
+++ b/.github/workflows/Pkg EdFi.Database.Security.yml
@@ -113,12 +113,14 @@ jobs:
nuget pack $SecurityBACPACNuspecFilePath -OutputDirectory $packageOutput -Version $version -Properties "configuration=release" -Properties "authors=Ed-Fi Alliance" -Properties "owners=Ed-Fi Alliance" -Properties "copyright=Copyright © $(date +'%Y') Ed-Fi Alliance, LLC and Contributors" -NoPackageAnalysis -NoDefaultExcludes
nuget pack $SecurityPostgreSQLNuspecFilePath -OutputDirectory $packageOutput -Version $version -Properties "configuration=release" -Properties "authors=Ed-Fi Alliance" -Properties "owners=Ed-Fi Alliance" -Properties "copyright=Copyright © $(date +'%Y') Ed-Fi Alliance, LLC and Contributors" -NoPackageAnalysis -NoDefaultExcludes
- name: Install-credential-handler
- if: ${{ env.AZURE_ARTIFACT_NUGET_KEY != '' && github.event_name == 'workflow_dispatch' }}
- run: iex "& { $(irm https://aka.ms/install-artifacts-credprovider.ps1) } -AddNetfx"
+ if: ${{ env.AZURE_ARTIFACT_NUGET_KEY != '' && github.event_name == 'workflow_dispatch' }}
+ working-directory: ./Ed-Fi-ODS/
+ run: |
+ .\build.githubactions.ps1 InstallCredentialHandler
shell: powershell
- name: Publish Nuget package
- if: ${{ env.AZURE_ARTIFACT_NUGET_KEY != '' && github.event_name == 'workflow_dispatch' }}
working-directory: ./Ed-Fi-ODS/
+ if: ${{ env.AZURE_ARTIFACT_NUGET_KEY != '' && github.event_name == 'workflow_dispatch' }}
run: |
.\build.githubactions.ps1 publish -InformationalVersion ${{ env.INFORMATIONAL_VERSION }} -BuildCounter ${{ github.run_number }} -BuildIncrementer ${{env.BUILD_INCREMENTER}} -NuGetApiKey ${{ env.AZURE_ARTIFACT_NUGET_KEY }} -EdFiNuGetFeed ${{env.AZURE_ARTIFACT_URL}} -PackageName "EdFi.Database.Security.Standard.${{ matrix.StandardVersion }}"
.\build.githubactions.ps1 publish -InformationalVersion ${{ env.INFORMATIONAL_VERSION }} -BuildCounter ${{ github.run_number }} -BuildIncrementer ${{env.BUILD_INCREMENTER}} -NuGetApiKey ${{ env.AZURE_ARTIFACT_NUGET_KEY }} -EdFiNuGetFeed ${{env.AZURE_ARTIFACT_URL}} -PackageName "EdFi.Database.Security.BACPAC.Standard.${{ matrix.StandardVersion }}"
diff --git a/.github/workflows/Pkg EdFi.Ods.CodeGen.yml b/.github/workflows/Pkg EdFi.Ods.CodeGen.yml
index 0a1da0b9d6..e9bff9ec0e 100644
--- a/.github/workflows/Pkg EdFi.Ods.CodeGen.yml
+++ b/.github/workflows/Pkg EdFi.Ods.CodeGen.yml
@@ -68,6 +68,10 @@ jobs:
shell: pwsh
run: |
.\build.githubactions.ps1 CheckoutBranch -RelativeRepoPath "../Ed-Fi-Extensions"
+ # This step shall be removed in ODS-6572
+ - name: Install Mono and Nuget
+ working-directory: ./Ed-Fi-ODS/.github/workflows
+ run: sudo ./install-mono.sh
- name: Cache Nuget packages
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 #v4.0.1
with:
diff --git a/.github/workflows/Pkg EdFi.Ods.Minimal.Template.PostgreSQL.yml b/.github/workflows/Pkg EdFi.Ods.Minimal.Template.PostgreSQL.yml
index 4c16308cb0..7937fab7e9 100644
--- a/.github/workflows/Pkg EdFi.Ods.Minimal.Template.PostgreSQL.yml
+++ b/.github/workflows/Pkg EdFi.Ods.Minimal.Template.PostgreSQL.yml
@@ -105,6 +105,10 @@ jobs:
sudo sh -c 'echo "deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
sudo apt-get update
sudo apt-get -y install postgresql-client-16
+ # This step shall be removed in ODS-6572
+ - name: Install Mono and Nuget
+ working-directory: ./Ed-Fi-ODS/.github/workflows
+ run: sudo ./install-mono.sh
- name: Cache Nuget packages
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 #v4.0.1
with:
diff --git a/.github/workflows/Pkg EdFi.Ods.Minimal.Template.TPDM.PostgreSQL.yml b/.github/workflows/Pkg EdFi.Ods.Minimal.Template.TPDM.PostgreSQL.yml
index caddcdc7c0..ffc20af914 100644
--- a/.github/workflows/Pkg EdFi.Ods.Minimal.Template.TPDM.PostgreSQL.yml
+++ b/.github/workflows/Pkg EdFi.Ods.Minimal.Template.TPDM.PostgreSQL.yml
@@ -125,6 +125,10 @@ jobs:
sudo sh -c 'echo "deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
sudo apt-get update
sudo apt-get -y install postgresql-client-16
+ # This step shall be removed in ODS-6572
+ - name: Install Mono and Nuget
+ working-directory: ./Ed-Fi-ODS/.github/workflows
+ run: sudo ./install-mono.sh
- name: Cache Nuget packages
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 #v4.0.1
with:
diff --git a/.github/workflows/Pkg EdFi.Ods.Minimal.Template.TPDM.yml b/.github/workflows/Pkg EdFi.Ods.Minimal.Template.TPDM.yml
index 93bdbdc297..3fcd3e62be 100644
--- a/.github/workflows/Pkg EdFi.Ods.Minimal.Template.TPDM.yml
+++ b/.github/workflows/Pkg EdFi.Ods.Minimal.Template.TPDM.yml
@@ -124,6 +124,10 @@ jobs:
echo "BUILD_INCREMENTER=$newRevision">> $env:GITHUB_ENV
}
shell: pwsh
+ # This step shall be removed in ODS-6572
+ - name: Install Mono and Nuget
+ working-directory: ./Ed-Fi-ODS/.github/workflows
+ run: sudo ./install-mono.sh
- name: Cache Nuget packages
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 #v4.0.1
with:
diff --git a/.github/workflows/Pkg EdFi.Ods.Minimal.Template.yml b/.github/workflows/Pkg EdFi.Ods.Minimal.Template.yml
index f82eebe49f..392b39e9f5 100644
--- a/.github/workflows/Pkg EdFi.Ods.Minimal.Template.yml
+++ b/.github/workflows/Pkg EdFi.Ods.Minimal.Template.yml
@@ -110,6 +110,10 @@ jobs:
echo "BUILD_INCREMENTER=$newRevision">> $env:GITHUB_ENV
}
shell: pwsh
+ # This step shall be removed in ODS-6572
+ - name: Install Mono and Nuget
+ working-directory: ./Ed-Fi-ODS/.github/workflows
+ run: sudo ./install-mono.sh
- name: Cache Nuget packages
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 #v4.0.1
with:
diff --git a/.github/workflows/Pkg EdFi.Ods.Populated.Template.PostgreSQL.yml b/.github/workflows/Pkg EdFi.Ods.Populated.Template.PostgreSQL.yml
index ff45fe86b7..75392908da 100644
--- a/.github/workflows/Pkg EdFi.Ods.Populated.Template.PostgreSQL.yml
+++ b/.github/workflows/Pkg EdFi.Ods.Populated.Template.PostgreSQL.yml
@@ -104,6 +104,10 @@ jobs:
sudo sh -c 'echo "deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
sudo apt-get update
sudo apt-get -y install postgresql-client-16
+ # This step shall be removed in ODS-6572
+ - name: Install Mono and Nuget
+ working-directory: ./Ed-Fi-ODS/.github/workflows
+ run: sudo ./install-mono.sh
- name: Cache Nuget packages
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 #v4.0.1
with:
diff --git a/.github/workflows/Pkg EdFi.Ods.Populated.Template.TPDM.PostgreSQL.yml b/.github/workflows/Pkg EdFi.Ods.Populated.Template.TPDM.PostgreSQL.yml
index 3794fbe1ed..a4d88f598f 100644
--- a/.github/workflows/Pkg EdFi.Ods.Populated.Template.TPDM.PostgreSQL.yml
+++ b/.github/workflows/Pkg EdFi.Ods.Populated.Template.TPDM.PostgreSQL.yml
@@ -125,6 +125,10 @@ jobs:
sudo sh -c 'echo "deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
sudo apt-get update
sudo apt-get -y install postgresql-client-16
+ # This step shall be removed in ODS-6572
+ - name: Install Mono and Nuget
+ working-directory: ./Ed-Fi-ODS/.github/workflows
+ run: sudo ./install-mono.sh
- name: Cache Nuget packages
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 #v4.0.1
with:
diff --git a/.github/workflows/Pkg EdFi.Ods.Populated.Template.TPDM.yml b/.github/workflows/Pkg EdFi.Ods.Populated.Template.TPDM.yml
index d0b3b47d1f..26f6425f00 100644
--- a/.github/workflows/Pkg EdFi.Ods.Populated.Template.TPDM.yml
+++ b/.github/workflows/Pkg EdFi.Ods.Populated.Template.TPDM.yml
@@ -124,6 +124,10 @@ jobs:
echo "BUILD_INCREMENTER=$newRevision">> $env:GITHUB_ENV
}
shell: pwsh
+ # This step shall be removed in ODS-6572
+ - name: Install Mono and Nuget
+ working-directory: ./Ed-Fi-ODS/.github/workflows
+ run: sudo ./install-mono.sh
- name: Cache Nuget packages
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 #v4.0.1
with:
diff --git a/.github/workflows/Pkg EdFi.Ods.Populated.Template.yml b/.github/workflows/Pkg EdFi.Ods.Populated.Template.yml
index 990cd2b4fb..25ed16df17 100644
--- a/.github/workflows/Pkg EdFi.Ods.Populated.Template.yml
+++ b/.github/workflows/Pkg EdFi.Ods.Populated.Template.yml
@@ -102,6 +102,10 @@ jobs:
shell: pwsh
run: |
.\build.githubactions.ps1 CheckoutBranch -RelativeRepoPath "../Ed-Fi-ODS-Implementation"
+ # This step shall be removed in ODS-6572
+ - name: Install Mono and Nuget
+ working-directory: ./Ed-Fi-ODS/.github/workflows
+ run: sudo ./install-mono.sh
- name: Cache Nuget packages
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 #v4.0.1
with:
diff --git a/.github/workflows/install-mono.sh b/.github/workflows/install-mono.sh
new file mode 100755
index 0000000000..c4fe70be35
--- /dev/null
+++ b/.github/workflows/install-mono.sh
@@ -0,0 +1,34 @@
+#!/bin/bash -e
+
+# SPDX-License-Identifier: Apache-2.0
+# Licensed to the Ed-Fi Alliance under one or more agreements.
+# The Ed-Fi Alliance licenses this file to you under the Apache License, Version 2.0.
+# See the LICENSE and NOTICES files in the project root for more information.
+
+# Sourced and adapted from:
+# https://github.com/actions/runner-images/blob/main/images/ubuntu/scripts/build/install-mono.sh
+
+# This script shall be removed in ODS-6572
+
+REPO_URL="https://download.mono-project.com/repo/ubuntu"
+GPG_KEY="/usr/share/keyrings/mono-official-stable.gpg"
+REPO_PATH="/etc/apt/sources.list.d/mono-official-stable.list"
+
+# There are no packages for Ubuntu 22 and 24 in the repo, but developers confirmed that packages from Ubuntu 20 should work
+os_label="focal"
+
+# Install Mono repo
+curl -fsSL https://download.mono-project.com/repo/xamarin.gpg | gpg --dearmor -o $GPG_KEY
+echo "deb [signed-by=$GPG_KEY] $REPO_URL stable-$os_label main" > $REPO_PATH
+
+# Install Mono
+apt-get update
+apt-get install --no-install-recommends apt-transport-https mono-complete nuget
+
+# Remove Mono's apt repo
+rm $REPO_PATH
+rm -f "${REPO_PATH}.save"
+rm $GPG_KEY
+
+# Document source repo
+echo "mono https://download.mono-project.com/repo/ubuntu stable-$os_label main" >> $HELPER_SCRIPTS/apt-sources.txt
diff --git a/Utilities/SdkGen/EdFi.SdkGen.Console/EdFi.OdsApi.Sdk.nuspec b/Utilities/SdkGen/EdFi.SdkGen.Console/EdFi.OdsApi.Sdk.nuspec
index 786f16f0fa..6ee7993f87 100644
--- a/Utilities/SdkGen/EdFi.SdkGen.Console/EdFi.OdsApi.Sdk.nuspec
+++ b/Utilities/SdkGen/EdFi.SdkGen.Console/EdFi.OdsApi.Sdk.nuspec
@@ -4,8 +4,8 @@