Skip to content

Scorecard and other administrative improvements (#122) #6

Scorecard and other administrative improvements (#122)

Scorecard and other administrative improvements (#122) #6

# 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.
name: On Pull Request - C#
on:
push:
branches:
- main
paths:
- "**/*.cs"
- "**/*.csproj"
- ".github/workflows/on-pullrequest-cs.yml"
pull_request:
branches:
- main
paths:
- "**/*.cs"
- "**/*.csproj"
- ".github/workflows/on-pullrequest-cs.yml"
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
permissions: read-all
jobs:
scan-actions-bidi:
name: Scan Actions, scan all files for BIDI Trojan Attacks
uses: ed-fi-alliance-oss/ed-fi-actions/.github/workflows/repository-scanner.yml@main
with:
config-file-path: ./.github/workflows/bidi-config.json
run-cs-tests:
name: Run C# Tests
runs-on: ubuntu-latest
permissions:
security-events: write
defaults:
run:
working-directory: src
shell: pwsh
steps:
- name: Checkout the Repo
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- name: Setup .NET
uses: actions/setup-dotnet@4d6c8fcf3c8f7a60068d26b594648e99df24cee3 # v4.0.0
- name: Dependency Review ("Dependabot on PR")
if: ${{ github.event_name == 'pull_request' && !github.event.repository.fork }}
uses: actions/dependency-review-action@9129d7d40b8c12c1ed0f60400d00c92d437adcce # v4.1.3
- name: Initialize CodeQL
if: success()
uses: github/codeql-action/init@cf7e9f23492505046de9a37830c3711dd0f25bb3 # codeql-bundle-v2.16.2
with:
languages: csharp
- name: Cache Nuget packages
uses: actions/cache@ab5e6d0c87105b4c9c2047343972218f562e4319 #v4.0.1
with:
path: ~/.nuget/packages
key: ${{ runner.os }}-nuget-${{ hashFiles('API/LeadershipProfile/Directory.Packages.props') }}
restore-keys: |
${{ runner.os }}-nuget-
# Must build the software after initialization of CodeQL; something about
# CodeQL initialization causes the resulting build to fail unit tests.
# Therefore rebuilding here, even though also built above.
- name: Build for CodeQL
run: dotnet build API/LeadershipProfile/LeadershipProfile.sln --nologo
- name: Perform CodeQL Analysis
if: success()
uses: github/codeql-action/analyze@cf7e9f23492505046de9a37830c3711dd0f25bb3 # codeql-bundle-v2.16.2