Redis Support #114
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
name: Build & Test | |
on: | |
workflow_dispatch: | |
push: | |
tags: | |
- '*' | |
branches: | |
- 'main' | |
- 'gh-actions*' | |
pull_request: | |
branches: | |
- '*' | |
env: | |
TIMEZONE: 'America/Chicago' | |
DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1 | |
DOTNET_NOLOGO: true | |
ArtifactDirectory: ${{ github.workspace}}/artifacts | |
defaults: | |
run: | |
shell: pwsh | |
jobs: | |
build_and_test: | |
runs-on: ubuntu-latest | |
permissions: | |
checks: write | |
pull-requests: write | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: 8 | |
dotnet-quality: ga | |
- name: Restore dependencies | |
run: dotnet restore | |
- name: Build | |
run: dotnet build --no-restore --configuration:Release | |
- name: Test | |
id: test | |
run: dotnet test --filter:'FullyQuallifiedName!~Cosmos' --no-build --configuration:Release --logger:trx --results-directory ${{ env.ArtifactDirectory }} | |
- name: Test Results Comment | |
if: always() | |
uses: im-open/[email protected] | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
timezone: ${{ env.TIMEZONE }} | |
create-status-check: false | |
create-pr-comment: true | |
comment-identifier: 'TestResults' | |
# Cosmos DB Emulator is broken on Ubuntu | |
# https://github.com/Azure/azure-cosmos-db-emulator-docker/issues/56 | |
build_and_test_cosmos: | |
runs-on: windows-2022 | |
permissions: | |
checks: write | |
pull-requests: write | |
# Reenable when Ubuntu is fixed | |
# services: | |
# cosmos: | |
# image: mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator | |
# ports: | |
# - 8081:8081 | |
# - 10250-10255:10250-10255 | |
# env: | |
# AZURE_COSMOS_EMULATOR_PARTITION_COUNT: 3 | |
# AZURE_COSMOS_EMULATOR_ENABLE_DATA_PERSISTENCE: true | |
steps: | |
- uses: actions/checkout@v2 | |
# Remove when Ubuntu is fixed | |
- name: Start Cosmos DB Emulator | |
if: ${{ github.event_name == 'pull_request' || github.ref == 'refs/heads/main' }} | |
uses: southpolesteve/cosmos-emulator-github-action@v1 | |
- name: Setup .NET | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: 8 | |
dotnet-quality: ga | |
- name: Restore dependencies | |
run: dotnet restore | |
- name: Build | |
run: dotnet build --no-restore --configuration:Release | |
# Reenable when Ubuntu is fixed | |
# - name: Wait for Cosmos Emulator | |
# uses: cygnetdigital/[email protected] | |
# with: | |
# url: 'https://localhost:8081/_explorer/index.html' | |
# responseCode: '200,500' | |
# timeout: 5000 | |
# interval: 500 | |
- name: Test | |
id: test | |
if: ${{ github.event_name == 'pull_request' || github.ref == 'refs/heads/main' }} | |
run: dotnet test --filter:'FullyQuallifiedName~Cosmos' --no-build --configuration:Release --logger:trx --results-directory ${{ env.ArtifactDirectory }} | |
- name: Test Results Comment | |
if: always() | |
uses: im-open/[email protected] | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
timezone: ${{ env.TIMEZONE }} | |
create-status-check: false | |
create-pr-comment: true | |
comment-identifier: 'TestResults' | |
# - name: Publish Test Results | |
# uses: EnricoMi/publish-unit-test-result-action/composite@v2 | |
# if: always() | |
# with: | |
# files: | | |
# ${{ env.ArtifactDirectory }}/**/*.trx | |
tag: | |
if: ${{ github.event_name != 'pull_request' }} | |
uses: ./.github/workflows/tag.yml | |
release: | |
needs: | |
- tag | |
- build_and_test | |
- build_and_test_cosmos | |
if: ${{ github.event_name != 'pull_request' && needs.tag.outputs.prerelease-depth < 2 }} | |
uses: ./.github/workflows/release.yml | |
with: | |
version: ${{ needs.tag.outputs.version }} | |
secrets: inherit |