Skip to content

Production Tests

Production Tests #1462

name: Production Tests
on:
workflow_dispatch:
push:
paths:
- '.github/workflows/production-tests.yml'
branches:
- 'main'
schedule:
- cron: '0 8 * * *'
jobs:
CSharp:
name: C#
runs-on: ${{ matrix.os }}
continue-on-error: ${{ matrix.os == 'macos-10.15' || matrix.os == 'macos-11' || matrix.node == 12 }}
strategy:
fail-fast: false
matrix:
node: [12, 14, 15, 16, 18, 20]
format: [ json, yaml ]
version: [ V2, V3 ]
os: [
ubuntu-20.04,
ubuntu-22.04,
macos-11,
macos-12,
macos-13,
windows-2019,
windows-2022
]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 17
distribution: 'zulu'
- name: Setup .NET versions
uses: actions/setup-dotnet@v4
with:
dotnet-version: |
2.1.x
3.1.x
5.0.x
6.0.x
7.0.x
8.0.x
- name: Install rapicgen
run: dotnet tool install --global rapicgen
- name: Prepare Swagger Petstore OpenAPI Spec
run: cp ./OpenAPI/${{ matrix.version }}/Swagger.${{ matrix.format }} ./OpenApi.${{ matrix.format }}
working-directory: test
- name: Generate code with NSwag
run: |
rapicgen -v csharp nswag ./OpenApi.${{ matrix.format }} GeneratedCode ./GeneratedCode/NSwag/Output.cs --no-logging
cp ./GeneratedCode/NSwag/Output.cs ./GeneratedCode/NSwag/Net6/Output.cs
cp ./GeneratedCode/NSwag/Output.cs ./GeneratedCode/NSwag/Net7/Output.cs
cp ./GeneratedCode/NSwag/Output.cs ./GeneratedCode/NSwag/Net48/Output.cs
cp ./GeneratedCode/NSwag/Output.cs ./GeneratedCode/NSwag/Net472/Output.cs
cp ./GeneratedCode/NSwag/Output.cs ./GeneratedCode/NSwag/Net462/Output.cs
cp ./GeneratedCode/NSwag/Output.cs ./GeneratedCode/NSwag/Net481/Output.cs
cp ./GeneratedCode/NSwag/Output.cs ./GeneratedCode/NSwag/NetStandard20/Output.cs
working-directory: test
- name: Build .NET 6 NSwag generated code
run: dotnet build ./GeneratedCode/NSwag/Net6/Net6.csproj
working-directory: test
- name: Build .NET 7 NSwag generated code
run: dotnet build ./GeneratedCode/NSwag/Net7/Net7.csproj
working-directory: test
- name: Build .NET 4.8.1 NSwag generated code
run: dotnet build ./GeneratedCode/NSwag/Net481/Net481.csproj
if: ${{ matrix.os == 'windows-2022' }}
working-directory: test
- name: Build .NET 4.8 NSwag generated code
run: dotnet build ./GeneratedCode/NSwag/Net48/Net48.csproj
working-directory: test
- name: Build .NET 4.7.2 NSwag generated code
run: dotnet build ./GeneratedCode/NSwag/Net472/Net472.csproj
working-directory: test
- name: Build .NET 4.6.2 NSwag generated code
run: dotnet build ./GeneratedCode/NSwag/Net462/Net462.csproj
working-directory: test
- name: Build .NET Standard 2.0 NSwag generated code
run: dotnet build ./GeneratedCode/NSwag/NetStandard20/NetStandard20.csproj
working-directory: test
- name: Generate code with OpenAPI Generator
run: |
rapicgen -v csharp openapi ./OpenApi.${{ matrix.format }} GeneratedCode ./GeneratedCode/OpenApiGenerator/Output.cs --no-logging
cp ./GeneratedCode/OpenApiGenerator/Output.cs ./GeneratedCode/OpenApiGenerator/Net6/Output.cs
cp ./GeneratedCode/OpenApiGenerator/Output.cs ./GeneratedCode/OpenApiGenerator/Net7/Output.cs
cp ./GeneratedCode/OpenApiGenerator/Output.cs ./GeneratedCode/OpenApiGenerator/Net48/Output.cs
cp ./GeneratedCode/OpenApiGenerator/Output.cs ./GeneratedCode/OpenApiGenerator/Net472/Output.cs
cp ./GeneratedCode/OpenApiGenerator/Output.cs ./GeneratedCode/OpenApiGenerator/Net462/Output.cs
cp ./GeneratedCode/OpenApiGenerator/Output.cs ./GeneratedCode/OpenApiGenerator/Net481/Output.cs
cp ./GeneratedCode/OpenApiGenerator/Output.cs ./GeneratedCode/OpenApiGenerator/NetStandard20/Output.cs
working-directory: test
- name: Build .NET 6 OpenAPI Generator generated code
run: dotnet build ./GeneratedCode/OpenApiGenerator/Net6/Net6.csproj
working-directory: test
- name: Build .NET 7 OpenAPI Generator generated code
run: dotnet build ./GeneratedCode/OpenApiGenerator/Net7/Net7.csproj
working-directory: test
- name: Build .NET 4.8.1 OpenAPI Generator generated code
run: dotnet build ./GeneratedCode/OpenApiGenerator/Net481/Net481.csproj
if: ${{ matrix.os == 'windows-2022' }}
working-directory: test
- name: Build .NET 4.8 OpenAPI Generator generated code
run: dotnet build ./GeneratedCode/OpenApiGenerator/Net48/Net48.csproj
working-directory: test
- name: Build .NET 4.7.2 OpenAPI Generator generated code
run: dotnet build ./GeneratedCode/OpenApiGenerator/Net472/Net472.csproj
working-directory: test
- name: Build .NET 4.6.2 OpenAPI Generator generated code
run: dotnet build ./GeneratedCode/OpenApiGenerator/Net462/Net462.csproj
working-directory: test
- name: Build .NET Standard 2.0 OpenAPI Generator generated code
run: dotnet build ./GeneratedCode/OpenApiGenerator/NetStandard20/NetStandard20.csproj
working-directory: test
- name: Generate code with Swagger Codegen CLI
run: |
rapicgen -v csharp swagger ./OpenApi.${{ matrix.format }} GeneratedCode ./GeneratedCode/SwaggerCodegen/Output.cs --no-logging
cp ./GeneratedCode/SwaggerCodegen/Output.cs ./GeneratedCode/SwaggerCodegen/Net6/Output.cs
cp ./GeneratedCode/SwaggerCodegen/Output.cs ./GeneratedCode/SwaggerCodegen/Net7/Output.cs
cp ./GeneratedCode/SwaggerCodegen/Output.cs ./GeneratedCode/SwaggerCodegen/Net48/Output.cs
cp ./GeneratedCode/SwaggerCodegen/Output.cs ./GeneratedCode/SwaggerCodegen/Net472/Output.cs
cp ./GeneratedCode/SwaggerCodegen/Output.cs ./GeneratedCode/SwaggerCodegen/Net462/Output.cs
cp ./GeneratedCode/SwaggerCodegen/Output.cs ./GeneratedCode/SwaggerCodegen/Net481/Output.cs
cp ./GeneratedCode/SwaggerCodegen/Output.cs ./GeneratedCode/SwaggerCodegen/NetStandard20/Output.cs
working-directory: test
- name: Build .NET 6 Swagger Codegen CLI generated code
run: dotnet build ./GeneratedCode/SwaggerCodegen/Net6/Net6.csproj
working-directory: test
- name: Build .NET 7 Swagger Codegen CLI generated code
run: dotnet build ./GeneratedCode/SwaggerCodegen/Net7/Net7.csproj
working-directory: test
- name: Build .NET 4.8.1 Swagger Codegen CLI generated code
run: dotnet build ./GeneratedCode/SwaggerCodegen/Net481/Net481.csproj
if: ${{ matrix.os == 'windows-2022' }}
working-directory: test
- name: Build .NET 4.8 Swagger Codegen CLI generated code
run: dotnet build ./GeneratedCode/SwaggerCodegen/Net48/Net48.csproj
working-directory: test
- name: Build .NET 4.7.2 Swagger Codegen CLI generated code
run: dotnet build ./GeneratedCode/SwaggerCodegen/Net472/Net472.csproj
working-directory: test
- name: Build .NET 4.6.2 Swagger Codegen CLI generated code
run: dotnet build ./GeneratedCode/SwaggerCodegen/Net462/Net462.csproj
working-directory: test
- name: Build .NET Standard 2.0 Swagger Codegen CLI generated code
run: dotnet build ./GeneratedCode/SwaggerCodegen/NetStandard20/NetStandard20.csproj
working-directory: test
- name: Build .NET Standard 2.0 Swagger Codegen CLI generated code
run: dotnet build ./GeneratedCode/SwaggerCodegen/NetStandard20/NetStandard20.csproj
working-directory: test
- name: Generate code with AutoRest
run: |
rapicgen -v csharp autorest ./OpenApi.${{ matrix.format }} GeneratedCode ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs --no-logging
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/Net6/Output.cs
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/Net7/Output.cs
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/Net48/Output.cs
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/Net472/Output.cs
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/Net462/Output.cs
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/Net481/Output.cs
cp ./GeneratedCode/AutoRest-${{ matrix.version }}/Output.cs ./GeneratedCode/AutoRest-${{ matrix.version }}/NetStandard20/Output.cs
working-directory: test
continue-on-error: true
- name: Build .NET 6 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/Net6/Net6.csproj
working-directory: test
- name: Build .NET 7 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/Net7/Net7.csproj
working-directory: test
- name: Build .NET 4.8.1 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/Net481/Net481.csproj
if: ${{ matrix.version == 'V2' && matrix.os == 'windows-2022' }}
working-directory: test
- name: Build .NET 4.8 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/Net48/Net48.csproj
working-directory: test
- name: Build .NET 4.7.2 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/Net472/Net472.csproj
working-directory: test
- name: Build .NET 4.6.2 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/Net462/Net462.csproj
if: ${{ matrix.version == 'V2' }}
working-directory: test
- name: Build .NET Standard 2.0 AutoRest generated code
run: dotnet build ./GeneratedCode/AutoRest-${{ matrix.version }}/NetStandard20/NetStandard20.csproj
working-directory: test
- name: Generate code with Kiota
run: |
rapicgen -v csharp kiota ./OpenApi.${{ matrix.format }} GeneratedCode ./GeneratedCode/Kiota/Output.cs --no-logging
cp ./GeneratedCode/Kiota/Output.cs ./GeneratedCode/Kiota/Net6/Output.cs
cp ./GeneratedCode/Kiota/Output.cs ./GeneratedCode/Kiota/Net7/Output.cs
cp ./GeneratedCode/Kiota/Output.cs ./GeneratedCode/Kiota/Net48/Output.cs
cp ./GeneratedCode/Kiota/Output.cs ./GeneratedCode/Kiota/Net472/Output.cs
cp ./GeneratedCode/Kiota/Output.cs ./GeneratedCode/Kiota/Net462/Output.cs
cp ./GeneratedCode/Kiota/Output.cs ./GeneratedCode/Kiota/Net481/Output.cs
cp ./GeneratedCode/Kiota/Output.cs ./GeneratedCode/Kiota/NetStandard20/Output.cs
working-directory: test
- name: Build .NET 6 Kiota generated code
run: dotnet build ./GeneratedCode/Kiota/Net6/Net6.csproj
working-directory: test
- name: Build .NET 7 Kiota generated code
run: dotnet build ./GeneratedCode/Kiota/Net7/Net7.csproj
working-directory: test
- name: Build .NET 4.8.1 Kiota generated code
run: dotnet build ./GeneratedCode/Kiota/Net481/Net481.csproj
if: ${{ matrix.os == 'windows-2022' }}
working-directory: test
- name: Build .NET 4.8 Kiota generated code
run: dotnet build ./GeneratedCode/Kiota/Net48/Net48.csproj
working-directory: test
- name: Build .NET 4.7.2 Kiota generated code
run: dotnet build ./GeneratedCode/Kiota/Net472/Net472.csproj
working-directory: test
- name: Build .NET 4.6.2 Kiota generated code
run: dotnet build ./GeneratedCode/Kiota/Net462/Net462.csproj
working-directory: test
- name: Build .NET Standard 2.0 Kiota generated code
run: dotnet build ./GeneratedCode/Kiota/NetStandard20/NetStandard20.csproj
working-directory: test
JMeter:
strategy:
fail-fast: false
matrix:
format: [ json, yaml ]
version: [ V2, V3 ]
os: [
ubuntu-20.04,
ubuntu-22.04,
macos-11,
macos-12,
windows-2019,
windows-2022
]
name: JMeter
runs-on: ${{ matrix.os }}
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 17
distribution: 'zulu'
- name: Setup .NET versions
uses: actions/setup-dotnet@v4
with:
dotnet-version: |
2.1.x
3.1.x
5.0.x
6.0.x
7.0.x
8.0.x
- name: Install rapicgen
run: dotnet tool install --global rapicgen
- name: Prepare Swagger Petstore OpenAPI Spec
run: cp ./OpenAPI/${{ matrix.version }}/Swagger.${{ matrix.format }} ./OpenApi.${{ matrix.format }}
working-directory: test
- name: Generate JMeter
run: |
rapicgen -v jmeter ./OpenApi.${{ matrix.format }} --no-logging
working-directory: test
TypeScript:
strategy:
fail-fast: false
matrix:
format: [ json, yaml ]
version: [ V2, V3 ]
os: [
ubuntu-20.04,
ubuntu-22.04,
macos-11,
macos-12,
windows-2019,
windows-2022
]
name: TypeScript
runs-on: ${{ matrix.os }}
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: 17
distribution: 'zulu'
- name: Setup .NET versions
uses: actions/setup-dotnet@v4
with:
dotnet-version: |
2.1.x
3.1.x
5.0.x
6.0.x
7.0.x
8.0.x
- name: Install rapicgen
run: dotnet tool install --global rapicgen
- name: Prepare Swagger Petstore OpenAPI Spec
run: cp ./OpenAPI/${{ matrix.version }}/Swagger.${{ matrix.format }} ./OpenApi.${{ matrix.format }}
working-directory: test
- name: Generate TypeScript (Angular)
run: |
rapicgen -v typescript Angular ./OpenApi.${{ matrix.format }} Angular --no-logging
working-directory: test
- name: Generate TypeScript (Aurelia)
run: |
rapicgen -v typescript Aurelia ./OpenApi.${{ matrix.format }} Aurelia --no-logging
working-directory: test
- name: Generate TypeScript (Axios)
run: |
rapicgen -v typescript Axios ./OpenApi.${{ matrix.format }} Axios --no-logging
working-directory: test
- name: Generate TypeScript (Fetch)
run: |
rapicgen -v typescript Fetch ./OpenApi.${{ matrix.format }} Fetch --no-logging
working-directory: test
- name: Generate TypeScript (Inversify)
run: |
rapicgen -v typescript Inversify ./OpenApi.${{ matrix.format }} Inversify --no-logging
working-directory: test
- name: Generate TypeScript (JQuery)
run: |
rapicgen -v typescript JQuery ./OpenApi.${{ matrix.format }} JQuery --no-logging
working-directory: test
- name: Generate TypeScript (NestJS)
run: |
rapicgen -v typescript NestJS ./OpenApi.${{ matrix.format }} NestJS --no-logging
working-directory: test
- name: Generate TypeScript (Node)
run: |
rapicgen -v typescript Node ./OpenApi.${{ matrix.format }} Node --no-logging
working-directory: test
- name: Generate TypeScript (ReduxQuery)
run: |
rapicgen -v typescript ReduxQuery ./OpenApi.${{ matrix.format }} ReduxQuery --no-logging
working-directory: test
- name: Generate TypeScript (Rxjs)
run: |
rapicgen -v typescript Rxjs ./OpenApi.${{ matrix.format }} Rxjs --no-logging
working-directory: test