On Pull Request or Push #52
Workflow file for this run
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
# 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 or Push | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
paths: | |
# TODO: restore this with AA-1601, except run in a PS-specific | |
# workflow, so that the C# build and CodeQL do not run | |
# unnecessarily. | |
# - "**/*.ps1" | |
# - "**/*.psm1" | |
- "**/*.cs" | |
- "**/*.csproj" | |
- ".github/**/*.yml" | |
workflow_dispatch: | |
env: | |
DB_PASS: ${{ secrets.DB_PASS }} | |
jobs: | |
# TODO: restore this with AA-1601 | |
# run-ps-lint: | |
# name: PowerShell Linter | |
# uses: Ed-Fi-Alliance-OSS/Ed-Fi-Actions/.github/workflows/powershell-analyzer.yml@main | |
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 | |
build-and-test: | |
name: Build and Test | |
runs-on: ubuntu-latest | |
services: | |
mssql: | |
image: mcr.microsoft.com/mssql/server:2019-latest | |
env: | |
MSSQL_SA_PASSWORD: ${{ env.DB_PASS }} | |
ACCEPT_EULA: 'Y' | |
ports: | |
- 1433:1433 | |
defaults: | |
run: | |
shell: pwsh | |
steps: | |
- name: Checkout the Repo | |
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@607fce577a46308457984d59e4954e075820f10a # v3.0.3 | |
with: | |
dotnet-version: 6.0.x | |
- name: Build | |
run: ./build.ps1 -Command Build -Configuration Release | |
- name: Run Unit Tests | |
if: success() | |
run: ./build.ps1 -Command UnitTest -Configuration Release -Report True | |
- name: Integration Tests | |
run: ./build.ps1 -Command IntegrationTest -Configuration Release -Report True | |
shell: pwsh | |
env: | |
ConnectionStrings__defaultConnection: "Server=localhost,1433;Initial Catalog=EdFi_DataImport_Test;User Id=sa;Password=${{ env.DB_PASS }};Trusted_Connection=False;" | |
PythonExecutableLocation: "/usr/bin/python" | |
- name: Upload Results as Workflow Artifact | |
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2 | |
with: | |
name: csharp-tests | |
path: "**/*.trx" | |
retention-days: 5 | |
- name: Dependency Review ("Dependabot on PR") | |
if: github.event_name == 'pull_request' | |
uses: actions/dependency-review-action@c090f4e553673e6e505ea70d6a95362ee12adb94 # v3.0.3 | |
- name: Initialize CodeQL | |
if: success() | |
uses: github/codeql-action/init@896079047b4bb059ba6f150a5d87d47dde99e6e5 # codeql-bundle-20221211 | |
with: | |
languages: csharp | |
- name: Rebuild for CodeQL | |
run: ./build.ps1 -Command Build -Configuration Release | |
- name: Perform CodeQL Analysis | |
if: success() | |
uses: github/codeql-action/analyze@896079047b4bb059ba6f150a5d87d47dde99e6e5 # codeql-bundle-20221211 |