CI #221
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: CI | |
on: | |
push: | |
pull_request: | |
workflow_dispatch: | |
# see https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#schedule | |
schedule: | |
# once a day | |
- cron: "0 0 * * *" | |
jobs: | |
buildAndTest-linux: | |
name: Build and Run Tests (Linux) | |
runs-on: ubuntu-22.04 | |
container: | |
# TODO: move to 24.04 as soon as it is published in Apr2024 | |
image: "ubuntu:23.10" | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Install required dependencies | |
run: | | |
apt update | |
apt install --yes sudo | |
sudo apt install --yes --no-install-recommends git | |
# workaround for https://github.com/actions/runner/issues/2033 | |
git config --global --add safe.directory '*' | |
- name: Setup .NET | |
run: | | |
# We need to install `ca-certificates`, otherwise we get these errors in the CI: | |
# Unable to load the service index for source https://api.nuget.org/v3/index.json. | |
# The SSL connection could not be established, see inner exception. | |
# The remote certificate is invalid because of errors in the certificate chain: UntrustedRoot | |
apt install --yes --no-install-recommends ca-certificates | |
apt install --yes --no-install-recommends dotnet8 | |
# Trust ASP.NET Core HTTPS development certificate so that GRPC server can be contacted through HTTPS. | |
# HTTPS connection is used in end-to-end GRPC tests. | |
dotnet dev-certs https | |
sudo -E dotnet dev-certs https --export-path /usr/local/share/ca-certificates/aspnet/https.crt --format PEM | |
sudo update-ca-certificates | |
- name: Restore nuget dependencies | |
run: dotnet restore | |
- name: Compile the main solution | |
run: dotnet build --no-restore | |
- name: Install and start Redis | |
run: | | |
sudo apt install --yes --no-install-recommends redis-server | |
redis-server --daemonize yes | |
- name: Run tests | |
run: dotnet test | |
buildAndTest-windows: | |
name: Build (Windows) | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v1 | |
with: | |
submodules: false | |
- name: Setup .NET SDK 8.0.x | |
uses: actions/[email protected] | |
with: | |
dotnet-version: '8.0.101' | |
- name: Restore nuget dependencies | |
run: dotnet restore | |
- name: Compile the main solution | |
run: dotnet build --no-restore |