Compare commits

..

10 Commits

Author SHA1 Message Date
William Cheng
4198c2389d undo typescript change 2023-08-09 16:27:02 +08:00
William Cheng
37dae597fb Merge branch 'deco-supports-es6' of https://github.com/OpenAPITools/openapi-generator into deco-supports-es6 2023-08-09 15:23:21 +08:00
William Cheng
d31108c58e add option to skip type module 2023-08-09 15:20:02 +08:00
William Cheng
323fc81ff0 fix 2023-07-28 09:30:21 +08:00
William Cheng
d96a5f5685 reinstall npm 2023-07-27 14:02:47 +08:00
William Cheng
dcae9a3cd5 update samples, doc 2023-07-27 10:33:32 +08:00
William Cheng
eb103b5e83 use parameterNameMappings 2023-07-27 10:13:42 +08:00
William Cheng
d49b20b3ba update ts template to remove supportsES6 option 2023-07-27 09:53:59 +08:00
William Cheng
ce3bd1f79d more cleanup 2023-07-26 11:52:48 +08:00
William Cheng
8636efe493 remove supportsES6 option 2023-07-26 11:10:58 +08:00
45698 changed files with 885769 additions and 3999474 deletions

View File

@ -57,43 +57,54 @@ commands: # a reusable command with parameters
- run: docker ps -a - run: docker ps -a
- run: sleep 30 - run: sleep 30
- run: cat /etc/hosts - run: cat /etc/hosts
- run: export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=128m" # Test
- run: ./mvnw --no-snapshot-updates --quiet clean install -Dorg.slf4j.simpleLogger.defaultLogLevel=error
- run: - run:
name: "Setup custom environment variables" name: "Setup custom environment variables"
command: echo 'export CIRCLE_NODE_INDEX="<<parameters.nodeNo>>"' >> $BASH_ENV command: echo 'export CIRCLE_NODE_INDEX="<<parameters.nodeNo>>"' >> $BASH_ENV
- run: ./CI/circle_parallel.sh - run: ./CI/circle_parallel.sh
# Save dependency cache # Save dependency cache
#- save_cache: - save_cache:
# key: source-v2-{{ .Branch }}-{{ .Revision }} key: source-v2-{{ .Branch }}-{{ .Revision }}
# paths: paths:
# # This is a broad list of cache paths to include many possible development environments # This is a broad list of cache paths to include many possible development environments
# # You can probably delete some of these entries # You can probably delete some of these entries
# - ~/.m2 - vendor/bundle
# - ~/.ivy2 - ~/.nvm
# - ~/.sbt - ~/.pyenv
# - ~/.bundle - ~/virtualenvs
# - ~/.go_workspace - ~/.m2
# - ~/.gradle - ~/.ivy2
# - ".git" - ~/.sbt
# - ~/.stack - ~/.bundle
# - ~/R - ~/.go_workspace
## save "default" cache using the key "source-v2-" - ~/.gradle
#- save_cache: - ~/.cache/bower
# key: source-v2- - ".git"
# paths: - ~/.stack
# # This is a broad list of cache paths to include many possible development environments - /home/circleci/OpenAPITools/openapi-generator/samples/client/petstore/haskell-http-client/.stack-work
# # You can probably delete some of these entries - ~/R
# - vendor/bundle # save "default" cache using the key "source-v2-"
# - ~/.m2 - save_cache:
# - ~/.ivy2 key: source-v2-
# - ~/.sbt paths:
# - ~/.bundle # This is a broad list of cache paths to include many possible development environments
# - ~/.go_workspace # You can probably delete some of these entries
# - ~/.gradle - vendor/bundle
# - ~/.cache/bower - ~/.nvm
# - ".git" - ~/.pyenv
# - ~/.stack - ~/virtualenvs
# - ~/R - ~/.m2
- ~/.ivy2
- ~/.sbt
- ~/.bundle
- ~/.go_workspace
- ~/.gradle
- ~/.cache/bower
- ".git"
- ~/.stack
- /home/circleci/OpenAPITools/openapi-generator/samples/client/petstore/haskell-http-client/.stack-work
- ~/R
# Teardown # Teardown
# If you break your build into multiple jobs with workflows, you will probably want to do the parts of this that are relevant in each # If you break your build into multiple jobs with workflows, you will probably want to do the parts of this that are relevant in each
# Save test results # Save test results
@ -141,7 +152,7 @@ commands: # a reusable command with parameters
jobs: jobs:
node0: node0:
machine: machine:
image: ubuntu-2004:2024.01.1 image: ubuntu-2004:202201-02
working_directory: ~/OpenAPITools/openapi-generator working_directory: ~/OpenAPITools/openapi-generator
shell: /bin/bash --login shell: /bin/bash --login
environment: environment:
@ -154,7 +165,7 @@ jobs:
nodeNo: "0" nodeNo: "0"
node1: node1:
machine: machine:
image: ubuntu-2004:2024.01.1 image: ubuntu-2004:202201-02
working_directory: ~/OpenAPITools/openapi-generator working_directory: ~/OpenAPITools/openapi-generator
shell: /bin/bash --login shell: /bin/bash --login
environment: environment:
@ -167,7 +178,7 @@ jobs:
nodeNo: "1" nodeNo: "1"
node2: node2:
machine: machine:
image: ubuntu-2004:2024.01.1 image: ubuntu-2004:202201-02
working_directory: ~/OpenAPITools/openapi-generator working_directory: ~/OpenAPITools/openapi-generator
shell: /bin/bash --login shell: /bin/bash --login
environment: environment:
@ -180,7 +191,7 @@ jobs:
nodeNo: "2" nodeNo: "2"
node3: node3:
machine: machine:
image: ubuntu-2004:2024.01.1 image: ubuntu-2004:202201-02
working_directory: ~/OpenAPITools/openapi-generator working_directory: ~/OpenAPITools/openapi-generator
shell: /bin/bash --login shell: /bin/bash --login
environment: environment:
@ -192,6 +203,20 @@ jobs:
- checkout - checkout
- command_build_and_test: - command_build_and_test:
nodeNo: "3" nodeNo: "3"
node4:
docker:
- image: fkrull/multi-python
working_directory: ~/OpenAPITools/openapi-generator
shell: /bin/bash --login
environment:
CIRCLE_ARTIFACTS: /tmp/circleci-artifacts
CIRCLE_TEST_REPORTS: /tmp/circleci-test-results
DOCKER_GENERATOR_IMAGE_NAME: openapitools/openapi-generator
DOCKER_CODEGEN_CLI_IMAGE_NAME: openapitools/openapi-generator-cli
steps:
- checkout
- command_docker_build_and_test:
nodeNo: "4"
workflows: workflows:
version: 2 version: 2
build: build:
@ -200,3 +225,4 @@ workflows:
- node1 - node1
- node2 - node2
- node3 - node3
- node4

View File

@ -1 +0,0 @@
RUN apt update && apt install -y maven

View File

@ -9,13 +9,7 @@
"ghcr.io/devcontainers/features/node:1": { "ghcr.io/devcontainers/features/node:1": {
"version": "lts" "version": "lts"
}, },
"ghcr.io/devcontainers/features/rust:1": {}, "ghcr.io/snebjorn/devcontainer-feature/chromium:latest": {}
"ghcr.io/snebjorn/devcontainer-feature/chromium:latest": {},
"docker-in-docker": {
"version": "latest",
"moby": true,
"dockerDashComposeVersion": "v1"
}
}, },
// Configure tool-specific properties. // Configure tool-specific properties.
"customizations": { "customizations": {
@ -26,8 +20,8 @@
"java.configuration.runtimes": [ "java.configuration.runtimes": [
{ {
"name": "JavaSE-11", "name": "JavaSE-11",
"path": "/usr/local/sdkman/candidates/java/current", "path": "/usr/local/sdkman/candidates/java/11.0.16.1-ms",
"sources": "/usr/local/sdkman/candidates/java/current/lib/src.zip", "sources": "/usr/local/sdkman/candidates/java/11.0.16.1-ms/lib/src.zip",
"javadoc": "https://docs.oracle.com/en/java/javase/11/docs/api", "javadoc": "https://docs.oracle.com/en/java/javase/11/docs/api",
"default": true "default": true
} }

2
.envrc
View File

@ -1 +1 @@
has nix && use flake use flake

View File

@ -319,6 +319,12 @@
"Client: Java" "Client: Java"
] ]
}, },
{
"input": "java-petstore-jersey1.sh",
"matches": [
"Client: Java"
]
},
{ {
"input": "java-petstore-jersey2-java6.sh", "input": "java-petstore-jersey2-java6.sh",
"matches": [ "matches": [
@ -578,6 +584,18 @@
"Server: Java" "Server: Java"
] ]
}, },
{
"input": "jaxrs-jersey1-petstore-server.sh",
"matches": [
"Server: Java"
]
},
{
"input": "jaxrs-jersey1-usetags-petstore-server.sh",
"matches": [
"Server: Java"
]
},
{ {
"input": "jaxrs-petstore-server-datelib-j8.sh", "input": "jaxrs-petstore-server-datelib-j8.sh",
"matches": [ "matches": [
@ -782,6 +800,12 @@
"Client: Python" "Client: Python"
] ]
}, },
{
"input": "python-server-flask-petstore-python2.sh",
"matches": [
"Server: Python"
]
},
{ {
"input": "python-server-flask-petstore.sh", "input": "python-server-flask-petstore.sh",
"matches": [ "matches": [

27
.github/CODEOWNERS vendored
View File

@ -12,19 +12,24 @@ modules/openapi-generator-core/**/* @OpenAPITools/generator-core-team
# No need for auto-generated subdirectories (reduces noise) # No need for auto-generated subdirectories (reduces noise)
docs/ @OpenAPITools/generator-core-team docs/ @OpenAPITools/generator-core-team
## Individual interests
.github/**/* @jimschubert
scripts/**/* @jimschubert
website/**/* @jimschubert
bin/ci/**/* @jimschubert
## Build related ## Build related
CI/**/* @OpenAPITools/build CI/**/* @OpenAPITools/build
.mvn/**/* @OpenAPITools/build .mvn/**/* @OpenAPITools/build
bin/utils/**/* @OpenAPITools/build bin/utils/**/* @OpenAPITools/build
# cpp-qt-client technical committee ## Module-specific
modules/openapi-generator/src/main/resources/cpp-qt-client/**/* @ravinikam modules/openapi-generator-cli/**/* @jimschubert
samples/client/petstore/cpp-qt/**/* @ravinikam modules/openapi-generator-gradle-plugin/**/* @jimschubert
modules/openapi-generator/src/main/resources/cpp-qt-client/**/* @stkrwork modules/openapi-generator-maven-plugin/**/* @jimschubert
samples/client/petstore/cpp-qt/**/* @stkrwork
modules/openapi-generator/src/main/resources/cpp-qt-client/**/* @etherealjoy # Martin Delille
samples/client/petstore/cpp-qt/**/* @etherealjoy /Users/martin/dev/clone/openapi-generator/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppQtClientCodegen.java @martindelille
modules/openapi-generator/src/main/resources/cpp-qt-client/**/* @martindelille /Users/martin/dev/clone/openapi-generator/modules/openapi-generator/src/main/java/org/openapitools/codegen/languages/CppQtAbstractCodegen.java @martindelille
samples/client/petstore/cpp-qt/**/* @martindelille /Users/martin/dev/clone/openapi-generator/modules/openapi-generator/src/main/resources/cpp-qt-client @martindelille
modules/openapi-generator/src/main/resources/cpp-qt-client/**/* @muttleyxd /Users/martin/dev/clone/openapi-generator/samples/client/petstore/cpp-qt @martindelille
samples/client/petstore/cpp-qt/**/* @muttleyxd

View File

@ -10,7 +10,7 @@ assignees: ''
#### Bug Report Checklist #### Bug Report Checklist
- [ ] Have you provided a full/minimal spec to reproduce the issue? - [ ] Have you provided a full/minimal spec to reproduce the issue?
- [ ] Have you validated the input using an OpenAPI validator ([example](https://apitools.dev/swagger-parser/online/))? - [ ] Have you validated the input using an OpenAPI validator ([example](https://apidevtools.org/swagger-parser/online/))?
- [ ] Have you [tested with the latest master](https://github.com/OpenAPITools/openapi-generator/wiki/FAQ#how-to-test-with-the-latest-master-of-openapi-generator) to confirm the issue still exists? - [ ] Have you [tested with the latest master](https://github.com/OpenAPITools/openapi-generator/wiki/FAQ#how-to-test-with-the-latest-master-of-openapi-generator) to confirm the issue still exists?
- [ ] Have you searched for related issues/PRs? - [ ] Have you searched for related issues/PRs?
- [ ] What's the actual output vs expected output? - [ ] What's the actual output vs expected output?

View File

@ -7,15 +7,19 @@
- [ ] Pull Request title clearly describes the work in the pull request and Pull Request description provides details about how to validate the work. Missing information here may result in delayed response from the community. - [ ] Pull Request title clearly describes the work in the pull request and Pull Request description provides details about how to validate the work. Missing information here may result in delayed response from the community.
- [ ] Run the following to [build the project](https://github.com/OpenAPITools/openapi-generator#14---build-projects) and update samples: - [ ] Run the following to [build the project](https://github.com/OpenAPITools/openapi-generator#14---build-projects) and update samples:
``` ```
./mvnw clean package || exit ./mvnw clean package
./bin/generate-samples.sh ./bin/configs/*.yaml || exit ./bin/generate-samples.sh
./bin/utils/export_docs_generators.sh || exit ./bin/utils/export_docs_generators.sh
``` ```
(For Windows users, please run the script in [Git BASH](https://gitforwindows.org/))
Commit all changed files. Commit all changed files.
This is important, as CI jobs will verify _all_ generator outputs of your HEAD commit as it would merge with master. This is important, as CI jobs will verify _all_ generator outputs of your HEAD commit as it would merge with master.
These must match the expectations made by your contribution. These must match the expectations made by your contribution.
You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example `./bin/generate-samples.sh bin/configs/java*`. You may regenerate an individual generator by passing the relevant config(s) as an argument to the script, for example `./bin/generate-samples.sh bin/configs/java*`.
IMPORTANT: Do **NOT** purge/delete any folders/files (e.g. tests) when regenerating the samples as manually written tests may be removed. For Windows users, please run the script in [Git BASH](https://gitforwindows.org/).
- [ ] File the PR against the [correct branch](https://github.com/OpenAPITools/openapi-generator/wiki/Git-Branches): `master` (upcoming `7.x.0` minor release - breaking changes with fallbacks), `8.0.x` (breaking changes without fallbacks) - [ ] In case you are adding a new generator, run the following additional script :
```
./bin/utils/ensure-up-to-date
```
Commit all changed files.
- [ ] File the PR against the [correct branch](https://github.com/OpenAPITools/openapi-generator/wiki/Git-Branches): `master` (6.3.0) (minor release - breaking changes with fallbacks), `7.0.x` (breaking changes without fallbacks)
- [ ] If your PR is targeting a particular programming language, @mention the [technical committee](https://github.com/openapitools/openapi-generator/#62---openapi-generator-technical-committee) members, so they are more likely to review the pull request. - [ ] If your PR is targeting a particular programming language, @mention the [technical committee](https://github.com/openapitools/openapi-generator/#62---openapi-generator-technical-committee) members, so they are more likely to review the pull request.

View File

@ -1,7 +1,6 @@
name: Docker tests name: Docker tests
on: on:
workflow_dispatch:
push: push:
paths: paths:
- Dockerfile - Dockerfile
@ -9,8 +8,6 @@ on:
- pom.xml - pom.xml
- modules/openapi-generator-online/pom.xml - modules/openapi-generator-online/pom.xml
- modules/openapi-generator-online/Dockerfile - modules/openapi-generator-online/Dockerfile
- modules/openapi-generator-cli/pom.xml
- modules/openapi-generator-cli/Dockerfile
pull_request: pull_request:
paths: paths:
- Dockerfile - Dockerfile
@ -18,21 +15,19 @@ on:
- pom.xml - pom.xml
- modules/openapi-generator-online/pom.xml - modules/openapi-generator-online/pom.xml
- modules/openapi-generator-online/Dockerfile - modules/openapi-generator-online/Dockerfile
- modules/openapi-generator-cli/pom.xml
- modules/openapi-generator-cli/Dockerfile
jobs: jobs:
build: build:
name: 'Build: Docker' name: 'Build: Docker'
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Check out code - name: Check out code
uses: actions/checkout@v4 uses: actions/checkout@v3
- name: Test run-in-docker.sh - name: Test run-in-docker.sh
shell: bash shell: bash
run: | run: |
sed -i 's/ -it / /g' run-in-docker.sh sed -i 's/ -it / /g' run-in-docker.sh
./run-in-docker.sh mvn -B clean install ./run-in-docker.sh mvn clean install
- name: Build Dockerfile - name: Build Dockerfile
shell: bash shell: bash
@ -42,12 +37,3 @@ jobs:
shell: bash shell: bash
run: | run: |
docker build modules/openapi-generator-online/ -t test docker build modules/openapi-generator-online/ -t test
- name: Build and test modules/openapi-generator-cli
shell: bash
run: |
cp docker-entrypoint.sh ./modules/openapi-generator-cli
docker build modules/openapi-generator-cli/ -t cli-test
docker run --rm -v "${PWD}:/local" cli-test generate \
-i https://raw.githubusercontent.com/openapitools/openapi-generator/master/modules/openapi-generator/src/test/resources/3_0/petstore.yaml \
-g go \
-o /local/out/go

View File

@ -13,14 +13,14 @@ jobs:
name: Gradle plugin tests name: Gradle plugin tests
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up JDK 11 - name: Set up JDK 11
uses: actions/setup-java@v4 uses: actions/setup-java@v3
with: with:
java-version: 11 java-version: 11
distribution: 'temurin' distribution: 'temurin'
- name: Cache maven dependencies - name: Cache maven dependencies
uses: actions/cache@v4 uses: actions/cache@v3
env: env:
cache-name: cache-maven-repository cache-name: cache-maven-repository
with: with:

View File

@ -10,7 +10,7 @@ on:
- 'samples/client/petstore/java/**' - 'samples/client/petstore/java/**'
- 'samples/openapi3/client/petstore/java/**' - 'samples/openapi3/client/petstore/java/**'
env: env:
GRADLE_VERSION: 8.7 GRADLE_VERSION: 7.2
jobs: jobs:
build: build:
@ -29,24 +29,22 @@ jobs:
- samples/client/petstore/java/okhttp-gson - samples/client/petstore/java/okhttp-gson
- samples/client/petstore/java/okhttp-gson-group-parameter - samples/client/petstore/java/okhttp-gson-group-parameter
- samples/client/petstore/java/webclient-swagger2 - samples/client/petstore/java/webclient-swagger2
- samples/client/petstore/java/native
- samples/client/petstore/java/native-jakarta
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- uses: actions/setup-java@v4 - uses: actions/setup-java@v3
with: with:
distribution: 'temurin' distribution: 'temurin'
java-version: 11 java-version: 11
# Cache Gradle Dependencies # Cache Gradle Dependencies
- name: Setup Gradle Dependencies Cache - name: Setup Gradle Dependencies Cache
uses: actions/cache@v4 uses: actions/cache@v3
with: with:
path: ~/.gradle/caches path: ~/.gradle/caches
key: ${{ runner.os }}-gradle-caches-${{ hashFiles('**/*.gradle', '**/*.gradle.kts') }} key: ${{ runner.os }}-gradle-caches-${{ hashFiles('**/*.gradle', '**/*.gradle.kts') }}
# Cache Gradle Wrapper # Cache Gradle Wrapper
- name: Setup Gradle Wrapper Cache - name: Setup Gradle Wrapper Cache
uses: actions/cache@v4 uses: actions/cache@v3
with: with:
path: ~/.gradle/wrapper path: ~/.gradle/wrapper
key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }} key: ${{ runner.os }}-gradle-wrapper-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}

View File

@ -20,22 +20,22 @@ jobs:
os: [ubuntu-latest] os: [ubuntu-latest]
steps: steps:
- name: Check out code - name: Check out code
uses: actions/checkout@v4 uses: actions/checkout@v3
- name: Set up JDK ${{ matrix.java }} - name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v4 uses: actions/setup-java@v3
with: with:
distribution: 'temurin' distribution: 'temurin'
java-version: ${{ matrix.java }} java-version: ${{ matrix.java }}
- uses: actions/cache@v4 - uses: actions/cache@v3
with: with:
path: ~/.m2/repository path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('pom.xml', 'modules/**/pom.xml') }} key: ${{ runner.os }}-maven-${{ hashFiles('pom.xml', 'modules/**/pom.xml') }}
restore-keys: | restore-keys: |
${{ runner.os }}-maven- ${{ runner.os }}-maven-
- uses: actions/cache@v4 - uses: actions/cache@v3
with: with:
path: | path: |
~/.gradle/caches ~/.gradle/caches
@ -45,7 +45,7 @@ jobs:
${{ runner.os }}-gradle- ${{ runner.os }}-gradle-
- name: Setup Maven - name: Setup Maven
uses: s4u/setup-maven-action@v1.18.0 uses: s4u/setup-maven-action@v1.8.0
with: with:
java-version: ${{ matrix.java }} java-version: ${{ matrix.java }}
maven-version: 3.8.8 maven-version: 3.8.8
@ -57,7 +57,7 @@ jobs:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
- name: Upload Maven build artifact - name: Upload Maven build artifact
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
if: matrix.java == '11' && matrix.os == 'ubuntu-latest' if: matrix.java == '11' && matrix.os == 'ubuntu-latest'
with: with:
name: artifact name: artifact
@ -85,14 +85,14 @@ jobs:
os: [ubuntu-latest] os: [ubuntu-latest]
steps: steps:
- name: Check out code - name: Check out code
uses: actions/checkout@v4 uses: actions/checkout@v3
- name: Setup Maven - name: Setup Maven
uses: s4u/setup-maven-action@v1.18.0 uses: s4u/setup-maven-action@v1.8.0
with: with:
java-version: 11 java-version: 11
maven-version: 3.8.8 maven-version: 3.8.8
- name: Download build artifact - name: Download build artifact
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: artifact name: artifact
- name: Run Ensures Script - name: Run Ensures Script

View File

@ -13,14 +13,14 @@ jobs:
name: Maven plugin tests name: Maven plugin tests
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up JDK 11 - name: Set up JDK 11
uses: actions/setup-java@v4 uses: actions/setup-java@v3
with: with:
java-version: 11 java-version: 11
distribution: 'temurin' distribution: 'temurin'
- name: Cache maven dependencies - name: Cache maven dependencies
uses: actions/cache@v4 uses: actions/cache@v3
env: env:
cache-name: cache-maven-repository cache-name: cache-maven-repository
with: with:
@ -39,7 +39,6 @@ jobs:
run: | run: |
./mvnw clean install -DskipTests -Dmaven.javadoc.skip=true ./mvnw clean install -DskipTests -Dmaven.javadoc.skip=true
./mvnw --no-snapshot-updates --quiet clean compile -f modules/openapi-generator-maven-plugin/examples/java-client.xml -Dorg.slf4j.simpleLogger.defaultLogLevel=error ./mvnw --no-snapshot-updates --quiet clean compile -f modules/openapi-generator-maven-plugin/examples/java-client.xml -Dorg.slf4j.simpleLogger.defaultLogLevel=error
./mvnw --no-snapshot-updates --quiet clean install -f modules/openapi-generator-maven-plugin/examples/multi-module/sample-external-ref-schema/pom.xml -Dorg.slf4j.simpleLogger.defaultLogLevel=error
./mvnw --no-snapshot-updates --quiet clean compile -f modules/openapi-generator-maven-plugin/examples/multi-module/pom.xml -Dorg.slf4j.simpleLogger.defaultLogLevel=error ./mvnw --no-snapshot-updates --quiet clean compile -f modules/openapi-generator-maven-plugin/examples/multi-module/pom.xml -Dorg.slf4j.simpleLogger.defaultLogLevel=error
./mvnw --no-snapshot-updates --quiet clean compile -f modules/openapi-generator-maven-plugin/examples/kotlin.xml -Dorg.slf4j.simpleLogger.defaultLogLevel=error ./mvnw --no-snapshot-updates --quiet clean compile -f modules/openapi-generator-maven-plugin/examples/kotlin.xml -Dorg.slf4j.simpleLogger.defaultLogLevel=error
./mvnw --no-snapshot-updates --quiet clean compile -f modules/openapi-generator-maven-plugin/examples/spring.xml -Dorg.slf4j.simpleLogger.defaultLogLevel=error ./mvnw --no-snapshot-updates --quiet clean compile -f modules/openapi-generator-maven-plugin/examples/spring.xml -Dorg.slf4j.simpleLogger.defaultLogLevel=error

View File

@ -15,7 +15,7 @@ jobs:
name: Misc tests name: Misc tests
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- uses: ruby/setup-ruby@v1 - uses: ruby/setup-ruby@v1
with: with:
ruby-version: '2.6' ruby-version: '2.6'

View File

@ -11,7 +11,7 @@ jobs:
report: report:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: dorny/test-reporter@v2 - uses: dorny/test-reporter@v1
with: with:
artifact: surefire-test-results artifact: surefire-test-results
name: JUnit Test results name: JUnit Test results

View File

@ -15,14 +15,14 @@ jobs:
name: Build name: Build
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up JDK 11 - name: Set up JDK 11
uses: actions/setup-java@v4 uses: actions/setup-java@v3
with: with:
java-version: 11 java-version: 11
distribution: 'temurin' distribution: 'temurin'
- name: Cache maven dependencies - name: Cache maven dependencies
uses: actions/cache@v4 uses: actions/cache@v3
env: env:
cache-name: cache-maven-repository cache-name: cache-maven-repository
with: with:
@ -41,7 +41,7 @@ jobs:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
- run: ls -la modules/openapi-generator-cli/target - run: ls -la modules/openapi-generator-cli/target
- name: Upload openapi-generator-cli.jar artifact - name: Upload openapi-generator-cli.jar artifact
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: openapi-generator-cli.jar name: openapi-generator-cli.jar
path: modules/openapi-generator-cli/target/openapi-generator-cli.jar path: modules/openapi-generator-cli/target/openapi-generator-cli.jar
@ -53,14 +53,14 @@ jobs:
needs: needs:
- build - build
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up JDK 11 - name: Set up JDK 11
uses: actions/setup-java@v4 uses: actions/setup-java@v3
with: with:
java-version: 11 java-version: 11
distribution: 'temurin' distribution: 'temurin'
- name: Cache maven dependencies - name: Cache maven dependencies
uses: actions/cache@v4 uses: actions/cache@v3
env: env:
cache-name: cache-maven-repository cache-name: cache-maven-repository
with: with:
@ -79,7 +79,7 @@ jobs:
GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }} GRADLE_ENTERPRISE_ACCESS_KEY: ${{ secrets.GRADLE_ENTERPRISE_ACCESS_KEY }}
- name: Publish unit test reports - name: Publish unit test reports
if: ${{ always() }} if: ${{ always() }}
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: surefire-test-results name: surefire-test-results
path: '**/surefire-reports/TEST-*.xml' path: '**/surefire-reports/TEST-*.xml'
@ -90,14 +90,14 @@ jobs:
needs: needs:
- build - build
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up JDK 11 - name: Set up JDK 11
uses: actions/setup-java@v4 uses: actions/setup-java@v3
with: with:
java-version: 11 java-version: 11
distribution: 'temurin' distribution: 'temurin'
- name: Download openapi-generator-cli.jar artifact - name: Download openapi-generator-cli.jar artifact
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: openapi-generator-cli.jar name: openapi-generator-cli.jar
path: modules/openapi-generator-cli/target path: modules/openapi-generator-cli/target
@ -129,54 +129,19 @@ jobs:
- build - build
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up JDK 11 - name: Set up JDK 11
uses: actions/setup-java@v4 uses: actions/setup-java@v3
with: with:
java-version: 11 java-version: 11
distribution: 'temurin' distribution: 'temurin'
- name: Download openapi-generator-cli.jar artifact - name: Download openapi-generator-cli.jar artifact
uses: actions/download-artifact@v4 uses: actions/download-artifact@v3
with: with:
name: openapi-generator-cli.jar name: openapi-generator-cli.jar
path: modules/openapi-generator-cli/target path: modules/openapi-generator-cli/target
- name: Delete samples that are entirely generated
run: |
rm -rf samples/client/petstore/csharp/generichost/latest/HelloWorld
rm -rf samples/client/petstore/csharp/generichost/latest/Tags
rm -rf samples/client/petstore/csharp/generichost/net8/AllOf
rm -rf samples/client/petstore/csharp/generichost/net8/AnyOf
rm -rf samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare
rm -rf samples/client/petstore/csharp/generichost/net8/FormModels
rm -rf samples/client/petstore/csharp/generichost/net8/NullReferenceTypes
rm -rf samples/client/petstore/csharp/generichost/net8/OneOf
rm -rf samples/client/petstore/csharp/generichost/net8/Petstore
rm -rf samples/client/petstore/csharp/generichost/net8/SourceGeneration
rm -rf samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate
rm -rf samples/client/petstore/csharp/generichost/standard2.0/Petstore
rm -rf samples/client/petstore/csharp/generichost/net4.8/AllOf
rm -rf samples/client/petstore/csharp/generichost/net4.8/AnyOf
rm -rf samples/client/petstore/csharp/generichost/net4.8/AnyOfNoCompare
rm -rf samples/client/petstore/csharp/generichost/net4.8/FormModels
rm -rf samples/client/petstore/csharp/generichost/net4.8/OneOf
rm -rf samples/client/petstore/csharp/generichost/net4.8/Petstore
rm -rf samples/client/petstore/csharp/generichost/net4.8/UseDateTimeForDate
rm -rf samples/client/petstore/csharp/generichost/net4.7/AllOf
rm -rf samples/client/petstore/csharp/generichost/net4.7/AnyOf
rm -rf samples/client/petstore/csharp/generichost/net4.7/AnyOfNoCompare
rm -rf samples/client/petstore/csharp/generichost/net4.7/FormModels
rm -rf samples/client/petstore/csharp/generichost/net4.7/OneOf
rm -rf samples/client/petstore/csharp/generichost/net4.7/Petstore
rm -rf samples/client/petstore/csharp/generichost/net4.7/UseDateTimeForDate
- name: Generate samples - name: Generate samples
run: | run: bash bin/generate-samples.sh
bash bin/generate-samples.sh
# when a sample is deleted, you have to generate it twice for all files to get created
bash bin/generate-samples.sh
- name: Verify git status - name: Verify git status
run: | run: |
if [[ "$(git status --porcelain)" != "" ]]; then if [[ "$(git status --porcelain)" != "" ]]; then

View File

@ -1,34 +0,0 @@
name: Samples C# .Net 8 FastEndpoints Server
on:
push:
paths:
- samples/server/petstore/aspnet/fastendpoints/**
- samples/server/petstore/aspnet/fastendpoints-*/**
pull_request:
paths:
- samples/server/petstore/aspnet/fastendpoints/**
- samples/server/petstore/aspnet/fastendpoints-*/**
jobs:
build:
name: Build .Net 8 FastEndpoints servers
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
- samples/server/petstore/aspnet/fastendpoints
- samples/server/petstore/aspnet/fastendpoints-useApiVersioning
- samples/server/petstore/aspnet/fastendpoints-useAuthentication
- samples/server/petstore/aspnet/fastendpoints-useProblemDetails
- samples/server/petstore/aspnet/fastendpoints-useRecords
- samples/server/petstore/aspnet/fastendpoints-useResponseCaching
- samples/server/petstore/aspnet/fastendpoints-useValidators
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4.3.1
with:
dotnet-version: '8.0.x'
- name: Build
working-directory: ${{ matrix.sample }}
run: dotnet build Org.OpenAPITools.sln

View File

@ -4,34 +4,22 @@ on:
push: push:
paths: paths:
- 'samples/client/petstore/c/**' - 'samples/client/petstore/c/**'
- 'samples/client/petstore/c-useJsonUnformatted/**'
- 'samples/client/others/c/bearerAuth/**'
pull_request: pull_request:
paths: paths:
- 'samples/client/petstore/c/**' - 'samples/client/petstore/c/**'
- 'samples/client/petstore/c-useJsonUnformatted/**'
- 'samples/client/others/c/bearerAuth/**'
jobs: jobs:
build: build:
name: Build c libcurl client name: Build c libcurl client
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
- 'samples/client/petstore/c/'
- 'samples/client/petstore/c-useJsonUnformatted/'
- 'samples/client/others/c/bearerAuth/'
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Prepare - name: Prepare
run: | run: |
sudo apt-get update sudo apt-get update
sudo apt-get install -y libssl-dev libcurl4-openssl-dev sudo apt-get install -y libssl-dev libcurl4-openssl-dev
- name: Build - name: Build
working-directory: ${{ matrix.sample }} working-directory: "samples/client/petstore/c"
run: | run: |
mkdir build mkdir build
cd build cd build

View File

@ -3,10 +3,10 @@ name: Samples cpp qt client
on: on:
push: push:
branches: branches:
- "samples/client/petstore/cpp-qt*/**" - 'samples/client/petstore/cpp-qt/**'
pull_request: pull_request:
paths: paths:
- "samples/client/petstore/cpp-qt*/**" - 'samples/client/petstore/cpp-qt/**'
env: env:
GRADLE_VERSION: 6.9 GRADLE_VERSION: 6.9
@ -16,21 +16,23 @@ jobs:
name: Build cpp qt client name: Build cpp qt client
strategy: strategy:
matrix: matrix:
sample: qt-version:
- samples/client/petstore/cpp-qt - '5.15.2'
- samples/client/petstore/cpp-qt-addDownloadProgress - '6.4.2'
os: os:
- ubuntu-latest - ubuntu-latest
- macOS-latest - macOS-latest
- windows-latest - windows-latest
include:
- os: windows-latest
tools: 'tools_openssl_x64'
runs-on: ${{ matrix.os }} runs-on: ${{ matrix.os }}
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Install Qt - uses: jurplel/install-qt-action@v3
uses: jurplel/install-qt-action@v4
with: with:
version: "6.7.1" version: ${{ matrix.qt-version }}
target: "desktop" tools: ${{ matrix.tools }}
- name: Build - name: Build
working-directory: ${{ matrix.sample }} working-directory: "samples/client/petstore/cpp-qt"
run: cmake . && cmake --build . --verbose run: cmake . && cmake --build .

View File

@ -17,14 +17,14 @@ jobs:
name: Tests Dart name: Tests Dart
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- uses: actions/setup-java@v4 - uses: actions/setup-java@v3
with: with:
distribution: 'temurin' distribution: 'temurin'
java-version: 11 java-version: 11
cache: maven cache: maven
- name: Cache test dependencies - name: Cache test dependencies
uses: actions/cache@v4 uses: actions/cache@v3
env: env:
cache-name: pub-cache cache-name: pub-cache
with: with:

View File

@ -1,42 +0,0 @@
name: Samples C# .Net Framework Clients
on:
push:
paths:
- samples/client/petstore/csharp/generichost/net4.7/**
- samples/client/petstore/csharp/generichost/net4.8/**
pull_request:
paths:
- samples/client/petstore/csharp/generichost/net4.7/**
- samples/client/petstore/csharp/generichost/net4.8/**
jobs:
build:
name: Build .Net projects
runs-on: windows-2019
strategy:
fail-fast: false
matrix:
sample:
- samples/client/petstore/csharp/generichost/net4.7/AllOf
- samples/client/petstore/csharp/generichost/net4.7/AnyOf
- samples/client/petstore/csharp/generichost/net4.7/AnyOfNoCompare
- samples/client/petstore/csharp/generichost/net4.7/FormModels
- samples/client/petstore/csharp/generichost/net4.7/OneOf
- samples/client/petstore/csharp/generichost/net4.7/Petstore
- samples/client/petstore/csharp/generichost/net4.7/UseDateTimeForDate
- samples/client/petstore/csharp/generichost/net4.8/AllOf
- samples/client/petstore/csharp/generichost/net4.8/AnyOf
- samples/client/petstore/csharp/generichost/net4.8/AnyOfNoCompare
- samples/client/petstore/csharp/generichost/net4.8/FormModels
- samples/client/petstore/csharp/generichost/net4.8/OneOf
- samples/client/petstore/csharp/generichost/net4.8/Petstore
- samples/client/petstore/csharp/generichost/net4.8/UseDateTimeForDate
steps:
- uses: actions/checkout@v4
- name: Build
working-directory: ${{ matrix.sample }}
run: dotnet build Org.OpenAPITools.sln
- name: Test
working-directory: ${{ matrix.sample }}
run: dotnet test Org.OpenAPITools.sln

View File

@ -1,41 +1,30 @@
name: Samples C# .Net Standard Client name: Samples C# .Net Standard
on: on:
push: push:
paths: paths:
- samples/client/petstore/csharp/generichost/standard2.0/** - 'samples/client/petstore/csharp/**netstandard**/'
- samples/client/petstore/csharp/httpclient/standard2.0/**
- samples/client/petstore/csharp/restsharp/standard2.0/**
- samples/client/petstore/csharp/unityWebRequest/standard2.0/**
pull_request: pull_request:
paths: paths:
- samples/client/petstore/csharp/generichost/standard2.0/** - 'samples/client/petstore/csharp/**netstandard**/'
- samples/client/petstore/csharp/httpclient/standard2.0/**
- samples/client/petstore/csharp/restsharp/standard2.0/**
- samples/client/petstore/csharp/unityWebRequest/standard2.0/**
jobs: jobs:
build: build:
name: Build .Net projects name: Build .Net projects
runs-on: windows-latest runs-on: ubuntu-latest
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
sample: sample:
- samples/client/petstore/csharp/generichost/standard2.0/Petstore/ # clients
- samples/client/petstore/csharp/httpclient/standard2.0/Petstore/ - samples/client/petstore/csharp/OpenAPIClient-generichost-netstandard2.0
- samples/client/petstore/csharp/restsharp/standard2.0/Petstore/
- samples/client/petstore/csharp/restsharp/standard2.0/ConditionalSerialization/
# - samples/client/petstore/csharp/unityWebRequest/standard2.0/Petstore/
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- uses: actions/setup-dotnet@v4.3.1 - uses: actions/setup-dotnet@v3.2.0
with: with:
dotnet-version: 3.1.* dotnet-version: 3.1.*
- name: Build - name: Build
working-directory: ${{ matrix.sample }} working-directory: ${{ matrix.sample }}
run: dotnet build Org.OpenAPITools.sln run: dotnet build Org.OpenAPITools.sln
# skip tests as petstore server it not running - name: Test
# these tests are run in appveyor instead working-directory: ${{ matrix.sample }}
#- name: Test run: dotnet test Org.OpenAPITools.sln
# working-directory: ${{ matrix.sample }}
# run: dotnet test Org.OpenAPITools.sln

54
.github/workflows/samples-dotnet.yaml vendored Normal file
View File

@ -0,0 +1,54 @@
name: Samples C# .Net 7
on:
push:
paths:
- 'samples/client/petstore/csharp/**net6.0**/'
- 'samples/client/petstore/csharp/OpenAPIClient-generichost-netcore**/'
- 'samples/client/petstore/csharp/OpenAPIClient-generichost-manual-tests/**'
- 'samples/server/petstore/aspnetcore-6.0/**'
- 'samples/server/petstore/aspnetcore-6.0-pocoModels/**'
- 'samples/server/petstore/aspnetcore-6.0-useSwashBuckle/**'
pull_request:
paths:
- 'samples/client/petstore/csharp/**net6.0**/'
- 'samples/client/petstore/csharp/OpenAPIClient-generichost-netcore**/'
- 'samples/client/petstore/csharp/OpenAPIClient-generichost-manual-tests/**'
- 'samples/server/petstore/aspnetcore-6.0/**'
- 'samples/server/petstore/aspnetcore-6.0-pocoModels/**'
- 'samples/server/petstore/aspnetcore-6.0-project4Models/**'
- 'samples/server/petstore/aspnetcore-6.0-useSwashBuckle/**'
- 'samples/server/petstore/aspnetcore-6.0-NewtonsoftFalse/**'
- 'samples/server/petstore/aspnetcore-6.0-nullableReferenceTypes/**'
jobs:
build:
name: Build .Net projects
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
# clients
- samples/client/petstore/csharp/OpenAPIClient-generichost-net6.0
- samples/client/petstore/csharp/OpenAPIClient-generichost-net6.0-nrt
- samples/client/petstore/csharp/OpenAPIClient-generichost-netcore-latest-allOf
- samples/client/petstore/csharp/OpenAPIClient-generichost-netcore-latest-oneOf
- samples/client/petstore/csharp/OpenAPIClient-generichost-netcore-latest-anyOf
- samples/client/petstore/csharp/OpenAPIClient-generichost-manual-tests
- samples/server/petstore/aspnetcore-6.0
- samples/server/petstore/aspnetcore-6.0-pocoModels
- samples/server/petstore/aspnetcore-6.0-project4Models
- samples/server/petstore/aspnetcore-6.0-useSwashBuckle
- samples/server/petstore/aspnetcore-6.0-NewtonsoftFalse
- samples/server/petstore/aspnetcore-6.0-nullableReferenceTypes
steps:
- uses: actions/checkout@v3
- uses: actions/setup-dotnet@v3.2.0
with:
dotnet-version: '7.0.x'
- name: Build
working-directory: ${{ matrix.sample }}
run: dotnet build Org.OpenAPITools.sln
- name: Test
working-directory: ${{ matrix.sample }}
run: dotnet test Org.OpenAPITools.sln

View File

@ -0,0 +1,31 @@
name: Samples C# .Net 6
on:
push:
paths:
- samples/client/echo_api/csharp-restsharp/**
pull_request:
paths:
- samples/client/echo_api/csharp-restsharp/**
jobs:
build:
name: Build .Net clients
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
# clients
- samples/client/echo_api/csharp-restsharp/
steps:
- uses: actions/checkout@v3
- uses: actions/setup-dotnet@v3.2.0
with:
dotnet-version: '6.0.x'
- name: Run echo server
run: |
git clone https://github.com/wing328/http-echo-server -b openapi-generator-test-server
(cd http-echo-server && npm install && npm start &)
- name: Build
working-directory: ${{ matrix.sample }}
run: dotnet build Org.OpenAPITools.sln

View File

@ -0,0 +1,75 @@
name: Samples C# .Net 6
on:
push:
paths:
# build C# API client (multiple frameworks)
- samples/client/petstore/csharp/OpenAPIClientCoreAndNet47/**
# build C# API client (httpclient)
- samples/client/petstore/csharp/OpenAPIClient-httpclient/**
# build C# API client (generichost)
- samples/client/petstore/csharp/OpenAPIClient-generichost-netstandard2.0/**
# build C# API client (netcore)
- samples/client/petstore/csharp/OpenAPIClient/**
- samples/client/petstore/csharp/OpenAPIClientCore/**
# build C# API client (.net framework 4.7)
- samples/client/petstore/csharp/OpenAPIClient-net47/**
# build C# API client (.net framework 4.8)
- samples/client/petstore/csharp/OpenAPIClient-net48/**
# build C# API client (.net 5.0)
- samples/client/petstore/csharp/OpenAPIClient-net5.0/**
# build C# API client (.net 5.0 with ConditionalSerialization)
- samples/client/petstore/csharp/OpenAPIClient-ConditionalSerialization/**
pull_request:
paths:
# build C# API client (multiple frameworks)
- samples/client/petstore/csharp/OpenAPIClientCoreAndNet47/**
# build C# API client (httpclient)
- samples/client/petstore/csharp/OpenAPIClient-httpclient/**
# build C# API client (generichost)
- samples/client/petstore/csharp/OpenAPIClient-generichost-netstandard2.0/**
# build C# API client (netcore)
- samples/client/petstore/csharp/OpenAPIClient/**
- samples/client/petstore/csharp/OpenAPIClientCore/**
# build C# API client (.net framework 4.7)
- samples/client/petstore/csharp/OpenAPIClient-net47/**
# build C# API client (.net framework 4.8)
- samples/client/petstore/csharp/OpenAPIClient-net48/**
# build C# API client (.net 5.0)
- samples/client/petstore/csharp/OpenAPIClient-net5.0/**
# build C# API client (.net 5.0 with ConditionalSerialization)
- samples/client/petstore/csharp/OpenAPIClient-ConditionalSerialization/**
jobs:
build:
name: Build .Net clients
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
# clients
# build C# API client (multiple frameworks)
- samples/client/petstore/csharp/OpenAPIClientCoreAndNet47/
# build C# API client (httpclient)
- samples/client/petstore/csharp/OpenAPIClient-httpclient/
# build C# API client (generichost)
- samples/client/petstore/csharp/OpenAPIClient-generichost-netstandard2.0/
# build C# API client (netcore)
- samples/client/petstore/csharp/OpenAPIClient/
- samples/client/petstore/csharp/OpenAPIClientCore/
# build C# API client (.net framework 4.7)
- samples/client/petstore/csharp/OpenAPIClient-net47/
# build C# API client (.net framework 4.8)
- samples/client/petstore/csharp/OpenAPIClient-net48/
# build C# API client (.net 5.0)
- samples/client/petstore/csharp/OpenAPIClient-net5.0/
# build C# API client (.net 5.0 with ConditionalSerialization)
- samples/client/petstore/csharp/OpenAPIClient-ConditionalSerialization/
steps:
- uses: actions/checkout@v3
- uses: actions/setup-dotnet@v3.2.0
with:
dotnet-version: '6.0.x'
- name: Build
working-directory: ${{ matrix.sample }}
run: dotnet build Org.OpenAPITools.sln

View File

@ -1,31 +1,36 @@
name: Samples C# .Net 6 Server name: Samples C# .Net 6
on: on:
push: push:
paths: paths:
- samples/server/petstore/aspnetcore-6.0/** - 'samples/server/petstore/aspnetcore-6.0/**'
- samples/server/petstore/aspnetcore-6.0-*/** - 'samples/server/petstore/aspnetcore-6.0-pocoModels/**'
- 'samples/server/petstore/aspnetcore-6.0-useSwashBuckle/**'
pull_request: pull_request:
paths: paths:
- samples/server/petstore/aspnetcore-6.0/** - 'samples/server/petstore/aspnetcore-6.0/**'
- samples/server/petstore/aspnetcore-6.0-*/** - 'samples/server/petstore/aspnetcore-6.0-pocoModels/**'
- 'samples/server/petstore/aspnetcore-6.0-project4Models/**'
- 'samples/server/petstore/aspnetcore-6.0-useSwashBuckle/**'
- 'samples/server/petstore/aspnetcore-6.0-NewtonsoftFalse/**'
- 'samples/server/petstore/aspnetcore-6.0-nullableReferenceTypes/**'
jobs: jobs:
build: build:
name: Build .Net 6 servers name: Build .Net servers
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
sample: sample:
- samples/server/petstore/aspnetcore-6.0 - samples/server/petstore/aspnetcore-6.0
- samples/server/petstore/aspnetcore-6.0-NewtonsoftFalse
- samples/server/petstore/aspnetcore-6.0-nullableReferenceTypes
- samples/server/petstore/aspnetcore-6.0-pocoModels - samples/server/petstore/aspnetcore-6.0-pocoModels
- samples/server/petstore/aspnetcore-6.0-project4Models - samples/server/petstore/aspnetcore-6.0-project4Models
- samples/server/petstore/aspnetcore-6.0-useSwashBuckle - samples/server/petstore/aspnetcore-6.0-useSwashBuckle
- samples/server/petstore/aspnetcore-6.0-NewtonsoftFalse
- samples/server/petstore/aspnetcore-6.0-nullableReferenceTypes
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- uses: actions/setup-dotnet@v4.3.1 - uses: actions/setup-dotnet@v3.2.0
with: with:
dotnet-version: '6.0.x' dotnet-version: '6.0.x'
- name: Build - name: Build

View File

@ -1,33 +0,0 @@
name: Samples C# .Net 8 Client Echo API
on:
push:
paths:
- samples/client/echo_api/csharp/restsharp/net8/**
pull_request:
paths:
- samples/client/echo_api/csharp/restsharp/net8/**
jobs:
build:
name: Build .Net clients
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
# clients
- samples/client/echo_api/csharp/restsharp/net8/EchoApi
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4.3.1
with:
dotnet-version: '8.0.x'
- name: Run echo server
run: |
git clone https://github.com/wing328/http-echo-server -b openapi-generator-test-server
(cd http-echo-server && npm install && npm start &)
- name: Build
working-directory: ${{ matrix.sample }}
run: |
dotnet build Org.OpenAPITools.sln
dotnet test Org.OpenAPITools.sln

View File

@ -1,27 +0,0 @@
name: Samples C# .Net 8 Client
on:
push:
paths:
- samples/client/petstore/csharp/restsharp/net8/**
pull_request:
paths:
- samples/client/petstore/csharp/restsharp/net8/**
jobs:
build:
name: Build .Net clients
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
- samples/client/petstore/csharp/restsharp/net8/ParameterMappings/
- samples/client/petstore/csharp/restsharp/net8/useVirtualForHooks/
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4.3.1
with:
dotnet-version: '8.0.x'
- name: Build
working-directory: ${{ matrix.sample }}
run: dotnet build Org.OpenAPITools.sln

View File

@ -1,37 +0,0 @@
name: Samples C# .Net 8 Server
on:
push:
paths:
- samples/server/petstore/aspnetcore-8.0/**
- samples/server/petstore/aspnetcore-8.0-*/**
pull_request:
paths:
- samples/server/petstore/aspnetcore-8.0/**
- samples/server/petstore/aspnetcore-8.0-*/**
jobs:
build:
name: Build .Net 8 servers
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
- samples/server/petstore/aspnetcore-8.0
- samples/server/petstore/aspnetcore-8.0-NewtonsoftFalse
- samples/server/petstore/aspnetcore-8.0-nullableReferenceTypes
- samples/server/petstore/aspnetcore-8.0-pocoModels
- samples/server/petstore/aspnetcore-8.0-project4Models
- samples/server/petstore/aspnetcore-8.0-useSwashBuckle
- samples/server/petstore/aspnetcore-8.0-use-centralized-package-version-management
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4.3.1
with:
dotnet-version: '8.0.x'
- name: Build
working-directory: ${{ matrix.sample }}
run: dotnet build Org.OpenAPITools.sln
- name: Test
working-directory: ${{ matrix.sample }}
run: dotnet test Org.OpenAPITools.sln

View File

@ -1,45 +0,0 @@
name: Samples C# .Net 8 Clients
on:
push:
paths:
- samples/client/petstore/csharp/generichost/net8/**
- samples/client/petstore/csharp/httpclient/net8/**
- samples/client/petstore/csharp/restsharp/net8/**
- samples/client/petstore/csharp/unityWebRequest/net8/**
pull_request:
paths:
- samples/client/petstore/csharp/generichost/net8/**
- samples/client/petstore/csharp/httpclient/net8/**
- samples/client/petstore/csharp/restsharp/net8/**
- samples/client/petstore/csharp/unityWebRequest/net8/**
jobs:
build:
name: Build .Net projects
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
- samples/client/petstore/csharp/generichost/net8/AllOf
- samples/client/petstore/csharp/generichost/net8/AnyOf
- samples/client/petstore/csharp/generichost/net8/AnyOfNoCompare
- samples/client/petstore/csharp/generichost/net8/FormModels
- samples/client/petstore/csharp/generichost/net8/ManualPetstoreTests
- samples/client/petstore/csharp/generichost/net8/ManualSourceGenerationTests
- samples/client/petstore/csharp/generichost/net8/NullReferenceTypes
- samples/client/petstore/csharp/generichost/net8/OneOf
- samples/client/petstore/csharp/generichost/net8/Petstore
- samples/client/petstore/csharp/generichost/net8/SourceGeneration
- samples/client/petstore/csharp/generichost/net8/UseDateTimeForDate
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4.3.1
with:
dotnet-version: '8.0.x'
- name: Build
working-directory: ${{ matrix.sample }}
run: dotnet build Org.OpenAPITools.sln
- name: Test
working-directory: ${{ matrix.sample }}
run: dotnet test Org.OpenAPITools.sln

View File

@ -1,55 +0,0 @@
name: Samples C# .Net 9 Clients
on:
push:
paths:
- samples/client/petstore/csharp/generichost/latest/**
- samples/client/petstore/csharp/generichost/net9/**
- samples/client/petstore/csharp/httpclient/net9/**
- samples/client/petstore/csharp/restsharp/net9/**
- samples/client/petstore/csharp/unityWebRequest/net9/**
pull_request:
paths:
- samples/client/petstore/csharp/generichost/latest/**
- samples/client/petstore/csharp/generichost/net9/**
- samples/client/petstore/csharp/httpclient/net9/**
- samples/client/petstore/csharp/restsharp/net9/**
- samples/client/petstore/csharp/unityWebRequest/net9/**
jobs:
build:
name: Build .Net projects
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
- samples/client/petstore/csharp/generichost/latest/Tags
- samples/client/petstore/csharp/generichost/latest/HelloWorld
- samples/client/petstore/csharp/generichost/net9/AllOf
- samples/client/petstore/csharp/generichost/net9/AnyOf
- samples/client/petstore/csharp/generichost/net9/AnyOfNoCompare
- samples/client/petstore/csharp/generichost/net9/FormModels
# - samples/client/petstore/csharp/generichost/net9/ManualPetstoreTests
# - samples/client/petstore/csharp/generichost/net9/ManualSourceGenerationTests
- samples/client/petstore/csharp/generichost/net9/NullReferenceTypes
- samples/client/petstore/csharp/generichost/net9/OneOf
- samples/client/petstore/csharp/generichost/net9/Petstore
- samples/client/petstore/csharp/generichost/net9/SourceGeneration
- samples/client/petstore/csharp/generichost/net9/UseDateTimeForDate
# restsharp
- samples/client/petstore/csharp/restsharp/net9/EnumMappings
# httpclient
- samples/client/petstore/csharp/httpclient/net9/Petstore
# unity
#- samples/client/petstore/csharp/unityWebRequest/net9/Petstore
steps:
- uses: actions/checkout@v4
- uses: actions/setup-dotnet@v4.3.1
with:
dotnet-version: '9.0.101'
- name: Build
working-directory: ${{ matrix.sample }}
run: dotnet build Org.OpenAPITools.sln
- name: Test
working-directory: ${{ matrix.sample }}
run: dotnet test Org.OpenAPITools.sln

View File

@ -3,12 +3,10 @@ name: Samples Elm
on: on:
push: push:
paths: paths:
- .github/workflows/samples-elm.yaml
- samples/client/petstore/elm/** - samples/client/petstore/elm/**
- samples/openapi3/client/elm/** - samples/openapi3/client/elm/**
pull_request: pull_request:
paths: paths:
- .github/workflows/samples-elm.yaml
- samples/client/petstore/elm/** - samples/client/petstore/elm/**
- samples/openapi3/client/elm/** - samples/openapi3/client/elm/**
jobs: jobs:
@ -23,8 +21,8 @@ jobs:
- samples/client/petstore/elm - samples/client/petstore/elm
- samples/openapi3/client/elm - samples/openapi3/client/elm
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- uses: jorelali/setup-elm@v6 - uses: jorelali/setup-elm@v5
with: with:
elm-version: 0.19.1 elm-version: 0.19.1
- name: Build - name: Build
@ -34,4 +32,4 @@ jobs:
# An .elm file couldn't be compiled # An .elm file couldn't be compiled
# No .elm files were found # No .elm files were found
# No elm.json file could be found in the root of the working directory # No elm.json file could be found in the root of the working directory
run: elm make $(find . -name "*.elm") --output=/dev/null run: elm make $(find . -name *.elm) --output=/dev/null

View File

@ -3,33 +3,33 @@ name: Samples Erlang
on: on:
push: push:
paths: paths:
- samples/server/echo_api/erlang-server/** # comment out due to errors
- samples/server/petstore/erlang-server/** # ===> Compiling src/openapi_pet_handler.erl failed
# src/openapi_pet_handler.erl:278: function is_authorized/2 already defined
#- samples/server/petstore/erlang-server/**
- samples/client/petstore/erlang-client/** - samples/client/petstore/erlang-client/**
- samples/client/petstore/erlang-proper/** - samples/client/petstore/erlang-proper/**
pull_request: pull_request:
paths: paths:
- samples/server/echo_api/erlang-server/** #- samples/server/petstore/erlang-server/**
- samples/server/petstore/erlang-server/**
- samples/client/petstore/erlang-client/** - samples/client/petstore/erlang-client/**
- samples/client/petstore/erlang-proper/** - samples/client/petstore/erlang-proper/**
jobs: jobs:
build: build:
name: Build Erlang projects name: Build Erlang projects
runs-on: ubuntu-24.04 runs-on: ubuntu-20.04
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
sample: sample:
- samples/server/echo_api/erlang-server/ #- samples/server/petstore/erlang-server/
- samples/server/petstore/erlang-server/
- samples/client/petstore/erlang-client/ - samples/client/petstore/erlang-client/
- samples/client/petstore/erlang-proper/ - samples/client/petstore/erlang-proper/
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- uses: erlef/setup-beam@v1 - uses: erlef/setup-beam@v1
with: with:
otp-version: '27' otp-version: '22.2'
rebar3-version: '3.23.0' rebar3-version: '3.14.3'
- run: rebar3 compile - run: rebar3 compile
working-directory: ${{ matrix.sample }} working-directory: ${{ matrix.sample }}

View File

@ -1,32 +0,0 @@
name: Go Client (Echo API)
on:
pull_request:
paths:
- samples/client/echo_api/go/**
- .github/workflows/samples-go-client-echo-api.yaml
jobs:
build:
name: Test Go client
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
# clients
- samples/client/echo_api/go
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "stable"
- name: Setup node.js
uses: actions/setup-node@v4
- name: Run echo server
run: |
git clone https://github.com/wing328/http-echo-server -b openapi-generator-test-server
(cd http-echo-server && npm install && npm start &)
- run: go version
- name: Run test
working-directory: ${{ matrix.sample }}
run: go test -mod=mod -v

View File

@ -1,31 +0,0 @@
name: Samples Go
on:
push:
paths:
- 'samples/server/petstore/go-gin-api-server/**'
- 'samples/server/petstore/go-gin-api-server-interface-only/**'
pull_request:
paths:
- 'samples/server/petstore/go-gin-api-server/**'
- 'samples/server/petstore/go-gin-api-server-interface-only/**'
jobs:
build:
name: Build Go
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
- samples/server/petstore/go-gin-api-server/
- samples/server/petstore/go-gin-api-server-interface-only/
steps:
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: "stable"
- run: go version
- name: Run test
working-directory: ${{ matrix.sample }}
run: go test -mod=mod -v

View File

@ -1,4 +1,4 @@
name: Samples Go name: Samples Go
on: on:
push: push:
@ -6,17 +6,15 @@ on:
- 'samples/server/petstore/go-echo-server/**' - 'samples/server/petstore/go-echo-server/**'
- 'samples/server/petstore/go-api-server/**' - 'samples/server/petstore/go-api-server/**'
- 'samples/server/petstore/go-chi-server/**' - 'samples/server/petstore/go-chi-server/**'
- 'samples/server/others/go-server/no-body-path-params/**'
pull_request: pull_request:
paths: paths:
- 'samples/server/petstore/go-echo-server/**' - 'samples/server/petstore/go-echo-server/**'
- 'samples/server/petstore/go-api-server/**' - 'samples/server/petstore/go-api-server/**'
- 'samples/server/petstore/go-chi-server/**' - 'samples/server/petstore/go-chi-server/**'
- 'samples/server/others/go-server/no-body-path-params/**'
jobs: jobs:
build: build:
name: Build Go name: Build Go
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
fail-fast: false fail-fast: false
@ -25,37 +23,12 @@ jobs:
- samples/server/petstore/go-echo-server/ - samples/server/petstore/go-echo-server/
- samples/server/petstore/go-api-server/ - samples/server/petstore/go-api-server/
- samples/server/petstore/go-chi-server/ - samples/server/petstore/go-chi-server/
- samples/server/others/go-server/no-body-path-params/
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- uses: actions/setup-go@v5 - uses: actions/setup-go@v4
with: with:
go-version: "stable" go-version: "stable"
- run: go version - run: go version
- name: Run test - name: Run test
working-directory: ${{ matrix.sample }} working-directory: ${{ matrix.sample }}
run: go test -mod=mod -v run: go test -mod=mod -v
verify:
name: Verify generated Go files with Go tests
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
- samples/server/petstore/go-api-server/
go-version:
- "1.18"
steps:
- uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go-version }}
- name: Install Dependencies
working-directory: ${{ matrix.sample }}
run: |
go mod tidy
- name: Run tests
working-directory: ${{ matrix.sample }}
run: go test ./samples_tests -v

View File

@ -21,13 +21,13 @@ jobs:
sample: sample:
- samples/client/petstore/groovy - samples/client/petstore/groovy
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- uses: actions/setup-java@v4 - uses: actions/setup-java@v3
with: with:
distribution: 'temurin' distribution: 'temurin'
java-version: 8 java-version: 8
- name: Cache maven dependencies - name: Cache maven dependencies
uses: actions/cache@v4 uses: actions/cache@v3
env: env:
cache-name: maven-repository cache-name: maven-repository
with: with:
@ -35,7 +35,7 @@ jobs:
~/.gradle ~/.gradle
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }} key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Install Gradle wrapper - name: Install Gradle wrapper
uses: eskatos/gradle-command-action@v3 uses: eskatos/gradle-command-action@v2
with: with:
gradle-version: ${{ env.GRADLE_VERSION }} gradle-version: ${{ env.GRADLE_VERSION }}
build-root-directory: ${{ matrix.sample }} build-root-directory: ${{ matrix.sample }}

View File

@ -1,39 +0,0 @@
name: Samples Haskell
on:
push:
paths:
- samples/server/petstore/haskell-yesod/**
- samples/server/petstore/haskell-servant/**
- samples/server/others/haskell-servant-ping/**
- samples/client/petstore/haskell-http-client/**
pull_request:
paths:
- samples/server/petstore/haskell-yesod/**
- samples/server/petstore/haskell-servant/**
- samples/server/others/haskell-servant-ping/**
- samples/client/petstore/haskell-http-client/**
jobs:
build:
name: Build stack projects
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
# servers
- samples/server/petstore/haskell-yesod/
- samples/server/petstore/haskell-servant/
- samples/server/others/haskell-servant-ping/
- samples/client/petstore/haskell-http-client/
steps:
- uses: actions/checkout@v4
- uses: haskell/actions/setup@v2
with:
# ghc-version: '8.8.4' # Exact version of ghc to use
# cabal-version: 'latest'. Omitted, but defaults to 'latest'
enable-stack: true
stack-version: 'latest'
- name: stack test
working-directory: ${{ matrix.sample }}
run: stack test

View File

@ -19,16 +19,14 @@ jobs:
- samples/client/echo_api/java/apache-httpclient - samples/client/echo_api/java/apache-httpclient
- samples/client/echo_api/java/native - samples/client/echo_api/java/native
- samples/client/echo_api/java/feign-gson - samples/client/echo_api/java/feign-gson
- samples/client/echo_api/java/resttemplate
- samples/client/echo_api/java/resteasy
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- uses: actions/setup-java@v4 - uses: actions/setup-java@v3
with: with:
distribution: 'temurin' distribution: 'temurin'
java-version: 11 java-version: 11
- name: Cache maven dependencies - name: Cache maven dependencies
uses: actions/cache@v4 uses: actions/cache@v3
env: env:
cache-name: maven-repository cache-name: maven-repository
with: with:
@ -36,11 +34,11 @@ jobs:
~/.m2 ~/.m2
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }} key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Setup node.js - name: Setup node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v3
- name: Run echo server - name: Run echo server
run: | run: |
git clone https://github.com/wing328/http-echo-server -b openapi-generator-test-server git clone https://github.com/wing328/http-echo-server -b openapi-generator-test-server
(cd http-echo-server && npm install && npm start &) (cd http-echo-server && npm install && npm start &)
- name: Build - name: Build
working-directory: ${{ matrix.sample }} working-directory: ${{ matrix.sample }}
run: mvn clean package --no-transfer-progress run: mvn clean package

View File

@ -1,47 +0,0 @@
name: Java Client (Echo API) JDK17
on:
push:
paths:
- samples/client/echo_api/java/**
pull_request:
paths:
- samples/client/echo_api/java/**
jobs:
build:
name: Build Java Client JDK17
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
# clients
- samples/client/echo_api/java/apache-httpclient
- samples/client/echo_api/java/native
- samples/client/echo_api/java/feign-gson
- samples/client/echo_api/java/resttemplate
- samples/client/echo_api/java/resteasy
- samples/client/echo_api/java/restclient
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17
- name: Cache maven dependencies
uses: actions/cache@v4
env:
cache-name: maven-repository
with:
path: |
~/.m2
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Setup node.js
uses: actions/setup-node@v4
- name: Run echo server
run: |
git clone https://github.com/wing328/http-echo-server -b openapi-generator-test-server
(cd http-echo-server && npm install && npm start &)
- name: Build
working-directory: ${{ matrix.sample }}
run: mvn clean package --no-transfer-progress

View File

@ -6,14 +6,11 @@ on:
- samples/client/echo_api/java/apache-httpclient/** - samples/client/echo_api/java/apache-httpclient/**
- samples/client/echo_api/java/feign-gson/** - samples/client/echo_api/java/feign-gson/**
- samples/client/echo_api/java/okhttp-gson/** - samples/client/echo_api/java/okhttp-gson/**
- samples/client/echo_api/java/resttemplate/**
- samples/client/echo_api/java/resteasy/**
pull_request: pull_request:
paths: paths:
- samples/client/echo_api/java/apache-httpclient/** - samples/client/echo_api/java/apache-httpclient/**
- samples/client/echo_api/java/feign-gson/** - samples/client/echo_api/java/feign-gson/**
- samples/client/echo_api/java/okhttp-gson/** - samples/client/echo_api/java/okhttp-gson/**
- samples/client/echo_api/java/resteasy/**
jobs: jobs:
build: build:
name: Build Java Client JDK8 name: Build Java Client JDK8
@ -26,16 +23,14 @@ jobs:
- samples/client/echo_api/java/apache-httpclient - samples/client/echo_api/java/apache-httpclient
- samples/client/echo_api/java/feign-gson - samples/client/echo_api/java/feign-gson
- samples/client/echo_api/java/okhttp-gson - samples/client/echo_api/java/okhttp-gson
- samples/client/echo_api/java/resttemplate
- samples/client/echo_api/java/resteasy
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- uses: actions/setup-java@v4 - uses: actions/setup-java@v3
with: with:
distribution: 'temurin' distribution: 'temurin'
java-version: 8 java-version: 8
- name: Cache maven dependencies - name: Cache maven dependencies
uses: actions/cache@v4 uses: actions/cache@v3
env: env:
cache-name: maven-repository cache-name: maven-repository
with: with:
@ -43,11 +38,11 @@ jobs:
~/.m2 ~/.m2
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }} key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Setup node.js - name: Setup node.js
uses: actions/setup-node@v4 uses: actions/setup-node@v3
- name: Run echo server - name: Run echo server
run: | run: |
git clone https://github.com/wing328/http-echo-server -b openapi-generator-test-server git clone https://github.com/wing328/http-echo-server -b openapi-generator-test-server
(cd http-echo-server && npm install && npm start &) (cd http-echo-server && npm install && npm start &)
- name: Build - name: Build
working-directory: ${{ matrix.sample }} working-directory: ${{ matrix.sample }}
run: mvn clean package --no-transfer-progress run: mvn clean package

View File

@ -10,15 +10,6 @@ on:
- samples/openapi3/client/petstore/java/jersey2-java8-swagger1/** - samples/openapi3/client/petstore/java/jersey2-java8-swagger1/**
- samples/openapi3/client/petstore/java/jersey2-java8-swagger2/** - samples/openapi3/client/petstore/java/jersey2-java8-swagger2/**
- samples/openapi3/client/petstore/java/native** - samples/openapi3/client/petstore/java/native**
- samples/client/others/java/okhttp-gson-oneOf/**
- samples/client/others/java/okhttp-gson-oneOf-array/**
- samples/client/others/java/resttemplate-useAbstractionForFiles/**
- samples/client/others/java/webclient-useAbstractionForFiles/**
- samples/client/petstore/java/webclient-useSingleRequestParameter/**
- samples/client/others/java/jersey2-oneOf-duplicates/**
- samples/client/others/java/jersey2-oneOf-Mixed/**
- samples/client/others/java/resttemplate-list-schema-validation/**
- samples/client/petstore/java/okhttp-gson-3.1-duplicated-operationid/**
pull_request: pull_request:
paths: paths:
- 'samples/client/petstore/java/**' - 'samples/client/petstore/java/**'
@ -28,15 +19,6 @@ on:
- samples/openapi3/client/petstore/java/jersey2-java8-swagger1/** - samples/openapi3/client/petstore/java/jersey2-java8-swagger1/**
- samples/openapi3/client/petstore/java/jersey2-java8-swagger2/** - samples/openapi3/client/petstore/java/jersey2-java8-swagger2/**
- samples/openapi3/client/petstore/java/native** - samples/openapi3/client/petstore/java/native**
- samples/client/others/java/okhttp-gson-oneOf/**
- samples/client/others/java/okhttp-gson-oneOf-array/**
- samples/client/others/java/resttemplate-useAbstractionForFiles/**
- samples/client/others/java/webclient-useAbstractionForFiles/**
- samples/client/petstore/java/webclient-useSingleRequestParameter/**
- samples/client/others/java/jersey2-oneOf-duplicates/**
- samples/client/others/java/jersey2-oneOf-Mixed/**
- samples/client/others/java/resttemplate-list-schema-validation/**
- samples/client/petstore/java/okhttp-gson-3.1-duplicated-operationid/**
jobs: jobs:
build: build:
name: Build Java Client JDK11 name: Build Java Client JDK11
@ -59,26 +41,17 @@ jobs:
- samples/client/petstore/java/webclient - samples/client/petstore/java/webclient
- samples/client/petstore/java/webclient-nullable-arrays - samples/client/petstore/java/webclient-nullable-arrays
- samples/client/petstore/java/webclient-swagger2 - samples/client/petstore/java/webclient-swagger2
- samples/client/petstore/java/webclient-useSingleRequestParameter
- samples/client/petstore/java/vertx - samples/client/petstore/java/vertx
- samples/client/petstore/java/vertx-no-nullable
- samples/client/petstore/java/vertx-supportVertxFuture
- samples/client/petstore/java/jersey2-java8-localdatetime - samples/client/petstore/java/jersey2-java8-localdatetime
- samples/client/petstore/java/resteasy
- samples/client/petstore/java/google-api-client - samples/client/petstore/java/google-api-client
- samples/client/petstore/java/rest-assured - samples/client/petstore/java/rest-assured
- samples/client/petstore/java/rest-assured-jackson - samples/client/petstore/java/rest-assured-jackson
- samples/client/petstore/java/microprofile-rest-client - samples/client/petstore/java/microprofile-rest-client
- samples/client/petstore/java/microprofile-rest-client-mutiny
- samples/client/petstore/java/microprofile-rest-client-3.0 - samples/client/petstore/java/microprofile-rest-client-3.0
- samples/client/petstore/java/microprofile-rest-client-3.0-jackson
- samples/client/petstore/java/microprofile-rest-client-3.0-jackson-with-xml
- samples/client/petstore/java/microprofile-rest-client-3.0-mutiny
- samples/client/petstore/java/microprofile-rest-client-with-useSingleRequestParameter
- samples/client/petstore/java/apache-httpclient - samples/client/petstore/java/apache-httpclient
- samples/client/petstore/java/feign - samples/client/petstore/java/feign
- samples/client/petstore/java/feign-hc5 - samples/client/petstore/java/jersey1
- samples/client/petstore/java/feign-no-nullable
- samples/client/petstore/java/okhttp-gson-awsv4signature
- samples/openapi3/client/petstore/java/jersey2-java8-special-characters - samples/openapi3/client/petstore/java/jersey2-java8-special-characters
- samples/openapi3/client/petstore/java/native - samples/openapi3/client/petstore/java/native
- samples/client/petstore/java/okhttp-gson-swagger1/ - samples/client/petstore/java/okhttp-gson-swagger1/
@ -87,23 +60,14 @@ jobs:
- samples/client/petstore/java/okhttp-gson-swagger2/ - samples/client/petstore/java/okhttp-gson-swagger2/
- samples/client/petstore/java/resttemplate-swagger2/ - samples/client/petstore/java/resttemplate-swagger2/
- samples/openapi3/client/petstore/java/jersey2-java8-swagger2/ - samples/openapi3/client/petstore/java/jersey2-java8-swagger2/
- samples/client/others/java/okhttp-gson-oneOf/
- samples/client/others/java/okhttp-gson-oneOf-array/
- samples/client/echo_api/java/okhttp-gson-user-defined-templates/
- samples/client/others/java/resttemplate-useAbstractionForFiles/
- samples/client/others/java/webclient-useAbstractionForFiles/
- samples/client/others/java/jersey2-oneOf-duplicates/
- samples/client/others/java/jersey2-oneOf-Mixed/
- samples/client/others/java/resttemplate-list-schema-validation/
- samples/client/petstore/java/okhttp-gson-3.1-duplicated-operationid/
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- uses: actions/setup-java@v4 - uses: actions/setup-java@v3
with: with:
distribution: 'temurin' distribution: 'temurin'
java-version: 11 java-version: 11
- name: Cache maven dependencies - name: Cache maven dependencies
uses: actions/cache@v4 uses: actions/cache@v3
env: env:
cache-name: maven-repository cache-name: maven-repository
with: with:
@ -112,4 +76,4 @@ jobs:
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }} key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Build - name: Build
working-directory: ${{ matrix.sample }} working-directory: ${{ matrix.sample }}
run: mvn clean package --no-transfer-progress run: mvn clean package

View File

@ -5,14 +5,10 @@ on:
paths: paths:
- samples/client/petstore/java/resttemplate-jakarta/** - samples/client/petstore/java/resttemplate-jakarta/**
- samples/client/petstore/java/webclient-jakarta/** - samples/client/petstore/java/webclient-jakarta/**
- samples/client/petstore/java/restclient-*/**
- samples/client/petstore/java/webclient-useSingleRequestParameter/**
pull_request: pull_request:
paths: paths:
- samples/client/petstore/java/resttemplate-jakarta/** - samples/client/petstore/java/resttemplate-jakarta/**
- samples/client/petstore/java/webclient-jakarta/** - samples/client/petstore/java/webclient-jakarta/**
- samples/client/petstore/java/restclient-*/**
- samples/client/petstore/java/webclient-useSingleRequestParameter/**
jobs: jobs:
build: build:
name: Build Java Client JDK17 name: Build Java Client JDK17
@ -24,47 +20,23 @@ jobs:
# clients # clients
- samples/client/petstore/java/resttemplate-jakarta - samples/client/petstore/java/resttemplate-jakarta
- samples/client/petstore/java/webclient-jakarta - samples/client/petstore/java/webclient-jakarta
- samples/client/petstore/java/restclient
- samples/client/petstore/java/restclient-nullable-arrays
- samples/client/petstore/java/restclient-swagger2
- samples/client/petstore/java/restclient-useSingleRequestParameter
- samples/client/petstore/java/restclient-useSingleRequestParameter-static
- samples/client/petstore/java/webclient-useSingleRequestParameter
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- uses: actions/setup-java@v4 - uses: actions/setup-java@v3
with: with:
distribution: 'temurin' distribution: 'temurin'
java-version: 17 java-version: 17
- name: Cache maven dependencies - name: Cache maven dependencies
uses: actions/cache@v4 uses: actions/cache@v3
env: env:
cache-name: maven-repository cache-name: maven-repository
with: with:
path: | path: |
~/.m2 ~/.m2
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }} key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Build with Maven - name: Build with Maven
working-directory: ${{ matrix.sample }} working-directory: ${{ matrix.sample }}
run: mvn clean package --no-transfer-progress run: mvn clean package
- name: Build with Gradle
- name: Cache gradle dependencies
uses: actions/cache@v4
env:
cache-name: gradle-caches
with:
path: ~/.gradle/caches
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/*.gradle', '**/*.gradle.kts') }}
- name: Cache gradle wrapper
uses: actions/cache@v4
env:
cache-name: gradle-wrapper
with:
path: ~/.gradle/wrapper
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/gradle/wrapper/gradle-wrapper.properties') }}
- name: Build
working-directory: ${{ matrix.sample }} working-directory: ${{ matrix.sample }}
run: ./gradlew build -x test run: gradle clean build

View File

@ -1,44 +0,0 @@
name: Samples Java Helidon v3
on:
push:
paths:
- samples/client/petstore/java-helidon-client/v3/**
- samples/server/petstore/java-helidon-server/v3/**
- samples/server/others/java-helidon-server/v3/**
pull_request:
paths:
- samples/client/petstore/java-helidon-client/v3/**
- samples/server/petstore/java-helidon-server/v3/**
- samples/server/others/java-helidon-server/v3/**
jobs:
build:
name: Build Java Helidon
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
- samples/client/petstore/java-helidon-client/v3/mp
- samples/client/petstore/java-helidon-client/v3/se
- samples/server/petstore/java-helidon-server/v3/mp
- samples/server/petstore/java-helidon-server/v3/se
- samples/server/others/java-helidon-server/v3/mp-format-test
version: [17]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: ${{ matrix.version }}
- name: Cache maven dependencies
uses: actions/cache@v4
env:
cache-name: maven-repository
with:
path: |
~/.m2
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Build
working-directory: ${{ matrix.sample }}
run: mvn clean package --no-transfer-progress

View File

@ -1,45 +0,0 @@
name: Samples Java Helidon v4
on:
push:
paths:
- samples/client/petstore/java-helidon-client/v4/**
- samples/server/petstore/java-helidon-server/v4/**
- samples/server/others/java-helidon-server/v4/**
pull_request:
paths:
- samples/client/petstore/java-helidon-client/v4/**
- samples/server/petstore/java-helidon-server/v4/**
- samples/server/others/java-helidon-server/v4/**
jobs:
build:
name: Build Java Helidon
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
- samples/client/petstore/java-helidon-client/v4/mp
- samples/client/petstore/java-helidon-client/v4/se
- samples/server/petstore/java-helidon-server/v4/mp
- samples/server/petstore/java-helidon-server/v4/se
- samples/server/petstore/java-helidon-server/v4/se-uac
- samples/server/others/java-helidon-server/v4/mp-format-test
version: [21]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: ${{ matrix.version }}
- name: Cache maven dependencies
uses: actions/cache@v4
env:
cache-name: maven-repository
with:
path: |
~/.m2
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Build
working-directory: ${{ matrix.sample }}
run: mvn clean package --no-transfer-progress

View File

@ -0,0 +1,41 @@
name: Samples Java Helidon
on:
push:
paths:
- samples/client/petstore/java-helidon-client/**
- samples/server/petstore/java-helidon-server/**
pull_request:
paths:
- samples/client/petstore/java-helidon-client/**
- samples/server/petstore/java-helidon-server/**
jobs:
build:
name: Build Java Helidon
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
- samples/client/petstore/java-helidon-client/mp
- samples/client/petstore/java-helidon-client/se
- samples/server/petstore/java-helidon-server/mp
- samples/server/petstore/java-helidon-server/se
version: [17]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: ${{ matrix.version }}
- name: Cache maven dependencies
uses: actions/cache@v3
env:
cache-name: maven-repository
with:
path: |
~/.m2
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Build
working-directory: ${{ matrix.sample }}
run: mvn clean package

View File

@ -29,13 +29,13 @@ jobs:
- samples/server/petstore/java-play-framework-no-swagger-ui - samples/server/petstore/java-play-framework-no-swagger-ui
- samples/server/petstore/java-play-framework-no-wrap-calls - samples/server/petstore/java-play-framework-no-wrap-calls
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- uses: actions/setup-java@v4 - uses: actions/setup-java@v3
with: with:
distribution: 'temurin' distribution: 'temurin'
java-version: 11 java-version: 11
- name: Cache maven dependencies - name: Cache maven dependencies
uses: actions/cache@v4 uses: actions/cache@v3
env: env:
cache-name: maven-repository cache-name: maven-repository
with: with:
@ -44,4 +44,4 @@ jobs:
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }} key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Build - name: Build
working-directory: ${{ matrix.sample }} working-directory: ${{ matrix.sample }}
run: mvn clean package --no-transfer-progress run: mvn clean package

View File

@ -3,19 +3,19 @@ name: Samples Java Server
on: on:
push: push:
paths: paths:
# java-camel is tested locally for the time being
#- 'samples/server/petstore/java-camel/**'
- 'samples/server/petstore/java-vertx-web/**' - 'samples/server/petstore/java-vertx-web/**'
- 'samples/server/petstore/java-inflector/**' - 'samples/server/petstore/java-inflector/**'
- 'samples/server/petstore/java-pkmst/**' - 'samples/server/petstore/java-pkmst/**'
# test in circleci instead
- 'samples/server/petstore/java-undertow/**' - 'samples/server/petstore/java-undertow/**'
- 'samples/server/petstore/java-microprofile/**'
pull_request: pull_request:
paths: paths:
#- 'samples/server/petstore/java-camel/**'
- 'samples/server/petstore/java-vertx-web/**' - 'samples/server/petstore/java-vertx-web/**'
- 'samples/server/petstore/java-inflector/**' - 'samples/server/petstore/java-inflector/**'
- 'samples/server/petstore/java-pkmst/**' - 'samples/server/petstore/java-pkmst/**'
#- 'samples/server/petstore/java-undertow/**' - 'samples/server/petstore/java-undertow/**'
- 'samples/server/petstore/java-microprofile/**'
jobs: jobs:
build: build:
name: Build Java Server name: Build Java Server
@ -25,19 +25,19 @@ jobs:
matrix: matrix:
sample: sample:
# servers # servers
#- samples/server/petstore/java-camel/
- samples/server/petstore/java-vertx-web/ - samples/server/petstore/java-vertx-web/
- samples/server/petstore/java-inflector/ - samples/server/petstore/java-inflector/
- samples/server/petstore/java-pkmst/ - samples/server/petstore/java-pkmst/
#- samples/server/petstore/java-undertow/ - samples/server/petstore/java-undertow/
- samples/server/petstore/java-microprofile/
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- uses: actions/setup-java@v4 - uses: actions/setup-java@v3
with: with:
distribution: 'temurin' distribution: 'temurin'
java-version: 8 java-version: 8
- name: Cache maven dependencies - name: Cache maven dependencies
uses: actions/cache@v4 uses: actions/cache@v3
env: env:
cache-name: maven-repository cache-name: maven-repository
with: with:
@ -46,4 +46,4 @@ jobs:
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }} key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Build - name: Build
working-directory: ${{ matrix.sample }} working-directory: ${{ matrix.sample }}
run: mvn clean package --no-transfer-progress run: mvn clean package

View File

@ -1,35 +0,0 @@
name: Samples Java Wiremock
on:
push:
paths:
- samples/server/petstore/java-wiremock/**
pull_request:
paths:
- samples/server/petstore/java-wiremock/**
jobs:
build:
name: Build Java Wiremock
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
- samples/server/petstore/java-wiremock
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 11
- name: Cache maven dependencies
uses: actions/cache@v4
env:
cache-name: maven-repository
with:
path: |
~/.m2
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Build
working-directory: ${{ matrix.sample }}
run: mvn clean package --no-transfer-progress

View File

@ -1,36 +0,0 @@
name: Samples JAX-RS (JDK11)
on:
push:
paths:
- samples/server/petstore/jaxrs/jersey3/**
pull_request:
paths:
- samples/server/petstore/jaxrs/jersey3/**
jobs:
build:
name: Build JAX-RS
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
# servers
- samples/server/petstore/jaxrs/jersey3
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 11
- name: Cache maven dependencies
uses: actions/cache@v4
env:
cache-name: maven-repository
with:
path: |
~/.m2
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Build
working-directory: ${{ matrix.sample }}
run: mvn clean package --no-transfer-progress

View File

@ -26,6 +26,8 @@ jobs:
- samples/server/petstore/jaxrs-spec - samples/server/petstore/jaxrs-spec
- samples/server/petstore/jaxrs-spec-interface - samples/server/petstore/jaxrs-spec-interface
- samples/server/petstore/jaxrs-spec-interface-response - samples/server/petstore/jaxrs-spec-interface-response
- samples/server/petstore/jaxrs/jersey1
- samples/server/petstore/jaxrs/jersey1-useTags
- samples/server/petstore/jaxrs-datelib-j8 - samples/server/petstore/jaxrs-datelib-j8
- samples/server/petstore/jaxrs-resteasy/default - samples/server/petstore/jaxrs-resteasy/default
- samples/server/petstore/jaxrs-resteasy/eap - samples/server/petstore/jaxrs-resteasy/eap
@ -38,13 +40,13 @@ jobs:
- samples/server/petstore/jaxrs-cxf-non-spring-app - samples/server/petstore/jaxrs-cxf-non-spring-app
- samples/server/petstore/jaxrs-spec-microprofile-openapi-annotations - samples/server/petstore/jaxrs-spec-microprofile-openapi-annotations
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- uses: actions/setup-java@v4 - uses: actions/setup-java@v3
with: with:
distribution: 'temurin' distribution: 'temurin'
java-version: 8 java-version: 8
- name: Cache maven dependencies - name: Cache maven dependencies
uses: actions/cache@v4 uses: actions/cache@v3
env: env:
cache-name: maven-repository cache-name: maven-repository
with: with:
@ -53,4 +55,4 @@ jobs:
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }} key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Build - name: Build
working-directory: ${{ matrix.sample }} working-directory: ${{ matrix.sample }}
run: mvn clean package --no-transfer-progress run: mvn clean package

View File

@ -4,36 +4,26 @@ on:
paths: paths:
# clients # clients
- samples/openapi3/client/petstore/spring-cloud-3/** - samples/openapi3/client/petstore/spring-cloud-3/**
- samples/client/petstore/java-helidon-client/v3/mp/** - samples/client/petstore/java-helidon-client/mp/**
- samples/client/petstore/java-helidon-client/v3/se/** - samples/client/petstore/java-helidon-client/se/**
- samples/client/petstore/spring-http-interface-reactive/** - samples/client/petstore/spring-http-interface-reactive/**
- samples/client/petstore/spring-http-interface/** - samples/client/petstore/spring-http-interface/**
- samples/client/petstore/spring-http-interface-reactive-noResponseEntity/**
- samples/client/petstore/spring-http-interface-noResponseEntity/**
- samples/client/petstore/java/webclient-jakarta/**
- samples/client/petstore/java/microprofile-rest-client-outer-enum/**
# servers # servers
- samples/openapi3/server/petstore/springboot-3/** - samples/openapi3/server/petstore/springboot-3/**
- samples/server/petstore/java-camel/** - samples/server/petstore/java-helidon-server/mp/**
- samples/server/petstore/java-helidon-server/v3/mp/** - samples/server/petstore/java-helidon-server/se/**
- samples/server/petstore/java-helidon-server/v3/se/**
pull_request: pull_request:
paths: paths:
# clients # clients
- samples/openapi3/client/petstore/spring-cloud-3/** - samples/openapi3/client/petstore/spring-cloud-3/**
- samples/client/petstore/java-helidon-client/v3/mp/** - samples/client/petstore/java-helidon-client/mp/**
- samples/client/petstore/java-helidon-client/v3/se/** - samples/client/petstore/java-helidon-client/se/**
- samples/client/petstore/spring-http-interface-reactive/** - samples/client/petstore/spring-http-interface-reactive/**
- samples/client/petstore/spring-http-interface/** - samples/client/petstore/spring-http-interface/**
- samples/client/petstore/spring-http-interface-reactive-noResponseEntity/**
- samples/client/petstore/spring-http-interface-noResponseEntity/**
- samples/client/petstore/java/webclient-jakarta/**
- samples/client/petstore/java/microprofile-rest-client-outer-enum/**
# servers # servers
- samples/openapi3/server/petstore/springboot-3/** - samples/openapi3/server/petstore/springboot-3/**
- samples/server/petstore/java-camel/** - samples/server/petstore/java-helidon-server/mp/**
- samples/server/petstore/java-helidon-server/v3/mp/** - samples/server/petstore/java-helidon-server/se/**
- samples/server/petstore/java-helidon-server/v3/se/**
jobs: jobs:
build: build:
name: Build with JDK17 name: Build with JDK17
@ -44,27 +34,24 @@ jobs:
sample: sample:
# clients # clients
- samples/openapi3/client/petstore/spring-cloud-3 - samples/openapi3/client/petstore/spring-cloud-3
- samples/client/petstore/java-helidon-client/v3/mp/ - samples/client/petstore/java-helidon-client/mp
- samples/client/petstore/java-helidon-client/v3/se - samples/client/petstore/java-helidon-client/se
- samples/client/petstore/spring-http-interface-reactive - samples/client/petstore/spring-http-interface-reactive
- samples/client/petstore/spring-http-interface - samples/client/petstore/spring-http-interface
- samples/client/petstore/spring-http-interface-reactive-noResponseEntity
- samples/client/petstore/spring-http-interface-noResponseEntity
- samples/client/petstore/java/webclient-jakarta
- samples/client/petstore/java/microprofile-rest-client-outer-enum
# servers # servers
- samples/openapi3/server/petstore/springboot-3 - samples/openapi3/server/petstore/springboot-3
- samples/server/petstore/java-camel/ - samples/server/petstore/java-helidon-server/mp
- samples/server/petstore/java-helidon-server/v3/mp/ - samples/server/petstore/java-helidon-server/se
- samples/server/petstore/java-helidon-server/v3/se - samples/client/petstore/spring-http-interface-reactive
- samples/client/petstore/spring-http-interface
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- uses: actions/setup-java@v4 - uses: actions/setup-java@v3
with: with:
distribution: 'temurin' distribution: 'temurin'
java-version: 17 java-version: 17
- name: Cache maven dependencies - name: Cache maven dependencies
uses: actions/cache@v4 uses: actions/cache@v3
env: env:
cache-name: maven-repository cache-name: maven-repository
with: with:
@ -73,4 +60,4 @@ jobs:
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }} key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Build - name: Build
working-directory: ${{ matrix.sample }} working-directory: ${{ matrix.sample }}
run: mvn clean package --no-transfer-progress run: mvn clean package

View File

@ -1,49 +0,0 @@
name: Samples JDK21
on:
push:
paths:
# clients
- samples/client/petstore/java-helidon-client/v4/mp/**
- samples/client/petstore/java-helidon-client/v4/se/**
# servers
- samples/server/petstore/java-helidon-server/v4/mp/**
- samples/server/petstore/java-helidon-server/v4/se/**
pull_request:
paths:
# clients
- samples/client/petstore/java-helidon-client/v4/mp/**
- samples/client/petstore/java-helidon-client/v4/se/**
# servers
- samples/server/petstore/java-helidon-server/v4/mp/**
- samples/server/petstore/java-helidon-server/v4/se/**
jobs:
build:
name: Build with JDK21
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
# clients
- samples/client/petstore/java-helidon-client/v4/mp/
- samples/client/petstore/java-helidon-client/v4/se/
# servers
- samples/server/petstore/java-helidon-server/v4/mp/
- samples/server/petstore/java-helidon-server/v4/se/
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 21
- name: Cache maven dependencies
uses: actions/cache@v4
env:
cache-name: maven-repository
with:
path: |
~/.m2
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Build
working-directory: ${{ matrix.sample }}
run: mvn clean package --no-transfer-progress

View File

@ -15,8 +15,8 @@ jobs:
name: Tests Julia name: Tests Julia
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- uses: julia-actions/setup-julia@v2 - uses: julia-actions/setup-julia@v1
with: with:
version: 1.8 version: 1.8
arch: x64 arch: x64
@ -30,7 +30,7 @@ jobs:
# Using develop mode to install package so that it is easier to modify the package test files # Using develop mode to install package so that it is easier to modify the package test files
julia -e "using Pkg; Pkg.develop(\"OpenAPI\");" julia -e "using Pkg; Pkg.develop(\"OpenAPI\");"
cd ~/.julia/dev/OpenAPI cd ~/.julia/dev/OpenAPI
git checkout v0.2.0 git checkout v0.1.14
cd $currdir cd $currdir
rm -rf ~/.julia/dev/OpenAPI/test/client/openapigenerator_petstore_v3/petstore rm -rf ~/.julia/dev/OpenAPI/test/client/openapigenerator_petstore_v3/petstore
rm -rf ~/.julia/dev/OpenAPI/test/server/openapigenerator_petstore_v3/petstore rm -rf ~/.julia/dev/OpenAPI/test/server/openapigenerator_petstore_v3/petstore

View File

@ -4,11 +4,12 @@ on:
push: push:
branches: branches:
- 'samples/client/petstore/kotlin*/**' - 'samples/client/petstore/kotlin*/**'
- 'samples/client/others/kotlin-jvm-okhttp-parameter-tests/**'
pull_request: pull_request:
paths: paths:
- 'samples/client/petstore/kotlin*/**' - 'samples/client/petstore/kotlin*/**'
- 'samples/client/others/kotlin-jvm-okhttp-parameter-tests/**'
env:
GRADLE_VERSION: 6.9
jobs: jobs:
build: build:
@ -20,37 +21,34 @@ jobs:
sample: sample:
# client # client
- samples/client/petstore/kotlin - samples/client/petstore/kotlin
- samples/client/petstore/kotlin-explicit
- samples/client/petstore/kotlin-gson - samples/client/petstore/kotlin-gson
- samples/client/petstore/kotlin-jackson - samples/client/petstore/kotlin-jackson
- samples/client/petstore/kotlin-model-prefix-type-mappings
# needs Android configured # needs Android configured
#- samples/client/petstore/kotlin-json-request-string #- samples/client/petstore/kotlin-json-request-string
- samples/client/petstore/kotlin-jvm-okhttp4-coroutines - samples/client/petstore/kotlin-jvm-okhttp4-coroutines
- samples/client/petstore/kotlin-jvm-volley - samples/client/petstore/kotlin-jvm-volley
- samples/client/petstore/kotlin-moshi-codegen - samples/client/petstore/kotlin-moshi-codegen
- samples/client/petstore/kotlin-multiplatform - samples/client/petstore/kotlin-multiplatform
- samples/client/petstore/kotlin-multiplatform-kotlinx-datetime
- samples/client/petstore/kotlin-nonpublic - samples/client/petstore/kotlin-nonpublic
- samples/client/petstore/kotlin-nullable - samples/client/petstore/kotlin-nullable
- samples/client/petstore/kotlin-okhttp3
- samples/client/petstore/kotlin-retrofit2 - samples/client/petstore/kotlin-retrofit2
- samples/client/petstore/kotlin-retrofit2-kotlinx_serialization - samples/client/petstore/kotlin-retrofit2-kotlinx_serialization
- samples/client/petstore/kotlin-retrofit2-jackson
- samples/client/petstore/kotlin-retrofit2-rx3 - samples/client/petstore/kotlin-retrofit2-rx3
- samples/client/petstore/kotlin-string - samples/client/petstore/kotlin-string
- samples/client/petstore/kotlin-threetenbp - samples/client/petstore/kotlin-threetenbp
- samples/client/petstore/kotlin-kotlinx-datetime
- samples/client/petstore/kotlin-uppercase-enum - samples/client/petstore/kotlin-uppercase-enum
- samples/client/petstore/kotlin-default-values-jvm-okhttp3
- samples/client/petstore/kotlin-default-values-jvm-okhttp4 - samples/client/petstore/kotlin-default-values-jvm-okhttp4
- samples/client/petstore/kotlin-default-values-jvm-retrofit2 - samples/client/petstore/kotlin-default-values-jvm-retrofit2
- samples/client/petstore/kotlin-default-values-jvm-volley - samples/client/petstore/kotlin-default-values-jvm-volley
- samples/client/petstore/kotlin-default-values-multiplatform - samples/client/petstore/kotlin-default-values-multiplatform
- samples/client/petstore/kotlin-array-simple-string-jvm-okhttp3
- samples/client/petstore/kotlin-array-simple-string-jvm-okhttp4 - samples/client/petstore/kotlin-array-simple-string-jvm-okhttp4
- samples/client/petstore/kotlin-array-simple-string-jvm-volley - samples/client/petstore/kotlin-array-simple-string-jvm-volley
- samples/client/petstore/kotlin-array-simple-string-multiplatform - samples/client/petstore/kotlin-array-simple-string-multiplatform
- samples/client/petstore/kotlin-bigdecimal-default-multiplatform - samples/client/petstore/kotlin-bigdecimal-default-multiplatform
- samples/client/petstore/kotlin-bigdecimal-default-okhttp4 - samples/client/petstore/kotlin-bigdecimal-default-okhttp4
- samples/client/petstore/kotlin-jvm-jackson
- samples/client/petstore/kotlin-jvm-ktor-jackson - samples/client/petstore/kotlin-jvm-ktor-jackson
- samples/client/petstore/kotlin-jvm-ktor-gson - samples/client/petstore/kotlin-jvm-ktor-gson
- samples/client/petstore/kotlin-jvm-ktor-kotlinx_serialization - samples/client/petstore/kotlin-jvm-ktor-kotlinx_serialization
@ -60,19 +58,15 @@ jobs:
- samples/client/petstore/kotlin-jvm-vertx-moshi - samples/client/petstore/kotlin-jvm-vertx-moshi
- samples/client/petstore/kotlin-jvm-spring-2-webclient - samples/client/petstore/kotlin-jvm-spring-2-webclient
- samples/client/petstore/kotlin-jvm-spring-3-webclient - samples/client/petstore/kotlin-jvm-spring-3-webclient
- samples/client/echo_api/kotlin-jvm-spring-3-webclient - samples/client/petstore/kotlin-spring-cloud
- samples/client/petstore/kotlin-jvm-spring-3-restclient
- samples/client/echo_api/kotlin-jvm-spring-3-restclient
- samples/client/petstore/kotlin-name-parameter-mappings
- samples/client/others/kotlin-jvm-okhttp-parameter-tests
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- uses: actions/setup-java@v4 - uses: actions/setup-java@v3
with: with:
distribution: 'temurin' distribution: 'temurin'
java-version: 11 java-version: 8
- name: Cache maven dependencies - name: Cache maven dependencies
uses: actions/cache@v4 uses: actions/cache@v3
env: env:
cache-name: maven-repository cache-name: maven-repository
with: with:
@ -80,8 +74,9 @@ jobs:
~/.gradle ~/.gradle
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }} key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Install Gradle wrapper - name: Install Gradle wrapper
uses: eskatos/gradle-command-action@v3 uses: eskatos/gradle-command-action@v2
with: with:
gradle-version: ${{ env.GRADLE_VERSION }}
build-root-directory: ${{ matrix.sample }} build-root-directory: ${{ matrix.sample }}
arguments: wrapper arguments: wrapper
- name: Build - name: Build

View File

@ -1,50 +0,0 @@
name: Kotlin Client (Echo API) JDK17
on:
push:
paths:
- samples/client/echo_api/kotlin**
pull_request:
paths:
- samples/client/echo_api/kotlin**
jobs:
build:
name: Build Kotlin Client JDK17
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
# clients
- samples/client/echo_api/kotlin-jvm-spring-3-restclient
- samples/client/echo_api/kotlin-model-prefix-type-mappings
- samples/client/echo_api/kotlin-jvm-okhttp
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17
- name: Cache maven dependencies
uses: actions/cache@v4
env:
cache-name: maven-repository
with:
path: |
~/.gradle
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Install Gradle wrapper
uses: eskatos/gradle-command-action@v3
with:
build-root-directory: ${{ matrix.sample }}
arguments: wrapper
- name: Setup node.js
uses: actions/setup-node@v4
- name: Run echo server
run: |
git clone https://github.com/wing328/http-echo-server -b openapi-generator-test-server
(cd http-echo-server && npm install && npm start &)
- name: Build
working-directory: ${{ matrix.sample }}
run: ./gradlew build

View File

@ -1,58 +1,34 @@
name: Samples Kotlin server (jdk17) name: Samples Kotlin server
on: on:
push: push:
paths: branches:
- 'samples/server/petstore/kotlin-springboot-3*/**' - 'samples/server/petstore/kotlin-springboot-3*/**'
- 'samples/server/petstore/kotlin-server/**'
- 'samples/server/petstore/kotlin-server-modelMutable/**'
- 'samples/server/petstore/kotlin-springboot-*/**'
- 'samples/server/petstore/kotlin-server-required-and-nullable-properties/**'
# comment out due to gradle build failure
# - samples/server/petstore/kotlin-spring-default/**
pull_request: pull_request:
paths: paths:
- 'samples/server/petstore/kotlin-springboot-3*/**' - 'samples/server/petstore/kotlin-springboot-3*/**'
- 'samples/server/petstore/kotlin-server/**'
- 'samples/server/petstore/kotlin-server-modelMutable/**'
- 'samples/server/petstore/kotlin-springboot-*/**'
- 'samples/server/petstore/kotlin-server-required-and-nullable-properties/**'
# comment out due to gradle build failure
# - samples/server/petstore/kotlin-spring-default/**
env: env:
GRADLE_VERSION: '8.10' GRADLE_VERSION: 7.4
jobs: jobs:
build: build:
name: Build Kotlin server (jdk17) name: Build Kotlin server
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
sample: sample:
# server # server
- samples/server/petstore/kotlin-server-required-and-nullable-properties
- samples/server/petstore/kotlin-springboot-3 - samples/server/petstore/kotlin-springboot-3
- samples/server/petstore/kotlin-springboot-delegate-nodefaults
- samples/server/petstore/kotlin-springboot-request-cookie
- samples/server/petstore/kotlin-server/jaxrs-spec
- samples/server/petstore/kotlin-server/jaxrs-spec-mutiny
- samples/server/petstore/kotlin-server/javalin
- samples/server/petstore/kotlin-server/javalin-6
- samples/server/petstore/kotlin-server/ktor
- samples/server/petstore/kotlin-server/ktor2
- samples/server/petstore/kotlin-misk
# comment out due to gradle build failure
# - samples/server/petstore/kotlin-spring-default/
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- uses: actions/setup-java@v4 - uses: actions/setup-java@v3
with: with:
distribution: 'temurin' distribution: 'temurin'
java-version: 17 java-version: 17
- name: Cache maven dependencies - name: Cache maven dependencies
uses: actions/cache@v4 uses: actions/cache@v3
env: env:
cache-name: maven-repository cache-name: maven-repository
with: with:
@ -60,11 +36,11 @@ jobs:
~/.gradle ~/.gradle
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }} key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Install Gradle wrapper - name: Install Gradle wrapper
uses: eskatos/gradle-command-action@v3 uses: eskatos/gradle-command-action@v2
with: with:
gradle-version: ${{ env.GRADLE_VERSION }} gradle-version: ${{ env.GRADLE_VERSION }}
build-root-directory: ${{ matrix.sample }} build-root-directory: ${{ matrix.sample }}
arguments: wrapper arguments: wrapper
- name: Build - name: Build
working-directory: ${{ matrix.sample }} working-directory: ${{ matrix.sample }}
run: ./gradlew build -x test run: ./gradlew build -x test

View File

@ -1,51 +0,0 @@
name: Samples Kotlin server (jdk21)
on:
push:
paths:
- 'samples/server/petstore/kotlin-server/**'
- 'samples/server/petstore/kotlin-server-required-and-nullable-properties/**'
pull_request:
paths:
- 'samples/server/petstore/kotlin-server/**'
- 'samples/server/petstore/kotlin-server-required-and-nullable-properties/**'
env:
GRADLE_VERSION: '8.10'
jobs:
build:
name: Build Kotlin server (jdk21)
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
- samples/server/petstore/kotlin-server/javalin-6
- samples/server/petstore/kotlin-server/ktor
- samples/server/petstore/kotlin-server/ktor2
- samples/server/petstore/kotlin-server-required-and-nullable-properties
- samples/server/petstore/kotlin-misk
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 21
- name: Cache maven dependencies
uses: actions/cache@v4
env:
cache-name: maven-repository
with:
path: |
~/.gradle
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Install Gradle wrapper
uses: eskatos/gradle-command-action@v3
with:
gradle-version: ${{ env.GRADLE_VERSION }}
build-root-directory: ${{ matrix.sample }}
arguments: wrapper
- name: Build
working-directory: ${{ matrix.sample }}
run: ./gradlew build -x test

View File

@ -1,27 +1,19 @@
name: Samples Kotlin server (jdk8) name: Samples Kotlin server
on: on:
push: push:
paths: branches:
- samples/server/others/kotlin-server/jaxrs-spec/**
- 'samples/server/petstore/kotlin*/**' - 'samples/server/petstore/kotlin*/**'
- 'samples/server/others/kotlin-server/jaxrs-spec-array-response/**'
# comment out due to gradle build failure
#- samples/server/petstore/kotlin-spring-default/**
pull_request: pull_request:
paths: paths:
- samples/server/others/kotlin-server/jaxrs-spec/**
- 'samples/server/petstore/kotlin*/**' - 'samples/server/petstore/kotlin*/**'
- 'samples/server/others/kotlin-server/jaxrs-spec-array-response/**'
# comment out due to gradle build failure
# - samples/server/petstore/kotlin-spring-default/**
env: env:
GRADLE_VERSION: 7.6.4 GRADLE_VERSION: 6.9
jobs: jobs:
build: build:
name: Build Kotlin server (jdk8) name: Build Kotlin server
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
fail-fast: false fail-fast: false
@ -29,38 +21,25 @@ jobs:
sample: sample:
# server # server
- samples/server/petstore/kotlin-springboot - samples/server/petstore/kotlin-springboot
- samples/server/petstore/kotlin-springboot-multipart-request-model
- samples/server/petstore/kotlin-springboot-bigdecimal-default
- samples/server/petstore/kotlin-springboot-delegate - samples/server/petstore/kotlin-springboot-delegate
- samples/server/petstore/kotlin-springboot-modelMutable - samples/server/petstore/kotlin-springboot-modelMutable
- samples/server/petstore/kotlin-springboot-reactive - samples/server/petstore/kotlin-springboot-reactive
- samples/server/petstore/kotlin-springboot-reactive-without-flow
- samples/server/petstore/kotlin-springboot-source-swagger1 - samples/server/petstore/kotlin-springboot-source-swagger1
- samples/server/petstore/kotlin-springboot-source-swagger2 - samples/server/petstore/kotlin-springboot-source-swagger2
- samples/server/petstore/kotlin-springboot-springfox - samples/server/petstore/kotlin-springboot-springfox
- samples/server/petstore/kotlin-server/ktor - samples/server/petstore/kotlin-server/ktor
- samples/server/petstore/kotlin-server/ktor2
- samples/server/petstore/kotlin-server/jaxrs-spec - samples/server/petstore/kotlin-server/jaxrs-spec
- samples/server/petstore/kotlin-server/jaxrs-spec-mutiny
- samples/server/petstore/kotlin-server-modelMutable - samples/server/petstore/kotlin-server-modelMutable
- samples/server/petstore/kotlin-server/javalin
- samples/server/others/kotlin-server/jaxrs-spec
- samples/server/others/kotlin-server/jaxrs-spec-array-response
- samples/server/petstore/kotlin-spring-cloud
- samples/server/petstore/kotlin-misk
- samples/server/petstore/kotlin-misk-config
# comment out due to gradle build failure
#- samples/server/petstore/kotlin-spring-default
# no build.gradle file # no build.gradle file
#- samples/server/petstore/kotlin-vertx-modelMutable #- samples/server/petstore/kotlin-vertx-modelMutable
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- uses: actions/setup-java@v4 - uses: actions/setup-java@v3
with: with:
distribution: 'temurin' distribution: 'temurin'
java-version: 8 java-version: 8
- name: Cache maven dependencies - name: Cache maven dependencies
uses: actions/cache@v4 uses: actions/cache@v3
env: env:
cache-name: maven-repository cache-name: maven-repository
with: with:
@ -68,11 +47,11 @@ jobs:
~/.gradle ~/.gradle
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }} key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Install Gradle wrapper - name: Install Gradle wrapper
uses: eskatos/gradle-command-action@v3 uses: eskatos/gradle-command-action@v2
with: with:
gradle-version: ${{ env.GRADLE_VERSION }} gradle-version: ${{ env.GRADLE_VERSION }}
build-root-directory: ${{ matrix.sample }} build-root-directory: ${{ matrix.sample }}
arguments: wrapper arguments: wrapper
- name: Build - name: Build
working-directory: ${{ matrix.sample }} working-directory: ${{ matrix.sample }}
run: ./gradlew build -x test run: ./gradlew build -x test

View File

@ -1,45 +0,0 @@
name: Samples Kotlin WireMock
on:
push:
branches:
- samples/server/petstore/kotlin-wiremock*/**
- samples/server/echo_api/kotlin-wiremock/**
pull_request:
paths:
- samples/server/petstore/kotlin-wiremock*/**
- samples/server/echo_api/kotlin-wiremock/**
jobs:
build:
name: Build Kotlin WireMock
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
- samples/server/petstore/kotlin-wiremock
- samples/server/petstore/kotlin-wiremock-responses
- samples/server/echo_api/kotlin-wiremock
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 11
- name: Cache maven dependencies
uses: actions/cache@v4
env:
cache-name: maven-repository
with:
path: |
~/.gradle
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Install Gradle wrapper
uses: eskatos/gradle-command-action@v3
with:
build-root-directory: ${{ matrix.sample }}
arguments: wrapper
- name: Build
working-directory: ${{ matrix.sample }}
run: ./gradlew build -x test

View File

@ -1,31 +0,0 @@
name: Samples OCaml
on:
push:
paths:
- 'samples/client/petstore/ocaml/**'
pull_request:
paths:
- 'samples/client/petstore/ocaml/**'
jobs:
build:
name: Build OCaml
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
- 'samples/client/petstore/ocaml/'
steps:
- uses: actions/checkout@v4
- name: Set-up OCaml
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: 5
- name: Install
run: opam install . --deps-only --with-test
working-directory: ${{ matrix.sample }}
- name: Build
run: opam exec -- dune build
working-directory: ${{ matrix.sample }}

32
.github/workflows/samples-php7.yaml vendored Normal file
View File

@ -0,0 +1,32 @@
name: Samples PHP 7.x
on:
push:
paths:
- samples/server/petstore/php-laravel/lib/
pull_request:
paths:
- samples/server/petstore/php-laravel/lib/
jobs:
build:
name: Build PHP projects
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
# servers
- samples/server/petstore/php-laravel/lib/
steps:
- uses: actions/checkout@v3
- name: Setup PHP with tools
uses: shivammathur/setup-php@v2
with:
php-version: '7.4'
tools: php-cs-fixer, phpunit
- name: composer install
working-directory: ${{ matrix.sample }}
run: composer install
- name: phpunit
working-directory: ${{ matrix.sample }}
run: vendor/bin/phpunit

View File

@ -4,13 +4,9 @@ on:
push: push:
paths: paths:
- samples/server/petstore/php-symfony/SymfonyBundle-php/** - samples/server/petstore/php-symfony/SymfonyBundle-php/**
- samples/server/petstore/php-flight/**
- samples/server/petstore/php-laravel/**
pull_request: pull_request:
paths: paths:
- samples/server/petstore/php-symfony/SymfonyBundle-php/** - samples/server/petstore/php-symfony/SymfonyBundle-php/**
- samples/server/petstore/php-flight/**
- samples/server/petstore/php-laravel/**
jobs: jobs:
build: build:
name: Build PHP projects name: Build PHP projects
@ -18,22 +14,15 @@ jobs:
strategy: strategy:
fail-fast: false fail-fast: false
matrix: matrix:
php:
- "8.1"
- "8.2"
- "8.3"
- "8.4"
sample: sample:
# servers # servers
- samples/server/petstore/php-symfony/SymfonyBundle-php/ - samples/server/petstore/php-symfony/SymfonyBundle-php/
- samples/server/petstore/php-flight/
- samples/server/petstore/php-laravel/
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Setup PHP with tools - name: Setup PHP with tools
uses: shivammathur/setup-php@v2 uses: shivammathur/setup-php@v2
with: with:
php-version: "${{ matrix.php }}" php-version: '8.1'
tools: php-cs-fixer, phpunit tools: php-cs-fixer, phpunit
- name: composer install - name: composer install
working-directory: ${{ matrix.sample }} working-directory: ${{ matrix.sample }}

View File

@ -1,33 +0,0 @@
name: Samples Postman
on:
pull_request:
paths:
- samples/schema/postman-collection/python/**
- samples/schema/postman-collection/postman.json
- .github/workflows/samples-postman.yaml
jobs:
build:
name: Test Python client
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
# schema
- samples/schema/postman-collection
python-version:
- "3.12"
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install
working-directory: ${{ matrix.sample }}
run: |
pip install -r python/requirements.txt
pip install -r python/test-requirements.txt
- name: Test
working-directory: ${{ matrix.sample }}
run: python -m pytest

View File

@ -1,39 +0,0 @@
name: Samples Protobuf
on:
push:
paths:
- .github/workflows/samples-protobuf.yaml
- samples/config/petstore/protobuf-schema/**
- samples/config/petstore/protobuf-schema-config/**
pull_request:
paths:
- .github/workflows/samples-protobuf.yaml
- samples/config/petstore/protobuf-schema/**
- samples/config/petstore/protobuf-schema-config/**
jobs:
build:
name: Build Protobuf Client
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
- 'samples/config/petstore/protobuf-schema/'
- 'samples/config/petstore/protobuf-schema-config/'
- 'samples/config/petstore/protobuf-schema-config-complex/'
steps:
- uses: actions/checkout@v4
- name: Install Protocol Buffers Compiler
run: |
sudo apt-get update
sudo apt-get install -y protobuf-compiler
- name: Generate Protobuf Schema
working-directory: ${{ matrix.sample }}
run: |
mkdir out
protoc --proto_path=. --cpp_out=out models/*.proto services/*.proto
- name: Verify Generated Files
working-directory: ${{ matrix.sample }}
run: |
ls -l out/models
ls -l out/services

View File

@ -1,49 +0,0 @@
name: Python Client (Echo API)
on:
pull_request:
paths:
- samples/client/echo_api/python/**
- samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent/**
- .github/workflows/samples-python-client-echo-api.yaml
jobs:
build:
name: Test Python client
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
# clients
- samples/client/echo_api/python
- samples/client/echo_api/python-disallowAdditionalPropertiesIfNotPresent
python-version:
- "3.9"
- "3.10"
- "3.11"
- "3.12"
- "3.13"
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Setup node.js
uses: actions/setup-node@v4
- name: Run echo server
run: |
git clone https://github.com/wing328/http-echo-server -b openapi-generator-test-server
(cd http-echo-server && npm install && npm start &)
- name: Install
working-directory: ${{ matrix.sample }}
run: |
pip install -r requirements.txt
pip install -r test-requirements.txt
- name: Test
working-directory: ${{ matrix.sample }}
run: python -m unittest discover
- name: mypy
working-directory: ${{ matrix.sample }}
run: python -m mypy

View File

@ -1,33 +0,0 @@
name: Python FastAPI Server
on:
push:
paths:
- samples/server/petstore/python-fastapi/**
pull_request:
paths:
- samples/server/petstore/python-fastapi/**
jobs:
build:
name: Test Python FastAPI server
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
# servers
- samples/server/petstore/python-fastapi/
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.9'
- name: Install dependencies
working-directory: ${{ matrix.sample }}
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install pytest
- name: Test
working-directory: ${{ matrix.sample }}
run: PYTHONPATH=src pytest

View File

@ -0,0 +1,38 @@
name: Python Client (Echo API)
on:
push:
paths:
- samples/client/echo_api/python/**
pull_request:
paths:
- samples/client/echo_api/python/**
jobs:
build:
name: Test Python client
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
# clients
- samples/client/echo_api/python
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: '3.7'
- name: Setup node.js
uses: actions/setup-node@v3
- name: Run echo server
run: |
git clone https://github.com/wing328/http-echo-server -b openapi-generator-test-server
(cd http-echo-server && npm install && npm start &)
- name: Install
working-directory: ${{ matrix.sample }}
run: |
pip install -r requirements.txt
pip install -r test-requirements.txt
- name: Test
working-directory: ${{ matrix.sample }}
run: python -m pytest

View File

@ -1,63 +0,0 @@
name: "Python Client: Petstore"
on:
pull_request:
paths:
- samples/openapi3/client/petstore/python-aiohttp/**
- samples/openapi3/client/petstore/python/**
- .github/workflows/samples-python-petstore.yaml
jobs:
build:
name: Test Python client
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version:
- "3.9"
- "3.10"
- "3.11"
- "3.12"
- "3.13"
sample:
- samples/openapi3/client/petstore/python-aiohttp
- samples/openapi3/client/petstore/python
services:
petstore-api:
image: swaggerapi/petstore
ports:
- 80:8080
env:
SWAGGER_HOST: http://petstore.swagger.io
SWAGGER_BASE_PATH: /v2
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
id: py
with:
python-version: ${{ matrix.python-version }}
- name: Cache
uses: actions/cache@v4
with:
key: ${{ runner.os }}-python-${{ steps.py.outputs.python-version }}-
path: |
~/.cache/pypoetry/virtualenvs/
~/.local/pipx/venvs/poetry/
.mypy_cache/
- name: Install poetry
run: pipx install --python '${{ steps.py.outputs.python-path }}' poetry
- name: Install
working-directory: ${{ matrix.sample }}
run: poetry install
- name: Test
working-directory: ${{ matrix.sample }}
run: poetry run pytest -v
- name: mypy
working-directory: ${{ matrix.sample }}
run: poetry run mypy

View File

@ -1,44 +0,0 @@
name: Python Client pydantic v1 (Echo API)
on:
pull_request:
paths:
- samples/client/echo_api/python-pydantic-v1/**
- .github/workflows/samples-python-pydantic-v1-client-echo-api.yaml
jobs:
build:
name: Test Python client
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
# clients
- samples/client/echo_api/python-pydantic-v1/
python-version:
- "3.8"
- "3.9"
- "3.10"
- "3.11"
- "3.12"
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Setup node.js
uses: actions/setup-node@v4
- name: Run echo server
run: |
git clone https://github.com/wing328/http-echo-server -b openapi-generator-test-server
(cd http-echo-server && npm install && npm start &)
- name: Install
working-directory: ${{ matrix.sample }}
run: |
pip install -r requirements.txt
pip install -r test-requirements.txt
- name: Test
working-directory: ${{ matrix.sample }}
run: python -m pytest

View File

@ -1,59 +0,0 @@
name: "Python Client pydantic v1: Petstore"
on:
pull_request:
paths:
- samples/openapi3/client/petstore/python-pydantic-v1-aiohttp/**
- samples/openapi3/client/petstore/python-pydantic-v1/**
- .github/workflows/samples-python-pydantic-v1-petstore.yaml
jobs:
build:
name: Test Python client
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version:
- "3.8"
- "3.9"
- "3.10"
- "3.11"
- "3.12"
sample:
- samples/openapi3/client/petstore/python-pydantic-v1-aiohttp
- samples/openapi3/client/petstore/python-pydantic-v1
services:
petstore-api:
image: swaggerapi/petstore
ports:
- 80:8080
env:
SWAGGER_HOST: http://petstore.swagger.io
SWAGGER_BASE_PATH: /v2
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
id: py
with:
python-version: ${{ matrix.python-version }}
- name: Cache
uses: actions/cache@v4
with:
key: ${{ runner.os }}-python-${{ steps.py.outputs.python-version }}-
path: |
~/.cache/pypoetry/virtualenvs/
~/.local/pipx/venvs/poetry/
.mypy_cache/
- name: Install poetry
run: pipx install --python '${{ steps.py.outputs.python-path }}' poetry
- name: Install
working-directory: ${{ matrix.sample }}
run: poetry install
- name: Test
working-directory: ${{ matrix.sample }}
run: poetry run pytest -v

View File

@ -3,10 +3,10 @@ name: Python Server
on: on:
push: push:
paths: paths:
- samples/server/petstore/python-aiohttp-srclayout/** - samples/server/petstore/python-aiohttp/**
pull_request: pull_request:
paths: paths:
- samples/server/petstore/python-aiohttp-srclayout/** - samples/server/petstore/python-aiohttp/**
jobs: jobs:
build: build:
name: Test Python server name: Test Python server
@ -16,12 +16,12 @@ jobs:
matrix: matrix:
sample: sample:
# servers # servers
- samples/server/petstore/python-aiohttp-srclayout/ - samples/server/petstore/python-aiohttp/
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- uses: actions/setup-python@v5 - uses: actions/setup-python@v4
with: with:
python-version: '3.9' python-version: '3.7'
- name: Test - name: Test
working-directory: ${{ matrix.sample }} working-directory: ${{ matrix.sample }}
run: make test-all run: make test-all

View File

@ -1,42 +0,0 @@
name: Samples R
on:
push:
paths:
- 'samples/client/echo_api/r/**'
pull_request:
paths:
- 'samples/client/echo_api/r/**'
jobs:
build:
name: Build R
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
- 'samples/client/echo_api/r/'
steps:
- uses: actions/checkout@v4
- name: Setup node.js
uses: actions/setup-node@v4
- name: Run echo server
run: |
git clone https://github.com/wing328/http-echo-server -b openapi-generator-test-server
(cd http-echo-server && npm install && npm start &)
- uses: r-lib/actions/setup-r@v2
with:
r-version: 3.6.1
- uses: r-lib/actions/setup-r-dependencies@v2
working-directory: ${{ matrix.sample }}
with:
cache-version: 2
- name: Install curl
run: sudo apt-get install -y r-cran-curl
- name: build and test
working-directory: ${{ matrix.sample }}
run: |
# export _R_CHECK_FORCE_SUGGESTS_=false
/bin/bash build_and_test.bash
shell: bash

View File

@ -1,43 +0,0 @@
name: Samples Ruby
on:
push:
paths:
- 'samples/client/echo_api/ruby-httpx/**'
- 'samples/client/echo_api/ruby-faraday/**'
- 'samples/client/echo_api/ruby-typhoeus/**'
pull_request:
paths:
- 'samples/client/echo_api/ruby-httpx/**'
- 'samples/client/echo_api/ruby-faraday/**'
- 'samples/client/echo_api/ruby-typhoeus/**'
jobs:
build:
name: Build Ruby
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
- 'samples/client/echo_api/ruby-httpx/'
- 'samples/client/echo_api/ruby-faraday/'
- 'samples/client/echo_api/ruby-typhoeus/'
steps:
- uses: actions/checkout@v4
- name: Setup node.js
uses: actions/setup-node@v4
- name: Run echo server
run: |
git clone https://github.com/wing328/http-echo-server -b openapi-generator-test-server
(cd http-echo-server && npm install && npm start &)
- uses: actions/setup-ruby@v1
with:
ruby-version: 3.0
bundler-cache: true
- name: Install bundle
working-directory: ${{ matrix.sample }}
run: bundle install
- name: Run rspec
working-directory: ${{ matrix.sample }}
run: rspec

View File

@ -6,13 +6,11 @@ on:
- "samples/client/others/rust/**" - "samples/client/others/rust/**"
- "samples/server/petstore/rust-server/**" - "samples/server/petstore/rust-server/**"
- "samples/client/petstore/rust-server/**" - "samples/client/petstore/rust-server/**"
- "samples/server/petstore/rust-axum/**"
pull_request: pull_request:
paths: paths:
- "samples/client/others/rust/**" - "samples/client/others/rust/**"
- "samples/client/petstore/rust/**" - "samples/client/petstore/rust/**"
- "samples/server/petstore/rust-server/**" - "samples/server/petstore/rust-server/**"
- "samples/server/petstore/rust-axum/**"
jobs: jobs:
build: build:
@ -26,12 +24,11 @@ jobs:
- samples/client/others/rust/ - samples/client/others/rust/
- samples/client/petstore/rust/ - samples/client/petstore/rust/
- samples/server/petstore/rust-server/ - samples/server/petstore/rust-server/
- samples/server/petstore/rust-axum/
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- uses: actions-rs/toolchain@v1 - uses: actions-rs/toolchain@v1
with: with:
toolchain: stable toolchain: stable
- name: Build - name: Build
working-directory: ${{ matrix.sample }} working-directory: ${{ matrix.sample }}
run: cargo build --all-targets --all-features run: cargo build

View File

@ -1,38 +0,0 @@
name: Samples Scala/sbt (JDK8)
on:
push:
paths:
- 'samples/server/petstore/scala-finch/**'
pull_request:
paths:
- 'samples/server/petstore/scala-finch/**'
jobs:
build:
name: Build scala-finch servers
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
# servers
- samples/server/petstore/scala-finch # cannot be tested with jdk11
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 8
- name: Setup sbt launcher
uses: sbt/setup-sbt@v1
- name: Cache maven dependencies
uses: actions/cache@v4
env:
cache-name: maven-repository
with:
path: |
~/.ivy2
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/build.sbt') }}
- name: Build and test
working-directory: ${{ matrix.sample }}
run: sbt -v +test

View File

@ -20,30 +20,23 @@ jobs:
matrix: matrix:
sample: sample:
# clients # clients
- samples/client/petstore/java/okhttp-gson - 'samples/client/petstore/java/okhttp-gson'
- samples/client/petstore/scalaz - samples/client/petstore/scalaz
- samples/client/petstore/scala-pekko #- samples/client/petstore/scala-sttp # won't pass while the same tests in circleci pass
- samples/client/petstore/scala-http4s
#- samples/client/petstore/scala-sttp
#- samples/client/petstore/scala-sttp-circe
# servers # servers
- samples/server/petstore/scala-lagom-server - samples/server/petstore/scala-lagom-server
- samples/server/petstore/scala-play-server - samples/server/petstore/scala-play-server
- samples/server/petstore/scala-akka-http-server - samples/server/petstore/scala-akka-http-server
- samples/server/petstore/scala-pekko-http-server
- samples/server/petstore/scalatra - samples/server/petstore/scalatra
- samples/server/petstore/scala-http4s-server - samples/server/petstore/scala-finch # cannot be tested with jdk11
- samples/server/petstore/scala-cask
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- uses: actions/setup-java@v4 - uses: actions/setup-java@v3
with: with:
distribution: 'temurin' distribution: 'temurin'
java-version: 11 java-version: 8
- name: Setup sbt launcher
uses: sbt/setup-sbt@v1
- name: Cache maven dependencies - name: Cache maven dependencies
uses: actions/cache@v4 uses: actions/cache@v3
env: env:
cache-name: maven-repository cache-name: maven-repository
with: with:

View File

@ -4,21 +4,9 @@ on:
push: push:
paths: paths:
- samples/openapi3/client/petstore/spring-cloud-3-with-optional - samples/openapi3/client/petstore/spring-cloud-3-with-optional
- samples/openapi3/server/petstore/springboot-3
- samples/server/petstore/springboot-api-response-examples
- samples/server/petstore/springboot-lombok-data
- samples/server/petstore/springboot-lombok-tostring
- samples/server/petstore/springboot-file-delegate-optional
- samples/server/petstore/springboot-petstore-with-api-response-examples
pull_request: pull_request:
paths: paths:
- samples/openapi3/client/petstore/spring-cloud-3-with-optional - samples/openapi3/client/petstore/spring-cloud-3-with-optional
- samples/openapi3/server/petstore/springboot-3
- samples/server/petstore/springboot-api-response-examples
- samples/server/petstore/springboot-lombok-data
- samples/server/petstore/springboot-lombok-tostring
- samples/server/petstore/springboot-file-delegate-optional
- samples/server/petstore/springboot-petstore-with-api-response-examples
jobs: jobs:
build: build:
name: Build Java Spring (JDK17) name: Build Java Spring (JDK17)
@ -29,21 +17,14 @@ jobs:
sample: sample:
# clients # clients
- samples/openapi3/client/petstore/spring-cloud-3-with-optional - samples/openapi3/client/petstore/spring-cloud-3-with-optional
# servers
- samples/openapi3/server/petstore/springboot-3
- samples/server/petstore/springboot-api-response-examples
- samples/server/petstore/springboot-lombok-data
- samples/server/petstore/springboot-lombok-tostring
- samples/server/petstore/springboot-file-delegate-optional
- samples/server/petstore/springboot-petstore-with-api-response-examples
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- uses: actions/setup-java@v4 - uses: actions/setup-java@v3
with: with:
distribution: 'temurin' distribution: 'temurin'
java-version: 17 java-version: 17
- name: Cache maven dependencies - name: Cache maven dependencies
uses: actions/cache@v4 uses: actions/cache@v3
env: env:
cache-name: maven-repository cache-name: maven-repository
with: with:
@ -52,4 +33,4 @@ jobs:
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }} key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Build - name: Build
working-directory: ${{ matrix.sample }} working-directory: ${{ matrix.sample }}
run: mvn clean package --no-transfer-progress run: mvn clean package

View File

@ -3,16 +3,10 @@ name: Samples Java Spring
on: on:
push: push:
paths: paths:
# clients
- 'samples/client/petstore/spring*/**'
# servers
- 'samples/server/petstore/spring*/**' - 'samples/server/petstore/spring*/**'
- 'samples/openapi3/server/petstore/spring*/**' - 'samples/openapi3/server/petstore/spring*/**'
pull_request: pull_request:
paths: paths:
# clients
- 'samples/client/petstore/spring*/**'
# servers
- 'samples/server/petstore/spring*/**' - 'samples/server/petstore/spring*/**'
- 'samples/openapi3/server/petstore/spring*/**' - 'samples/openapi3/server/petstore/spring*/**'
jobs: jobs:
@ -25,49 +19,42 @@ jobs:
sample: sample:
# clients # clients
- samples/client/petstore/spring-cloud - samples/client/petstore/spring-cloud
- samples/client/petstore/spring-cloud-auth
- samples/client/petstore/spring-cloud-date-time
- samples/client/petstore/spring-cloud-deprecated
- samples/client/petstore/spring-cloud-tags
- samples/openapi3/client/petstore/spring-cloud - samples/openapi3/client/petstore/spring-cloud
- samples/openapi3/client/petstore/spring-cloud-async - samples/client/petstore/spring-cloud-date-time
- samples/openapi3/client/petstore/spring-cloud-date-time - samples/openapi3/client/petstore/spring-cloud-date-time
- samples/openapi3/client/petstore/spring-cloud-http-basic
- samples/openapi3/client/petstore/spring-cloud-spring-pageable
- samples/openapi3/client/petstore/spring-stubs - samples/openapi3/client/petstore/spring-stubs
- samples/openapi3/client/petstore/spring-stubs-skip-default-interface - samples/openapi3/client/petstore/spring-stubs-skip-default-interface
- samples/openapi3/client/petstore/spring-cloud-async
- samples/openapi3/client/petstore/spring-cloud-spring-pageable
- samples/client/petstore/spring-cloud-tags
# servers # servers
- samples/openapi3/server/petstore/springboot
- samples/openapi3/server/petstore/springboot-implicitHeaders
- samples/openapi3/server/petstore/springboot-delegate
- samples/openapi3/server/petstore/spring-boot-oneof
- samples/server/petstore/spring-boot-nullable-set
- samples/server/petstore/spring-boot-defaultInterface-unhandledException
- samples/server/petstore/springboot - samples/server/petstore/springboot
- samples/openapi3/server/petstore/springboot
- samples/server/petstore/springboot-beanvalidation - samples/server/petstore/springboot-beanvalidation
- samples/server/petstore/springboot-builtin-validation - samples/server/petstore/springboot-useoptional
- samples/server/petstore/springboot-reactive
- samples/server/petstore/springboot-implicitHeaders
- samples/openapi3/server/petstore/springboot-implicitHeaders
- samples/server/petstore/springboot-delegate - samples/server/petstore/springboot-delegate
- samples/server/petstore/springboot-delegate-no-response-entity - samples/server/petstore/springboot-delegate-no-response-entity
- samples/server/petstore/springboot-implicitHeaders - samples/openapi3/server/petstore/springboot-delegate
- samples/server/petstore/spring-boot-nullable-set
- samples/server/petstore/spring-boot-defaultInterface-unhandledException
- samples/openapi3/server/petstore/spring-boot-oneof
- samples/server/petstore/springboot-virtualan
- samples/server/petstore/springboot-implicitHeaders-annotationLibrary - samples/server/petstore/springboot-implicitHeaders-annotationLibrary
- samples/server/petstore/springboot-lombok-data
- samples/server/petstore/springboot-reactive
- samples/server/petstore/springboot-reactive-noResponseEntity
- samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8 - samples/server/petstore/springboot-spring-pageable-delegatePattern-without-j8
- samples/server/petstore/springboot-spring-pageable-delegatePattern - samples/server/petstore/springboot-spring-pageable-delegatePattern
- samples/server/petstore/springboot-spring-pageable-without-j8 - samples/server/petstore/springboot-spring-pageable-without-j8
- samples/server/petstore/springboot-spring-pageable - samples/server/petstore/springboot-spring-pageable
- samples/server/petstore/springboot-spring-provide-args
- samples/server/petstore/springboot-useoptional
- samples/server/petstore/springboot-virtualan
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- uses: actions/setup-java@v4 - uses: actions/setup-java@v3
with: with:
distribution: 'temurin' distribution: 'temurin'
java-version: 8 java-version: 8
- name: Cache maven dependencies - name: Cache maven dependencies
uses: actions/cache@v4 uses: actions/cache@v3
env: env:
cache-name: maven-repository cache-name: maven-repository
with: with:
@ -76,4 +63,4 @@ jobs:
key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }} key: ${{ runner.os }}-${{ github.job }}-${{ env.cache-name }}-${{ hashFiles('**/pom.xml') }}
- name: Build - name: Build
working-directory: ${{ matrix.sample }} working-directory: ${{ matrix.sample }}
run: mvn clean package --no-transfer-progress run: mvn clean package

View File

@ -1,44 +0,0 @@
name: Samples Swift 5
on:
push:
paths:
- samples/client/petstore/swift5/**
pull_request:
paths:
- samples/client/petstore/swift5/**
jobs:
build:
strategy:
fail-fast: false
matrix:
os: [macos-latest]
sample:
- samples/client/petstore/swift5/alamofireLibrary
- samples/client/petstore/swift5/asyncAwaitLibrary
- samples/client/petstore/swift5/combineLibrary
- samples/client/petstore/swift5/default
- samples/client/petstore/swift5/objcCompatible
- samples/client/petstore/swift5/oneOf
- samples/client/petstore/swift5/promisekitLibrary
- samples/client/petstore/swift5/resultLibrary
- samples/client/petstore/swift5/rxswiftLibrary
- samples/client/petstore/swift5/urlsessionLibrary
- samples/client/petstore/swift5/validation
# NOTE: disabled as vaporLibrary doesnt build when adding this CI config
#- samples/client/petstore/swift5/vaporLibrary
include:
- os: ubuntu-latest
sample: samples/client/petstore/swift5/alamofireLibrary
name: Build Swift samples
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: swift-actions/setup-swift@v2
if: ${{ matrix.os == 'ubuntu-latest' }}
with:
swift-version: '5'
- name: Build
working-directory: ${{ matrix.sample }}
run: swift build

View File

@ -1,42 +0,0 @@
name: TypeScript Axios Client (Echo API)
on:
pull_request:
paths:
- samples/client/echo_api/typescript-axios/**
- .github/workflows/samples-typescript-axios-echo-api.yaml
jobs:
build:
name: Test TypeScript Axios client
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
# clients
- samples/client/echo_api/typescript-axios/test
node-version:
- 16
- 18
- 20
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Run echo server
run: |
git clone https://github.com/wing328/http-echo-server -b openapi-generator-test-server
(cd http-echo-server && git checkout 15a684c41d4de692878636f47fcc1670af309a0f && npm install && npm start &)
- name: Install
working-directory: ${{ matrix.sample }}
run: |
npm run preinstall
npm i
- name: Test
working-directory: ${{ matrix.sample }}
run: npm test

View File

@ -1,37 +0,0 @@
name: TypeScript Client (Encoding / Decoding Test)
on:
pull_request:
paths:
- samples/client/others/typescript/encode-decode/**
- .github/workflows/samples-typescript-encode-decode.yaml
jobs:
build:
name: Test TypeScript Encoding / Decoding
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
# clients
- samples/client/others/typescript/encode-decode/test
node-version:
- 16
- 18
- 20
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Install
working-directory: ${{ matrix.sample }}
run: |
npm run preinstall
npm i
- name: Test
working-directory: ${{ matrix.sample }}
run: npm test

View File

@ -1,37 +0,0 @@
name: TypeScript Node Client (Encoding / Decoding Test)
on:
pull_request:
paths:
- samples/client/others/typescript-node/encode-decode/**
- .github/workflows/samples-typescript-node-encode-decode.yaml
jobs:
build:
name: Test TypeScript Node Encoding / Decoding
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
sample:
# clients
- samples/client/others/typescript-node/encode-decode/test
node-version:
- 16
- 18
- 20
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Install
working-directory: ${{ matrix.sample }}
run: |
npm run preinstall
npm i
- name: Test
working-directory: ${{ matrix.sample }}
run: npm test

View File

@ -1,26 +0,0 @@
name: TypeScript clients type checks
on:
pull_request:
paths:
- samples/**
- bin/ts-typecheck-all.sh
- .github/workflows/samples-typescript-typecheck.yaml
jobs:
build:
name: Typecheck TypeScript samples
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
node-version:
- 20
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
- name: Run type checker
run: ./bin/ts-typecheck-all.sh

View File

@ -18,9 +18,9 @@ jobs:
sample: sample:
- samples/client/petstore/zapier - samples/client/petstore/zapier
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Setup node - name: Setup node
uses: actions/setup-node@v4 uses: actions/setup-node@v3
- name: Install dependencies - name: Install dependencies
working-directory: ${{ matrix.sample }} working-directory: ${{ matrix.sample }}
run: | run: |

26
.github/workflows/sonar.yml vendored Normal file
View File

@ -0,0 +1,26 @@
name: Sonar CI
on:
push:
branches:
- master
- '[4-9]+.[0-9]+.x'
- sonar
jobs:
build:
runs-on: ubuntu-latest
if: ${{ github.repository_owner == 'OpenAPITools' }}
steps:
- uses: actions/checkout@v3
- name: Set up JDK 11
uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: 11
- name: Compile with Maven
run: ./mvnw -B -q clean install jacoco:report
- name: Jacoco Aggregate
run: ./mvnw jacoco:report-aggregate
- name: Publish to Sonar
run: ./mvnw -B -q -nsu sonar:sonar -Dsonar.projectKey=OpenAPITools_openapi-generator -Dsonar.organization=openapitools -Dsonar.host.url=https://sonarcloud.io -Dsonar.login=${{ secrets.SONAR_LOGIN }} -Dsonar.branch.name=${GITHUB_REF##*/}

View File

@ -18,14 +18,14 @@ jobs:
matrix: matrix:
java: [11, 17] java: [11, 17]
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v3
- name: Set up JDK ${{ matrix.java }} - name: Set up JDK ${{ matrix.java }}
uses: actions/setup-java@v4 uses: actions/setup-java@v3
with: with:
java-version: ${{ matrix.java }} java-version: ${{ matrix.java }}
distribution: 'temurin' distribution: 'temurin'
- name: Cache maven dependencies - name: Cache maven dependencies
uses: actions/cache@v4 uses: actions/cache@v3
env: env:
cache-name: cache-maven-repository cache-name: cache-maven-repository
with: with:
@ -39,7 +39,7 @@ jobs:
${{ runner.os }}-build-${{ env.cache-name }}- ${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build- ${{ runner.os }}-build-
- name: Setup Maven - name: Setup Maven
uses: s4u/setup-maven-action@v1.18.0 uses: s4u/setup-maven-action@v1.8.0
with: with:
java-version: ${{ matrix.java }} java-version: ${{ matrix.java }}
maven-version: 3.8.8 maven-version: 3.8.8
@ -53,7 +53,7 @@ jobs:
# generator names containing "-" caused problems in the past, see https://github.com/OpenAPITools/openapi-generator/issues/9528 # generator names containing "-" caused problems in the past, see https://github.com/OpenAPITools/openapi-generator/issues/9528
java -jar ./openapi-generator-cli.jar author template --verbose -g jaxrs-spec --library quarkus java -jar ./openapi-generator-cli.jar author template --verbose -g jaxrs-spec --library quarkus
- name: Setup Gradle - name: Setup Gradle
uses: gradle/gradle-build-action@v3 uses: gradle/gradle-build-action@v2
- name: Gradle tests - name: Gradle tests
run: | run: |
gradle -b modules/openapi-generator-gradle-plugin/samples/local-spec/build.gradle buildGoSdk --stacktrace gradle -b modules/openapi-generator-gradle-plugin/samples/local-spec/build.gradle buildGoSdk --stacktrace

22
.gitignore vendored
View File

@ -1,5 +1,4 @@
.mvn/.gradle-enterprise/ .mvn/.gradle-enterprise/
.mvn/.develocity/
.scannerwork/ .scannerwork/
.vscode .vscode
*.iml *.iml
@ -9,7 +8,6 @@ out/
*.gpg *.gpg
classpath.txt classpath.txt
version.properties version.properties
modules/openapi-generator-maven-plugin/src/test/resources/default/_merged_spec.yaml
modules/openapi-generator-gradle-plugin/bin/ modules/openapi-generator-gradle-plugin/bin/
!modules/openapi-generator-cli/src/main/resources/version.properties !modules/openapi-generator-cli/src/main/resources/version.properties
.project .project
@ -86,17 +84,12 @@ samples/client/petstore/cpp-restsdk/CMakeCache.txt
samples/client/petstore/cpp-restsdk/CMakeFiles/ samples/client/petstore/cpp-restsdk/CMakeFiles/
samples/client/petstore/cpp-restsdk/Makefile samples/client/petstore/cpp-restsdk/Makefile
samples/client/petstore/cpp-restsdk/cmake_install.cmake samples/client/petstore/cpp-restsdk/cmake_install.cmake
samples/client/petstore/cpp-restsdk/client/CMakeFiles
samples/client/petstore/cpp-restsdk/client/Makefile
samples/client/petstore/cpp-restsdk/client/cmake_install.cmake
samples/client/petstore/cpp-restsdk/client/CppRestPetstoreClientConfig.cmake
samples/client/petstore/cpp-restsdk/client/CMakeCache.txt
#Java/Android #Java/Android
**/.gradle **/.gradle
samples/client/petstore/java/hello.txt samples/client/petstore/java/hello.txt
samples/client/petstore/java/okhttp-gson/hello.txt samples/client/petstore/java/okhttp-gson/hello.txt
samples/client/petstore/java/okhttp-gson-3.1/hello.txt samples/client/petstore/java/jersey1/hello.txt
samples/client/petstore/java/jersey2-java8/hello.txt samples/client/petstore/java/jersey2-java8/hello.txt
samples/client/petstore/java/jersey2/hello.txt samples/client/petstore/java/jersey2/hello.txt
samples/client/petstore/android/default/hello.txt samples/client/petstore/android/default/hello.txt
@ -180,17 +173,17 @@ samples/client/petstore/csharp-refactor/OpenAPIClient/nuget.exe
# Python # Python
*.pyc *.pyc
__pycache__ __pycache__
.venv/
samples/client/petstore/python/dev-requirements.txt.log samples/client/petstore/python/dev-requirements.txt.log
samples/client/petstore/python/swagger_client.egg-info/SOURCES.txt samples/client/petstore/python/swagger_client.egg-info/SOURCES.txt
samples/client/petstore/python/.coverage samples/client/petstore/python/.coverage
samples/client/petstore/python/.projectile samples/client/petstore/python/.projectile
samples/client/petstore/python/.venv/
samples/client/petstore/python-asyncio/.venv/
samples/client/petstore/python-asyncio/.pytest_cache/ samples/client/petstore/python-asyncio/.pytest_cache/
**/poetry.lock samples/client/petstore/python-tornado/.venv/
# PHP # PHP
samples/client/petstore/php/OpenAPIClient-php/composer.lock samples/client/petstore/php/OpenAPIClient-php/composer.lock
samples/client/petstore/php-nextgen/OpenAPIClient-php/composer.lock
samples/client/petstore/php-dt/composer.lock samples/client/petstore/php-dt/composer.lock
samples/client/petstore/php-dt-modern/composer.lock samples/client/petstore/php-dt-modern/composer.lock
samples/openapi3/server/petstore/php-symfony/SymfonyBundle-php/composer.lock samples/openapi3/server/petstore/php-symfony/SymfonyBundle-php/composer.lock
@ -218,9 +211,6 @@ samples/server/petstore/kotlin-server/ktor/build
samples/server/petstore/kotlin-springboot/build samples/server/petstore/kotlin-springboot/build
samples/client/petstore/kotlin*/src/main/kotlin/test/ samples/client/petstore/kotlin*/src/main/kotlin/test/
samples/client/petstore/kotlin*/build/ samples/client/petstore/kotlin*/build/
samples/server/others/kotlin-server/jaxrs-spec/build/
samples/client/echo_api/kotlin-jvm-spring-3-restclient/build/
samples/client/echo_api/kotlin-jvm-okhttp/build/
# haskell # haskell
.stack-work .stack-work
@ -280,7 +270,6 @@ samples/client/petstore/c/*.so
# Ruby # Ruby
samples/openapi3/client/petstore/ruby/Gemfile.lock samples/openapi3/client/petstore/ruby/Gemfile.lock
samples/openapi3/client/petstore/ruby-faraday/Gemfile.lock samples/openapi3/client/petstore/ruby-faraday/Gemfile.lock
samples/openapi3/client/petstore/ruby-httpx/Gemfile.lock
# Crystal # Crystal
samples/client/petstore/crystal/lib samples/client/petstore/crystal/lib
@ -290,6 +279,3 @@ samples/openapi3/client/petstore/go/privatekey.pem
## OCaml ## OCaml
samples/client/petstore/ocaml/_build/ samples/client/petstore/ocaml/_build/
# jetbrain http client
samples/client/jetbrains/adyen/checkout71/http/client/Apis/http-client.private.env.json

View File

@ -3,19 +3,19 @@
## ##
## You can build _just_ this part with: ## You can build _just_ this part with:
## docker --target builder -t container-name:builder -f .hub.cli.dockerfile . ## docker --target builder -t container-name:builder -f .hub.cli.dockerfile .
FROM maven:3-eclipse-temurin-17 as builder FROM maven:3.6.3-jdk-11-openj9 as builder
ENV GEN_DIR /opt/openapi-generator ENV GEN_DIR /opt/openapi-generator
WORKDIR ${GEN_DIR} WORKDIR ${GEN_DIR}
COPY . ${GEN_DIR} COPY . ${GEN_DIR}
# Pre-compile openapi-generator-cli # Pre-compile openapi-generator-cli
RUN mvn -B -am -pl "modules/openapi-generator-cli" package RUN mvn -am -pl "modules/openapi-generator-cli" package
## The final (release) image ## The final (release) image
## The resulting container here only needs the target jar ## The resulting container here only needs the target jar
## and ca-certificates (to be able to query HTTPS hosted specs) ## and ca-certificates (to be able to query HTTPS hosted specs)
FROM eclipse-temurin:17-jre FROM openjdk:11.0.8-jre-slim-buster
ENV GEN_DIR /opt/openapi-generator ENV GEN_DIR /opt/openapi-generator

View File

@ -3,18 +3,18 @@
## ##
## You can build _just_ this part with: ## You can build _just_ this part with:
## docker --target builder -t container-name:builder -f .hub.online.dockerfile . ## docker --target builder -t container-name:builder -f .hub.online.dockerfile .
FROM maven:3-eclipse-temurin-17 as builder FROM maven:3.6.3-jdk-11-openj9 as builder
ENV GEN_DIR /opt/openapi-generator ENV GEN_DIR /opt/openapi-generator
WORKDIR ${GEN_DIR} WORKDIR ${GEN_DIR}
COPY . ${GEN_DIR} COPY . ${GEN_DIR}
# Pre-compile openapi-generator-online # Pre-compile openapi-generator-online
RUN mvn -B -am -pl "modules/openapi-generator-online" package RUN mvn -am -pl "modules/openapi-generator-online" package
## The final (release) image ## The final (release) image
## The resulting container here only needs the target jar ## The resulting container here only needs the target jar
FROM eclipse-temurin:17-jre FROM openjdk:11.0.8-jre-slim-buster
ENV GEN_DIR /opt/openapi-generator ENV GEN_DIR /opt/openapi-generator
ENV TARGET_DIR /generator ENV TARGET_DIR /generator

View File

@ -1 +1 @@
11 1.8

View File

@ -1,45 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!-- Common develocity.xml configuration for Maven shared between CI agents and developers building locally.
The build cache credentials required for CI builds to write to the remote build cache are read from environment variables.
Possibly, the credentials are configured in Jenkins via Credentials plugin (https://plugins.jenkins.io/credentials/) and
Credentials Binding plugin (https://plugins.jenkins.io/credentials-binding/), or the credentials are injected using the
vendor-specific mechanism of the CI server running the build.
Note: In the XML configuration below, you need to adjust
- the server url of your Develocity server
- the name of the environment variable that reveals the build is running in a CI environment
- the names of the environment variables holding the build cache credentials
to the specifics of your CI server settings. -->
<develocity
xmlns="https://www.gradle.com/develocity-maven" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://www.gradle.com/develocity-maven https://www.gradle.com/schema/develocity-maven.xsd">
<server>
<url>https://ge.openapi-generator.tech/</url>
<allowUntrusted>false</allowUntrusted>
</server>
<buildScan>
<backgroundBuildScanUpload>#{isFalse(env['CI'])}</backgroundBuildScanUpload> <!-- adjust to your CI provider -->
<publishing>
<onlyIf>authenticated</onlyIf>
</publishing>
<obfuscation>
<!-- Use a redacted value.-->
<ipAddresses>#{{'0.0.0.0'}}</ipAddresses>
</obfuscation>
</buildScan>
<buildCache>
<local>
<enabled>true</enabled>
</local>
<remote>
<enabled>true</enabled>
<!-- Check credentials presence to avoid build cache errors on PR builds when credentials are not present -->
<storeEnabled>#{isTrue(env['CI']) and isTrue(env['GRADLE_ENTERPRISE_ACCESS_KEY'])}</storeEnabled>
</remote>
</buildCache>
</develocity>

View File

@ -2,12 +2,12 @@
<extensions> <extensions>
<extension> <extension>
<groupId>com.gradle</groupId> <groupId>com.gradle</groupId>
<artifactId>develocity-maven-extension</artifactId> <artifactId>gradle-enterprise-maven-extension</artifactId>
<version>1.21.6</version> <version>1.17</version>
</extension> </extension>
<extension> <extension>
<groupId>com.gradle</groupId> <groupId>com.gradle</groupId>
<artifactId>common-custom-user-data-maven-extension</artifactId> <artifactId>common-custom-user-data-maven-extension</artifactId>
<version>1.12.5</version> <version>1.11.1</version>
</extension> </extension>
</extensions> </extensions>

View File

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!-- Common gradle-enterprise.xml configuration for Maven shared between CI agents and developers building locally.
The build cache credentials required for CI builds to write to the remote build cache are read from environment variables.
Possibly, the credentials are configured in Jenkins via Credentials plugin (https://plugins.jenkins.io/credentials/) and
Credentials Binding plugin (https://plugins.jenkins.io/credentials-binding/), or the credentials are injected using the
vendor-specific mechanism of the CI server running the build.
Note: In the XML configuration below, you need to adjust
- the server url of your Gradle Enterprise server
- the name of the environment variable that reveals the build is running in a CI environment
- the names of the environment variables holding the build cache credentials
to the specifics of your CI server settings. -->
<gradleEnterprise
xmlns="https://www.gradle.com/gradle-enterprise-maven" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://www.gradle.com/gradle-enterprise-maven https://www.gradle.com/schema/gradle-enterprise-maven.xsd">
<server>
<url>https://ge.openapi-generator.tech/</url> <!-- adjust to your GE server -->
<allowUntrusted>false</allowUntrusted> <!-- ensure a trusted certificate is configured -->
</server>
<buildScan>
<captureGoalInputFiles>true</captureGoalInputFiles>
<backgroundBuildScanUpload>#{isFalse(env['CI'])}</backgroundBuildScanUpload> <!-- adjust to your CI provider -->
<publish>ALWAYS</publish>
<publishIfAuthenticated>true</publishIfAuthenticated>
<obfuscation>
<!-- Use a redacted value.-->
<ipAddresses>#{{'0.0.0.0'}}</ipAddresses>
</obfuscation>
</buildScan>
<buildCache>
<local>
<enabled>false</enabled>
</local>
<remote>
<server>
<url>https://ge.openapi-generator.tech/cache/exp3/</url> <!-- adjust to your GE hostname, and note the trailing slash -->
<allowUntrusted>true</allowUntrusted> <!-- set to false if a trusted certificate is configured for the GE server -->
<credentials>
<username>${env.GRADLE_ENTERPRISE_CACHE_USERNAME}</username>
<password>${env.GRADLE_ENTERPRISE_CACHE_PASSWORD}</password>
</credentials>
</server>
<enabled>true</enabled> <!-- must be true for this experiment -->
<storeEnabled>#{env['CI'] != null}</storeEnabled> <!-- adjust to an env var that is always present only in your CI environment -->
</remote>
</buildCache>
</gradleEnterprise>

View File

@ -1,2 +0,0 @@
java=11.0.23-tem
maven=3.8.8

View File

@ -22,7 +22,6 @@ cache:
- $HOME/samples/client/petstore/ruby/vendor/bundle - $HOME/samples/client/petstore/ruby/vendor/bundle
- $HOME/samples/client/petstore/python/.venv/ - $HOME/samples/client/petstore/python/.venv/
- $HOME/samples/server/petstore/rust-server/target - $HOME/samples/server/petstore/rust-server/target
- $HOME/samples/server/petstore/rust-axum/target
- $HOME/perl5 - $HOME/perl5
- $HOME/.cargo - $HOME/.cargo
- $HOME/.pub-cache - $HOME/.pub-cache
@ -37,12 +36,12 @@ services:
# comment out the host table change to use the public petstore server # comment out the host table change to use the public petstore server
addons: addons:
#apt: apt:
# sources: sources:
# - ubuntu-toolchain-r-test - ubuntu-toolchain-r-test
# packages: packages:
# - g++-5 - g++-5
#chrome: stable chrome: stable
hosts: hosts:
- petstore.swagger.io - petstore.swagger.io
@ -137,7 +136,7 @@ script:
# run integration tests defined in maven pom.xml # run integration tests defined in maven pom.xml
# WARN: Travis will timeout after 10 minutes of no stdout/stderr activity, which is problematic with mvn --quiet. # WARN: Travis will timeout after 10 minutes of no stdout/stderr activity, which is problematic with mvn --quiet.
# show "error" only to reduce the log size # show "error" only to reduce the log size
- ./mvnw -e --no-snapshot-updates --quiet --batch-mode --show-version clean install -DskipTests -Dmaven.javadoc.skip=true -Dorg.slf4j.simpleLogger.defaultLogLevel=error - ./mvnw -e --no-snapshot-updates --quiet --batch-mode --show-version clean install -DskipTests -Dmaven.javadoc.skip=true -Dorg.slf4j.simpleLogger.defaultLogLevel=error 2>&1 | grep -i error
after_success: after_success:
# push to maven repo # push to maven repo
- if [ $SONATYPE_USERNAME ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then - if [ $SONATYPE_USERNAME ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
@ -201,19 +200,16 @@ after_success:
echo "Pushed to $DOCKER_CODEGEN_CLI_IMAGE_NAME"; echo "Pushed to $DOCKER_CODEGEN_CLI_IMAGE_NAME";
fi; fi;
fi; fi;
## NOTE; we will do the followign manually instead as the page doesn't need to be updated in every single travis build # publish latest website, variables below are secure environment variables which are unavailable to PRs from forks.
## publish latest website, variables below are secure environment variables which are unavailable to PRs from forks. #- if [ "$TRAVIS_BRANCH" = "master" ] && [ -z $TRAVIS_TAG ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then
# - if [ "$TRAVIS_BRANCH" = "master" ] && [ -z $TRAVIS_TAG ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then # cd website;
# sed -i "s/Vector{UInt8}/Vector\&#123;UInt8\&#125;/g" docs/generators/julia-client.md; # git config --global user.name "${GH_NAME}";
# sed -i "s/Vector{UInt8}/Vector\&#123;UInt8\&#125;/g" docs/generators/julia-server.md; # git config --global user.email "${GH_EMAIL}";
# cd website; # echo "machine github.com login ${GH_NAME} password ${GH_TOKEN}" > ~/.netrc;
# git config --global user.name "${GH_NAME}"; # yarn install;
# git config --global user.email "${GH_EMAIL}"; # GIT_USER="${GH_NAME}" yarn run publish-gh-pages;
# echo "machine github.com login ${GH_NAME} password ${GH_TOKEN}" > ~/.netrc; # fi;
# yarn install;
# GIT_USER="${GH_NAME}" yarn run publish-gh-pages;
# fi;
#
env: env:
- DOCKER_GENERATOR_IMAGE_NAME=openapitools/openapi-generator-online DOCKER_CODEGEN_CLI_IMAGE_NAME=openapitools/openapi-generator-cli NODE_ENV=test CC=gcc-5 CXX=g++-5 - DOCKER_GENERATOR_IMAGE_NAME=openapitools/openapi-generator-online DOCKER_CODEGEN_CLI_IMAGE_NAME=openapitools/openapi-generator-cli NODE_ENV=test CC=gcc-5 CXX=g++-5

98
CI/.drone.yml Normal file
View File

@ -0,0 +1,98 @@
kind: pipeline
type: docker
name: java11-test
steps:
# test Java 11 HTTP client
- name: java11-test
image: openjdk:11.0
commands:
- ./mvnw --quiet clean install -Dorg.slf4j.simpleLogger.defaultLogLevel=error
- ./mvnw --quiet verify -Psamples.droneio -Dorg.slf4j.simpleLogger.defaultLogLevel=error
# test java native client
- ./mvnw clean test -f samples/client/petstore/java/native/pom.xml
- ./mvnw clean test -f samples/client/petstore/java/native-async/pom.xml
- ./mvnw clean test -f samples/openapi3/client/petstore/java/native/pom.xml
# test all generators with fake petstore spec (2.0, 3.0)
- /bin/bash bin/utils/test-fake-petstore-for-all.sh
# generate test scripts
- /bin/bash bin/tests/run-all-test
---
kind: pipeline
type: docker
name: nim-client-test
steps:
# test nim client
- name: nim-client-test
image: nimlang/nim
commands:
- (cd samples/client/petstore/nim/ && nim c sample_client.nim)
---
kind: pipeline
type: docker
name: protobuf-schema-test
steps:
# test protobuf schema generator
- name: protobuf-schema-test
image: nanoservice/protobuf-go
commands:
- protoc --version
- mkdir /var/tmp/go/
- cd samples/config/petstore/protobuf-schema
- protoc --go_out=/var/tmp/go/ services/*
- protoc --go_out=/var/tmp/go/ models/*
---
kind: pipeline
type: docker
name: aspnetcore-test
steps:
# test aspnetcore 3.x
- name: aspnetcore-test
image: mcr.microsoft.com/dotnet/core/sdk:3.1
commands:
- (cd samples/server/petstore/aspnetcore-3.1/ && /bin/sh build.sh)
- (cd samples/server/petstore/aspnetcore-3.0/ && /bin/sh build.sh)
---
kind: pipeline
type: docker
name: ocaml-test
steps:
# test ocaml petstore client
- name: ocaml-test
image: ocaml/opam2:4.07
commands:
- sudo apt-get -y install m4
- cd samples/client/petstore/ocaml
- opam install ppx_deriving_yojson cohttp ppx_deriving cohttp-lwt-unix
- opam pin add ocaml-migrate-parsetree 1.3.1
- eval $(opam env)
- sudo chmod -R 777 .
- dune build --build-dir=./_build
---
kind: pipeline
type: docker
name: haskell-client-test
steps:
# test haskell client
- name: haskell-client-test
image: haskell:8.10.4
commands:
- (cd samples/client/petstore/haskell-http-client/ && stack --allow-different-user --install-ghc --no-haddock-deps haddock --fast && stack --allow-different-user test --fast)
---
kind: pipeline
type: docker
name: erlang
steps:
# test erlang client and server
- name: erlang
image: erlang:alpine
commands:
- (cd samples/client/petstore/erlang-client && rebar3 compile)
- (cd samples/client/petstore/erlang-proper && rebar3 compile)
# comment out as the tests pass locally but not in the CI
#- (cd samples/server/petstore/erlang-server && rebar3 compile)

37
CI/.travis.yml.ios Normal file
View File

@ -0,0 +1,37 @@
sudo: required
language: objective-c
osx_image: xcode10.3
before_install:
- export SW=`pwd`
- rvm list
#- rvm use 2.3.3
- gem environment
- gem install bundler -N
- gem install cocoapods -v 1.2.1 -N
- gem install xcpretty -N
- pod --version
# comment out below to avoid errors
#- pod repo update
#- pod setup --silent > /dev/null
#- mkdir -p ~/.local/bin
#- export PATH=$HOME/.local/bin:$PATH
## start local petstore server
#- git clone -b docker --single-branch https://github.com/wing328/swagger-samples
#- cd swagger-samples/java/java-jersey-jaxrs
#- sudo mvn jetty:run &
#- cd $SW
# show host table to confirm petstore.swagger.io is mapped to localhost
- cat /etc/hosts
# show java version
- java -version
# show brew version
- brew --version
# show xcpretty version
- xcpretty -v
# show go version
- go version
script:
# run integration tests defined in maven pom.xml
- mvn --no-snapshot-updates -q --batch-mode verify -Psamples.ios -Dmaven.javadoc.skip=true

29
CI/.travis.yml.jdk6 Normal file
View File

@ -0,0 +1,29 @@
dist: trusty
sudo: required
language: java
addons:
apt:
packages:
- openjdk-6-jdk
jdk: openjdk6
cache:
directories:
- $HOME/.m2
- $HOME/.ivy2
- $HOME/.gradle/caches/
- $HOME/.gradle/wrapper/
install:
- jdk_switcher use openjdk6
- java -version
- curl -s "https://get.sdkman.io" | bash
- source "$HOME/.sdkman/bin/sdkman-init.sh"
- sdk version
- sdk install gradle 2.9
- sdk list gradle
- sdk version
- gradle --version
script:
- cd samples/client/petstore/java/jersey2-java6 && gradle test

View File

@ -9,27 +9,20 @@ set -e
export NODE_ENV=test export NODE_ENV=test
function cleanup {
# Show logs of 'petstore.swagger' container to troubleshoot Unit Test failures, if any.
if [ "$NODE_INDEX" != "4" ]; then
docker logs petstore.swagger # container name specified in circle.yml
fi
}
trap cleanup EXIT
if [ "$NODE_INDEX" = "1" ]; then if [ "$NODE_INDEX" = "1" ]; then
echo "Running node $NODE_INDEX ..." echo "Running node $NODE_INDEX to test 'samples.circleci' defined in pom.xml ..."
java -version java -version
sudo apt-get -y install cpanminus ./mvnw --no-snapshot-updates --quiet verify -Psamples.circleci -Dorg.slf4j.simpleLogger.defaultLogLevel=error
# install rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source "$HOME/.cargo/env"
echo "Testing perl"
(cd samples/client/petstore/perl && /bin/bash ./test.bash)
echo "Testing ruby"
(cd samples/client/petstore/ruby && mvn integration-test)
(cd samples/client/petstore/ruby-faraday && mvn integration-test)
(cd samples/client/petstore/ruby-httpx && mvn integration-test)
(cd samples/client/petstore/ruby-autoload && mvn integration-test)
echo "Testing rust"
(cd samples/server/petstore/rust-axum && mvn integration-test)
elif [ "$NODE_INDEX" = "2" ]; then elif [ "$NODE_INDEX" = "2" ]; then
echo "Running node $NODE_INDEX to test Go" echo "Running node $NODE_INDEX to test Go"
@ -49,23 +42,20 @@ elif [ "$NODE_INDEX" = "2" ]; then
export PATH="/usr/local/go1.18/go/bin:$PATH" export PATH="/usr/local/go1.18/go/bin:$PATH"
go version go version
# install cpprestsdk # run integration tests
sudo apt-get install libcpprest-dev ./mvnw --no-snapshot-updates --quiet verify -Psamples.misc -Dorg.slf4j.simpleLogger.defaultLogLevel=error
wget "https://github.com/aminya/setup-cpp/releases/download/v0.37.0/setup-cpp-x64-linux"
chmod +x ./setup-cpp-x64-linux
sudo ./setup-cpp-x64-linux --compiler llvm --cmake true --ninja true
source ~/.cpprc # activate cpp environment variables
# run go integration tests
(cd samples/client/petstore/go && mvn integration-test)
(cd samples/openapi3/client/petstore/go && mvn integration-test)
(cd samples/openapi3/client/petstore/go-petstore-generateMarshalJSON-false && mvn integration-test)
(cd samples/client/others/go/allof_multiple_ref_and_discriminator && mvn integration-test)
(cd samples/client/petstore/cpp-restsdk/client && mvn integration-test)
elif [ "$NODE_INDEX" = "3" ]; then elif [ "$NODE_INDEX" = "3" ]; then
echo "Running node $NODE_INDEX ... " echo "Running node $NODE_INDEX to test 'samples.circleci.node3' defined in pom.xml ..."
#wget https://www.python.org/ftp/python/3.8.9/Python-3.8.9.tgz
#tar -xf Python-3.8.9.tgz
#cd Python-3.8.9
#./configure --enable-optimizations
#sudo make altinstall
pyenv install --list
pyenv install 3.7.12
#pyenv install 2.7.14 #python2 no longer supported
pyenv global 3.7.12
# Install node@stable (for angular 6) # Install node@stable (for angular 6)
set +e set +e
@ -82,60 +72,23 @@ elif [ "$NODE_INDEX" = "3" ]; then
echo 'export NVM_DIR="/opt/circleci/.nvm"' >> $BASH_ENV echo 'export NVM_DIR="/opt/circleci/.nvm"' >> $BASH_ENV
echo "[ -s \"$NVM_DIR/nvm.sh\" ] && . \"$NVM_DIR/nvm.sh\"" >> $BASH_ENV echo "[ -s \"$NVM_DIR/nvm.sh\" ] && . \"$NVM_DIR/nvm.sh\"" >> $BASH_ENV
(cd samples/client/others/typescript-angular && mvn integration-test) ./mvnw --no-snapshot-updates --quiet verify -Psamples.circleci.node3 -Dorg.slf4j.simpleLogger.defaultLogLevel=error
(cd samples/client/petstore/typescript-angular-v12-provided-in-root && mvn integration-test)
(cd samples/client/petstore/typescript-angular-v13-provided-in-root && mvn integration-test) elif [ "$NODE_INDEX" = "4" ]; then
(cd samples/client/petstore/typescript-angular-v14-provided-in-root && mvn integration-test) echo "Running node $NODE_INDEX to test 'samples.circleci.node4' defined in pom.xml ..."
(cd samples/client/petstore/typescript-angular-v15-provided-in-root && mvn integration-test)
(cd samples/client/petstore/typescript-angular-v16-provided-in-root && mvn integration-test) #mvn --no-snapshot-updates --quiet verify -Psamples.circleci.node4 -Dorg.slf4j.simpleLogger.defaultLogLevel=error
(cd samples/client/petstore/typescript-angular-v17-provided-in-root && mvn integration-test) #(cd samples/openapi3/client/petstore/python && make test)
(cd samples/client/petstore/typescript-angular-v18-provided-in-root && mvn integration-test) # comment out due to ModuleNotFoundError: No module named 'urllib3.request'
(cd samples/client/petstore/typescript-angular-v19-provided-in-root && mvn integration-test) #(cd samples/openapi3/client/petstore/python-prior && make test)
(cd samples/openapi3/client/petstore/typescript/builds/default && mvn integration-test) #(cd samples/openapi3/client/3_0_3_unit_test/python && make test)
(cd samples/openapi3/client/petstore/typescript/tests/default && mvn integration-test)
(cd samples/openapi3/client/petstore/typescript/builds/jquery && mvn integration-test)
(cd samples/openapi3/client/petstore/typescript/tests/jquery && mvn integration-test)
(cd samples/openapi3/client/petstore/typescript/builds/object_params && mvn integration-test)
(cd samples/openapi3/client/petstore/typescript/tests/object_params && mvn integration-test)
(cd samples/openapi3/client/petstore/typescript/builds/inversify && mvn integration-test)
(cd samples/openapi3/client/petstore/typescript/tests/inversify && mvn integration-test)
#(cd samples/openapi3/client/petstore/typescript/tests/deno && mvn integration-test)
(cd samples/openapi3/client/petstore/typescript/builds/browser && mvn integration-test)
(cd samples/openapi3/client/petstore/typescript/tests/browser && mvn integration-test)
(cd samples/openapi3/client/petstore/typescript/builds/nullable-enum && mvn integration-test)
(cd samples/client/petstore/typescript-fetch/builds/default && mvn integration-test)
(cd samples/client/petstore/typescript-fetch/builds/es6-target && mvn integration-test)
(cd samples/client/petstore/typescript-fetch/builds/with-npm-version && mvn integration-test)
(cd samples/client/petstore/typescript-fetch/tests/default && mvn integration-test)
(cd samples/client/petstore/typescript-node/npm && mvn integration-test)
(cd samples/client/petstore/typescript-rxjs/builds/with-npm-version && mvn integration-test)
(cd samples/client/petstore/typescript-axios/builds/with-npm-version && mvn integration-test)
(cd samples/client/petstore/typescript-axios/tests/default && mvn integration-test)
(cd samples/client/petstore/typescript-axios/tests/with-complex-headers && mvn integration-test)
(cd samples/client/petstore/javascript-flowtyped && mvn integration-test)
(cd samples/client/petstore/javascript-es6 && mvn integration-test)
(cd samples/client/petstore/javascript-promise-es6 && mvn integration-test)
else else
echo "Running node $NODE_INDEX ..." echo "Running node $NODE_INDEX to test 'samples.circleci.others' defined in pom.xml ..."
java -version java -version
(cd samples/client/petstore/scala-akka && mvn integration-test) ./mvnw --no-snapshot-updates --quiet verify -Psamples.circleci.others -Dorg.slf4j.simpleLogger.defaultLogLevel=error
(cd samples/client/petstore/scala-sttp && mvn integration-test) ./mvnw --no-snapshot-updates --quiet javadoc:javadoc -Psamples.circleci -Dorg.slf4j.simpleLogger.defaultLogLevel=error
(cd samples/client/petstore/scala-sttp-circe && mvn integration-test)
(cd samples/client/petstore/scala-sttp4 && mvn integration-test)
(cd samples/client/petstore/clojure && mvn integration-test)
(cd samples/client/petstore/java/jersey2-java8 && mvn integration-test)
(cd samples/openapi3/client/petstore/java/jersey2-java8 && mvn integration-test)
(cd samples/client/petstore/java/jersey3 && mvn integration-test)
(cd samples/client/petstore/java/jersey3-oneOf && mvn integration-test)
(cd samples/client/others/java/okhttp-gson-streaming && mvn integration-test)
(cd samples/client/petstore/java/okhttp-gson && mvn integration-test)
(cd samples/client/petstore/java/okhttp-gson-3.1 && mvn integration-test)
(cd samples/client/petstore/java/okhttp-gson-dynamicOperations && mvn integration-test)
(cd samples/client/petstore/java/resteasy && mvn integration-test)
(cd samples/client/petstore/java-micronaut-client && mvn integration-test)
(cd samples/client/petstore/java/apache-httpclient && mvn integration-test)
(cd samples/client/petstore/java/resttemplate-jakarta && mvn integration-test)
fi fi

Some files were not shown because too many files have changed in this diff Show More