Use .NET SDK 8.0.303 #1302
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: "MemCheck build, test and deploy to Azure" | |
on: | |
push: | |
branches: | |
- master | |
jobs: | |
build-test-deploy: | |
name: "MemCheck compilation, test and deployment to prod" | |
runs-on: windows-latest | |
env: | |
NETCORE_VERSION: "8.0" | |
COMPIL_CONFIG: "Release" | |
WEBUI_PUBLISH_FOLDER: "./Published" | |
AZURE_WEBAPP_NAME: "memcheckfr" | |
AZURE_FUNCTIONS_PUBLISH_FOLDER: "./AzFuncPublished" | |
AZURE_FUNCTIONS_NAME_IN_AZURE: "MemCheckAzureFunctions" | |
AZURE_FUNCTIONS_PROJECT_NAME: "MemCheck.AzureFunctions" | |
steps: | |
- uses: actions/[email protected] | |
- name: "Tell environment variables" | |
run: | | |
echo "Several environment variables" | |
echo "GITHUB_WORKFLOW: $env:GITHUB_WORKFLOW" | |
echo "GITHUB_RUN_ID: $env:GITHUB_RUN_ID" | |
echo "GITHUB_RUN_NUMBER: ${env:GITHUB_RUN_NUMBER}" | |
echo "GITHUB_ACTOR: $env:GITHUB_ACTOR" | |
echo "GITHUB_EVENT_NAME: $env:GITHUB_EVENT_NAME" | |
echo "GITHUB_EVENT_PATH: $env:GITHUB_EVENT_PATH" | |
echo "GITHUB_WORKSPACE: $env:GITHUB_WORKSPACE" | |
echo "GITHUB_SHA: $env:GITHUB_SHA" | |
echo "GITHUB_REF: $env:GITHUB_REF" | |
echo "NETCORE_VERSION: $env:NETCORE_VERSION" | |
- name: "Set up .NET on machine (version ${{env.NETCORE_VERSION}})" | |
uses: actions/[email protected] | |
with: | |
dotnet-version: ${{env.NETCORE_VERSION}} | |
- name: "Tell installed dotnet SDKs" | |
# Remember that in global.json we require a precise version of the SDK | |
run: dotnet --list-sdks | |
- name: "Clean with dotnet" | |
run: dotnet clean --configuration ${{env.COMPIL_CONFIG}} | |
- name: "Install JavaScript modules" | |
run: yarn | |
- name: "Run JavaScript lint with ESLint" | |
run: yarn lint | |
- name: "Run JavaScript unit-tests with jest" | |
run: yarn unit-tests | |
- name: "Restore NuGet packages" | |
run: dotnet restore | |
- name: "Build the root sln with dotnet" | |
run: dotnet build --no-restore --configuration ${{env.COMPIL_CONFIG}} --version-suffix "$env:GITHUB_RUN_NUMBER" | |
- name: "Run unit tests" | |
env: | |
CONNECTION_STRING_FOR_DB_USABILITY_CHECK: ${{secrets.MEMCHECK_PROD_DB_CONNECTION_STRING}} | |
run: dotnet test --configuration ${{env.COMPIL_CONFIG}} | |
- name: "Publish: prepare the project WebUI for deployment" | |
run: dotnet publish --configuration ${{env.COMPIL_CONFIG}} -o ${{env.WEBUI_PUBLISH_FOLDER}} --no-self-contained MemCheck.WebUI | |
- name: "Telling size of WebUI publish folder" | |
run: du -sh ${{env.WEBUI_PUBLISH_FOLDER}} | |
- name: "Publish: prepare the project ${{env.AZURE_FUNCTIONS_PROJECT_NAME}} for deployment" | |
run: dotnet publish --no-build --configuration ${{env.COMPIL_CONFIG}} -o ${{env.AZURE_FUNCTIONS_PUBLISH_FOLDER}} --no-self-contained ${{env.AZURE_FUNCTIONS_PROJECT_NAME}} | |
- name: "Telling size of ${{env.AZURE_FUNCTIONS_PROJECT_NAME}} publish folder" | |
run: du -sh ${{env.AZURE_FUNCTIONS_PUBLISH_FOLDER}} | |
# - name: Upload published version as Artifact | |
# uses: actions/upload-artifact@v2 | |
# with: | |
# name: MemCheck | |
# path: ${{env.WEBUI_PUBLISH_FOLDER}} | |
- name: "Deploy WebUI to MemCheck Azure Web App" | |
uses: azure/[email protected] | |
with: | |
app-name: '${{env.AZURE_WEBAPP_NAME}}' | |
slot-name: 'production' | |
publish-profile: ${{secrets.MEMCHECK_PUBLISH_PROFILE}} | |
package: ${{env.WEBUI_PUBLISH_FOLDER}} | |
- name: "Deploy to ${{env.AZURE_FUNCTIONS_NAME_IN_AZURE}} Azure function" | |
uses: azure/[email protected] | |
with: | |
app-name: '${{env.AZURE_FUNCTIONS_NAME_IN_AZURE}}' | |
publish-profile: ${{secrets.MEMCHECK_AZUREFUNC_PUBLISH_PROFILE}} | |
package: ${{env.AZURE_FUNCTIONS_PUBLISH_FOLDER}} |