diff --git a/.github/workflows/code_quality.yml b/.github/workflows/code-standards.yml similarity index 100% rename from .github/workflows/code_quality.yml rename to .github/workflows/code-standards.yml diff --git a/.github/workflows/generate-postman-collection.yml b/.github/workflows/generate-postman-collection.yml new file mode 100644 index 00000000..9f0c23f7 --- /dev/null +++ b/.github/workflows/generate-postman-collection.yml @@ -0,0 +1,32 @@ +name: generate-postman-collection + +on: + push: + paths: + - "src/openklant/api/v*/openapi.yaml" + - ".github/workflows/generate-postman-collection.yml" + branches: + - '**' + workflow_dispatch: + +jobs: + run: + runs-on: ubuntu-latest + strategy: + matrix: + version: [ 'v1' ] + + name: Run with version v${{ matrix.version }} + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js + uses: actions/setup-node@v1 + with: + node-version: '12' + - name: Install dependencies + run: npm install -g openapi-to-postmanv2 + - name: Create tests folder + run: mkdir -p ./tests/postman + - name: Generate Postman collection + run: openapi2postmanv2 -s ./src/openklant/api/${{ matrix.version }}/openapi.yaml -o ./tests/postman/collection.json --pretty diff --git a/.github/workflows/generate-sdks.yml b/.github/workflows/generate-sdks.yml new file mode 100644 index 00000000..c227654b --- /dev/null +++ b/.github/workflows/generate-sdks.yml @@ -0,0 +1,45 @@ +name: generate-sdks + +on: + push: + paths: + - "src/openklant/api/v*/openapi.yaml" + - ".github/workflows/generate-sdks.yml" + branches: + - '**' + workflow_dispatch: + +jobs: + run: + runs-on: ubuntu-latest + strategy: + matrix: + version: [ 'v1' ] + + name: Run with version v${{ matrix.version }} + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js + uses: actions/setup-node@v1 + with: + node-version: '12' + - name: Install dependencies + run: npm install -g @openapitools/openapi-generator-cli + - name: Determing oas path + id: vars + run: echo ::set-output name=oas::./src/openklant/api/${{ matrix.version }}/openapi.yaml + - name: Validate schema + run: openapi-generator-cli validate -i ${{ steps.vars.outputs.oas }} + - name: Generate Java client + run: openapi-generator-cli generate -i ${{ steps.vars.outputs.oas }} --global-property=modelTests=false,apiTests=false,modelDocs=false,apiDocs=false \ + -o ./sdks/java -g java --additional-properties=dateLibrary=java8,java8=true,optionalProjectFile=false,optionalAssemblyInfo=false +# - name: Generate .NET Core client +# run: openapi-generator-cli generate -i ${{ steps.vars.outputs.oas }} --global-property=modelTests=false,apiTests=false,modelDocs=false,apiDocs=false \ +# -o ./sdks/netcore -g csharp-netcore --additional-properties=optionalProjectFile=false,optionalAssemblyInfo=false +# - name: Generate .NET Full Framework client +# run: openapi-generator-cli generate -i ${{ steps.vars.outputs.oas }} --global-property=modelTests=false,apiTests=false,modelDocs=false,apiDocs=false \ +# -o ./sdks/net -g csharp --additional-properties=optionalProjectFile=false,optionalAssemblyInfo=false + - name: Generate Python client + run: openapi-generator-cli generate -i ${{ steps.vars.outputs.oas }} --global-property=modelTests=false,apiTests=false,modelDocs=false,apiDocs=false \ + -o ./sdks/python -g python --additional-properties=optionalProjectFile=false,optionalAssemblyInfo=false+ diff --git a/.github/workflows/lint-oas.yml b/.github/workflows/lint-oas.yml new file mode 100644 index 00000000..fb748c87 --- /dev/null +++ b/.github/workflows/lint-oas.yml @@ -0,0 +1,30 @@ +name: lint-oas + +on: + push: + paths: + - "src/openklant/api/v*/openapi.yaml" + - ".github/workflows/lint-oas.yml" + branches: + - '**' + workflow_dispatch: + +jobs: + run: + runs-on: ubuntu-latest + strategy: + matrix: + version: [ 'v1' ] + + name: Run with version v${{ matrix.version }} + + steps: + - uses: actions/checkout@v2 + - name: Use Node.js + uses: actions/setup-node@v1 + with: + node-version: '12' + - name: Install spectral + run: npm install -g @stoplight/spectral@5 + - name: Run OAS linter + run: spectral lint ./src/openklant/api/${{ matrix.version }}/openapi.yaml