Skip to content

Workflow file for this run

#name: Publish
#
#on:
# pull_request:
# push:
# branches:
# - master
# tags:
# - v*
#
#jobs:
# vulnerability-scan:
# timeout-minutes: 10
# strategy:
# fail-fast: false
# matrix:
# framework: [ net8.0 ]
# os: [ ubuntu-latest, windows-latest ]
# runs-on: ${{ matrix.os }}
# name: scan-vulnerabilities/${{ matrix.os }}/${{ matrix.framework }}
# steps:
# - name: Checkout
# uses: actions/checkout@v3
# - name: Install dotnet SDKs
# uses: actions/setup-dotnet@v3
# with:
# dotnet-version: |
# 8.0.x
# - name: Scan for Vulnerabilities
# shell: bash
# run: |
# dotnet nuget list source
# dotnet restore
# dotnet list package --vulnerable --include-transitive --framework ${{ matrix.framework }} | tee vulnerabilities.txt
# ! cat vulnerabilities.txt | grep -q "has the following vulnerable packages"
#
# build-samples:
# timeout-minutes: 5
# name: build-samples/${{ matrix.framework }}
# runs-on: ubuntu-latest
# strategy:
# fail-fast: false
# matrix:
# framework: [ net8.0 ]
# services:
# esdb:
# image: docker.eventstore.com/eventstore-ce/eventstoredb-ce:lts
# env:
# EVENTSTORE_INSECURE: true
# EVENTSTORE_MEM_DB: false
# EVENTSTORE_RUN_PROJECTIONS: all
# EVENTSTORE_START_STANDARD_PROJECTIONS: true
# ports:
# - 2113:2113
# options: --health-cmd "exit 0"
# steps:
# - name: Checkout
# uses: actions/checkout@v3
# - name: Install dotnet SDKs
# uses: actions/setup-dotnet@v3
# with:
# dotnet-version: |
# 8.0.x
# - name: Compile
# shell: bash
# run: |
# dotnet build samples
# - name: Run
# shell: bash
# run: |
# find samples/ -type f -iname "*.csproj" -print0 | xargs -0L1 dotnet run --framework ${{ matrix.framework }} --project
#
# generate-certificates:
# runs-on: ubuntu-latest
# steps:
# - name: Checkout code
# uses: actions/checkout@v4
# - name: Generate certificates
# run: |
# mkdir -p certs
# docker run --rm --user root --volume "$PWD/certs:/tmp" docker.eventstore.com/eventstore-utils/es-gencert-cli:latest create-ca -out /tmp/ca
# docker run --rm --user root --volume "$PWD/certs:/tmp" docker.eventstore.com/eventstore-utils/es-gencert-cli:latest create-node -ca-certificate /tmp/ca/ca.crt -ca-key /tmp/ca/ca.key -out /tmp/node -ip-addresses 127.0.0.1 -dns-names localhost
# docker run --rm --user root --volume "$PWD/certs:/tmp" docker.eventstore.com/eventstore-utils/es-gencert-cli:latest create-user -username admin -ca-certificate /tmp/ca/ca.crt -ca-key /tmp/ca/ca.key -out /tmp/user-admin
# docker run --rm --user root --volume "$PWD/certs:/tmp" docker.eventstore.com/eventstore-utils/es-gencert-cli:latest create-user -username invalid -ca-certificate /tmp/ca/ca.crt -ca-key /tmp/ca/ca.key -out /tmp/user-invalid
# - name: Set permissions on certificates
# run: |
# sudo chown -R $USER:$USER certs
# sudo chmod -R 755 certs
# - name: Upload certificates
# uses: actions/upload-artifact@v4
# with:
# name: certs
# path: certs
#
# test:
# needs: generate-certificates
# timeout-minutes: 20
# strategy:
# fail-fast: false
# matrix:
# framework: [ net8.0 ]
# os: [ ubuntu-latest, windows-latest ]
# configuration: [ release ]
# runs-on: ${{ matrix.os }}
# name: test/EventStore.Client/${{ matrix.os }}/${{ matrix.framework }}
# steps:
# - name: Checkout
# uses: actions/checkout@v3
# - shell: bash
# run: |
# git fetch --prune --unshallow
# - name: Install dotnet SDKs
# uses: actions/setup-dotnet@v3
# with:
# dotnet-version: |
# 8.0.x
# - name: Compile
# shell: bash
# run: |
# dotnet build --configuration ${{ matrix.configuration }} --framework ${{ matrix.framework }} src/EventStore.Client
# - name: Download certificates
# uses: actions/download-artifact@v4
# with:
# name: certs
# path: certs
# - name: Run Tests (Linux)
# if: runner.os == 'Linux'
# shell: bash
# run: |
# dotnet test --configuration ${{ matrix.configuration }} --blame \
# --logger:"GitHubActions;report-warnings=false" --logger:"console;verbosity=normal" \
# --framework ${{ matrix.framework }} \
# test/EventStore.Client.Tests
# - name: Run Tests (Windows)
# if: runner.os == 'Windows'
# shell: pwsh
# run: |
# dotnet test --configuration ${{ matrix.configuration }} --blame `
# --logger:"GitHubActions;report-warnings=false" --logger:"console;verbosity=normal" `
# --framework ${{ matrix.framework }} `
# test/EventStore.Client.Tests
#
# publish:
# timeout-minutes: 5
# needs: [ vulnerability-scan, test, build-samples ]
# runs-on: ubuntu-latest
# name: publish
# steps:
# - name: Checkout
# uses: actions/checkout@v3
# - name: Get Version
# id: get_version
# run: |
# echo "branch=${GITHUB_REF:10}" >> $GITHUB_OUTPUT
# dotnet nuget list source
# dotnet tool restore
# version=$(dotnet tool run minver -- --tag-prefix=v)
# echo "version=${version}" >> $GITHUB_OUTPUT
# - shell: bash
# run: |
# git fetch --prune --unshallow
# - name: Install dotnet SDKs
# uses: actions/setup-dotnet@v3
# with:
# dotnet-version: |
# 8.0.x
# - name: Dotnet Pack
# shell: bash
# run: |
# mkdir -p packages
# dotnet pack /p:Version=${{ steps.get_version.outputs.version }} --configuration=Release \
# /p:PublishDir=./packages \
# /p:NoWarn=NU5105 \
# /p:RepositoryUrl=https://github.com/EventStore/EventStore-Client-Dotnet \
# /p:RepositoryType=git
# - name: Publish Artifacts
# uses: actions/upload-artifact@v4
# with:
# path: packages
# name: nuget-packages
# - name: Dotnet Push to Github Packages
# shell: bash
# if: github.event_name == 'push'
# run: |
# dotnet tool restore
# find . -name "*.nupkg" | xargs -n1 dotnet nuget push --api-key=${{ secrets.github_token }} --source https://nuget.pkg.github.com/EventStore/index.json --skip-duplicate
# - name: Dotnet Push to Nuget.org
# shell: bash
# if: contains(steps.get_version.outputs.branch, 'v')
# run: |
# dotnet nuget list source
# dotnet tool restore
# find . -name "*.nupkg" | xargs -n1 dotnet nuget push --api-key=${{ secrets.nuget_key }} --source https://api.nuget.org/v3/index.json --skip-duplicate