-
Notifications
You must be signed in to change notification settings - Fork 272
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add GitHub Actions Workflow for Automated Testing for branch nytian/d…
…fv3-release-rc.2 (#2987) * add validate yml files to enable github test run * add codeql * Add nytian/dfv3-release-rc.2 branch to CI * Add new branch to workflow triggers * udpate build e2e * remove cleanentitystorage test
- Loading branch information
Showing
4 changed files
with
262 additions
and
0 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
# This workflow generates weekly CodeQL reports for this repo, a security requirements. | ||
# The workflow is adapted from the following reference: https://github.com/Azure-Samples/azure-functions-python-stream-openai/pull/2/files | ||
# Generic comments on how to modify these file are left intactfor future maintenance. | ||
|
||
name: "CodeQL" | ||
|
||
on: | ||
push: | ||
branches: [ "main", "*" ] # TODO: remove development branch after approval | ||
pull_request: | ||
branches: [ "main", "*"] # TODO: remove development branch after approval | ||
schedule: | ||
- cron: '0 0 * * 1' # Weekly Monday run, needed for weekly reports | ||
workflow_call: # allows to be invoked as part of a larger workflow | ||
workflow_dispatch: # allows for the workflow to run manually see: https://docs.github.com/en/actions/using-workflows/manually-running-a-workflow | ||
|
||
env: | ||
solution: WebJobs.Extensions.DurableTask.sln | ||
config: Release | ||
|
||
jobs: | ||
|
||
analyze: | ||
name: Analyze | ||
runs-on: windows-latest | ||
permissions: | ||
actions: read | ||
contents: read | ||
security-events: write | ||
|
||
|
||
strategy: | ||
fail-fast: false | ||
matrix: | ||
language: ['csharp'] | ||
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ] | ||
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support | ||
|
||
steps: | ||
# Initializes the CodeQL tools for scanning. | ||
- name: Initialize CodeQL | ||
uses: github/codeql-action/init@v3 | ||
with: | ||
languages: ${{ matrix.language }} | ||
# If you wish to specify custom queries, you can do so here or in a config file. | ||
# By default, queries listed here will override any specified in a config file. | ||
# Prefix the list here with "+" to use these queries and those in the config file. | ||
|
||
# Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs | ||
# queries: security-extended,security-and-quality | ||
|
||
- uses: actions/checkout@v3 | ||
with: | ||
submodules: true | ||
|
||
- name: Setup .NET | ||
uses: actions/setup-dotnet@v3 | ||
|
||
- name: Set up .NET Core 2.1 | ||
uses: actions/setup-dotnet@v3 | ||
with: | ||
dotnet-version: '2.1.x' | ||
|
||
- name: Set up .NET Core 3.1 | ||
uses: actions/setup-dotnet@v3 | ||
with: | ||
dotnet-version: '3.1.x' | ||
|
||
- name: Restore dependencies | ||
run: dotnet restore $solution | ||
|
||
- name: Build | ||
run: dotnet build $solution #--configuration $config #--no-restore -p:FileVersionRevision=$GITHUB_RUN_NUMBER -p:ContinuousIntegrationBuild=true | ||
|
||
# Run CodeQL analysis | ||
- name: Perform CodeQL Analysis | ||
uses: github/codeql-action/analyze@v3 | ||
with: | ||
category: "/language:${{matrix.language}}" |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
name: Validate Build (analyzer) | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
- dev | ||
- nytian/dfv3-release-rc.2 | ||
paths-ignore: [ '**.md' ] | ||
pull_request: | ||
branches: | ||
- main | ||
- dev | ||
- nytian/dfv3-release-rc.2 | ||
paths-ignore: [ '**.md' ] | ||
|
||
env: | ||
solution: WebJobs.Extensions.DurableTask.sln | ||
config: Release | ||
AzureWebJobsStorage: UseDevelopmentStorage=true | ||
|
||
jobs: | ||
build: | ||
runs-on: windows-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
submodules: true | ||
|
||
- name: Setup .NET | ||
uses: actions/setup-dotnet@v3 | ||
|
||
- name: Set up .NET Core 3.1 | ||
uses: actions/setup-dotnet@v3 | ||
with: | ||
dotnet-version: '3.1.x' | ||
|
||
- name: Set up .NET Core 2.1 | ||
uses: actions/setup-dotnet@v3 | ||
with: | ||
dotnet-version: '2.1.x' | ||
|
||
- name: Restore dependencies | ||
run: dotnet restore $solution | ||
|
||
- name: Build | ||
run: dotnet build $solution | ||
|
||
# Install Azurite | ||
- name: Set up Node.js (needed for Azurite) | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: '18.x' # Azurite requires at least Node 18 | ||
|
||
- name: Install Azurite | ||
run: npm install -g azurite | ||
|
||
# Run tests | ||
- name: Run Analyzer tests | ||
run: azurite --silent --blobPort 10000 --queuePort 10001 --tablePort 10002 & dotnet test ./test/WebJobs.Extensions.DurableTask.Analyzers.Test/WebJobs.Extensions.DurableTask.Analyzers.Test.csproj |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
name: Validate Build (E2E tests) | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
- dev | ||
- nytian/dfv3-release-rc.2 | ||
paths-ignore: [ '**.md' ] | ||
pull_request: | ||
branches: | ||
- main | ||
- dev | ||
- nytian/dfv3-release-rc.2 | ||
paths-ignore: [ '**.md' ] | ||
|
||
env: | ||
solution: WebJobs.Extensions.DurableTask.sln | ||
config: Release | ||
AzureWebJobsStorage: UseDevelopmentStorage=true | ||
|
||
jobs: | ||
build: | ||
runs-on: windows-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
submodules: true | ||
|
||
- name: Setup .NET | ||
uses: actions/setup-dotnet@v3 | ||
|
||
- name: Set up .NET Core 3.1 | ||
uses: actions/setup-dotnet@v3 | ||
with: | ||
dotnet-version: '3.1.x' | ||
|
||
- name: Set up .NET Core 2.1 | ||
uses: actions/setup-dotnet@v3 | ||
with: | ||
dotnet-version: '2.1.x' | ||
|
||
- name: Restore dependencies | ||
run: dotnet restore $solution | ||
|
||
- name: Build | ||
run: dotnet build $solution | ||
|
||
# Install Azurite | ||
- name: Set up Node.js (needed for Azurite) | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: '18.x' # Azurite requires at least Node 18 | ||
|
||
- name: Install Azurite | ||
run: npm install -g azurite | ||
|
||
# Run tests | ||
- name: Run FunctionsV2 tests (all other E2E tests) | ||
run: azurite --silent --blobPort 10000 --queuePort 10001 --tablePort 10002 & dotnet test ./test/FunctionsV2/WebJobs.Extensions.DurableTask.Tests.V2.csproj --filter "FullyQualifiedName~Microsoft.Azure.WebJobs.Extensions.DurableTask.Tests.DurableTaskEndToEndTests&FullyQualifiedName!~Microsoft.Azure.WebJobs.Extensions.DurableTask.Tests.DurableTaskEndToEndTests.DurableEntity_CleanEntityStorage" |
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
name: Validate Build (except E2E tests) | ||
|
||
on: | ||
push: | ||
branches: | ||
- main | ||
- dev | ||
- nytian/dfv3-release-rc.2 | ||
paths-ignore: [ '**.md' ] | ||
pull_request: | ||
branches: | ||
- main | ||
- dev | ||
- nytian/dfv3-release-rc.2 | ||
paths-ignore: [ '**.md' ] | ||
|
||
env: | ||
solution: WebJobs.Extensions.DurableTask.sln | ||
config: Release | ||
AzureWebJobsStorage: UseDevelopmentStorage=true | ||
|
||
jobs: | ||
build: | ||
runs-on: windows-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
submodules: true | ||
|
||
- name: Setup .NET | ||
uses: actions/setup-dotnet@v3 | ||
|
||
- name: Set up .NET Core 3.1 | ||
uses: actions/setup-dotnet@v3 | ||
with: | ||
dotnet-version: '3.1.x' | ||
|
||
- name: Set up .NET Core 2.1 | ||
uses: actions/setup-dotnet@v3 | ||
with: | ||
dotnet-version: '2.1.x' | ||
|
||
- name: Restore dependencies | ||
run: dotnet restore $solution | ||
|
||
- name: Build | ||
run: dotnet build $solution | ||
|
||
# Install Azurite | ||
- name: Set up Node.js (needed for Azurite) | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: '18.x' # Azurite requires at least Node 18 | ||
|
||
- name: Install Azurite | ||
run: npm install -g azurite | ||
|
||
# Run tests | ||
- name: Run Worker Extension tests | ||
run: azurite --silent --blobPort 10000 --queuePort 10001 --tablePort 10002 & dotnet test ./test/Worker.Extensions.DurableTask.Tests/Worker.Extensions.DurableTask.Tests.csproj |