Skip to content

chore(deps): update dependency xunit to 2.9.2 #689

chore(deps): update dependency xunit to 2.9.2

chore(deps): update dependency xunit to 2.9.2 #689

Workflow file for this run

# This workflow will build a .NET project
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net
name: CI/CD
env:
DOTNET_VERSION: '8.x'
NODE_VERSION: '20'
APP_NAME: SAS-App
AZURE_WEBAPP_NAME: service-assessment-service # set this to the name of your Azure Web App
AZURE_WEBAPP_PACKAGE_PATH: "." # set this to the path to your web app project, defaults to the repository root
on:
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
workflow_dispatch:
permissions:
contents: read
jobs:
build-test-package:
runs-on: ubuntu-latest
steps:
## Include all git history (fetch depth 0) for enhanced SonarCloud analysis (default is 1 for most recent commit)
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
with:
fetch-depth: 0
- name: Setup .NET
uses: actions/setup-dotnet@6bd8b7f7774af54e05809fcc5431931b3eb1ddee # v4
with:
dotnet-version: ${{ env.DOTNET_VERSION }}
- name: Setup Node.js environment
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
with:
node-version: ${{ env.NODE_VERSION }}
####
## Setup for SonarCloud
####
- name: Set up JDK 17
uses: actions/setup-java@b36c23c0d998641eff861008f374ee103c25ac73 # v4
with:
java-version: 17
distribution: 'zulu'
- name: Cache SonarCloud packages
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4
with:
path: ~\sonar\cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar
- name: Install SonarCloud scanner
if: steps.cache-sonar-scanner.outputs.cache-hit != 'true'
shell: pwsh
working-directory: ./src/ServiceAssessmentService
run: |
dotnet tool install --global dotnet-sonarscanner
####
## Build and test the Web UI code
####
- name: Cache node_modules
id: node_modules-cache-webapp
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4
with:
path: ./src/ServiceAssessmentService/ServiceAssessmentService.WebApp/node_modules
key: ${{ runner.os }}-node_modules-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
- name: Install NPM dependencies (Web UI)
working-directory: ./src/ServiceAssessmentService/ServiceAssessmentService.WebApp
run: npm install
- name: Set up dependency caching for faster builds
uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('**/packages.lock.json') }}
restore-keys: |
${{ runner.os }}-nuget-
- name: Build Web UI (webpack)
working-directory: ./src/ServiceAssessmentService/ServiceAssessmentService.WebApp
run: npm run buildCi
## TODO: npm run test
####
## Build and test the Backend which serves the Web UI
####
- name: Restore dependencies
working-directory: ./src/ServiceAssessmentService
run: dotnet restore
- name: Verify formatting
working-directory: ./src/ServiceAssessmentService
run: dotnet format --no-restore --verify-no-changes
- name: Begin SonarCloud analysis (start before any build/test steps)
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
working-directory: ./src/ServiceAssessmentService
shell: pwsh
run: |
dotnet-sonarscanner begin /k:"DFE-Digital_service-assessment-service" /o:"dfe-digital" /d:sonar.token="${{ secrets.SONAR_TOKEN }}" /d:sonar.host.url="https://sonarcloud.io"
- name: Build with dotnet
working-directory: ./src/ServiceAssessmentService
run: dotnet build --no-restore --configuration Release
- name: Test
working-directory: ./src/ServiceAssessmentService
run: dotnet test --no-build --verbosity normal --configuration Release
- name: End SonarCloud analysis and upload results (end after all build/test steps)
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
working-directory: ./src/ServiceAssessmentService
shell: pwsh
run: |
dotnet-sonarscanner end /d:sonar.token="${{ secrets.SONAR_TOKEN }}"
- name: dotnet publish
working-directory: ./src/ServiceAssessmentService
run: dotnet publish -c Release -o ${{env.DOTNET_ROOT}}/myapp
- name: Upload artifact for deployment job
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4
with:
name: ${{ env.APP_NAME }}
path: ${{env.DOTNET_ROOT}}/myapp
deploy-dev:
permissions:
contents: none
runs-on: ubuntu-latest
needs: build-test-package
if: github.ref == 'refs/heads/main'
environment:
name: "Dev"
url: ${{ steps.deploy-to-webapp.outputs.webapp-url }}
steps:
- name: Download artifact from build job
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4
with:
name: ${{ env.APP_NAME }}
- name: Deploy to Azure Web App
id: deploy-to-webapp
uses: azure/webapps-deploy@2fdd5c3ebb4e540834e86ecc1f6fdcd5539023ee # v3
with:
app-name: ${{ env.AZURE_WEBAPP_NAME }}
publish-profile: ${{ secrets.AZURE_PUBLISH_PROFILE }}
package: ${{ env.AZURE_WEBAPP_PACKAGE_PATH }}