Production Tests #1557
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: 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-12' || 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-12, | |
macos-13, | |
macos-latest, | |
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 | |
working-directory: test | |
- name: Build Kiota generated code | |
run: dotnet build ./GeneratedCode/Kiota/Kiota.sln | |
working-directory: test | |
JMeter: | |
strategy: | |
fail-fast: false | |
matrix: | |
format: [ json, yaml ] | |
version: [ V2, V3 ] | |
os: [ | |
ubuntu-20.04, | |
ubuntu-22.04, | |
macos-12, | |
macos-latest, | |
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-12, | |
macos-latest, | |
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 |