Compare commits

..

4 Commits

Author SHA1 Message Date
41e32e36b3 fix for empty default response
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2022-03-03 19:11:57 +03:00
e6b8324395 Merge pull request #36 from unistack-org/master
merge master
2022-02-28 15:54:01 +03:00
ed7ae1c518 Merge pull request #33 from unistack-org/master
merge master
2022-02-18 00:59:16 +03:00
e52e4b2e19 Merge pull request #30 from unistack-org/master
merge master
2022-02-02 02:38:03 +03:00
10 changed files with 121 additions and 123 deletions

View File

@@ -1,20 +0,0 @@
name: "autoapprove"
on:
pull_request_target:
types: [assigned, opened, synchronize, reopened]
permissions:
pull-requests: write
contents: write
jobs:
autoapprove:
runs-on: ubuntu-latest
steps:
- name: approve
uses: hmarr/auto-approve-action@v2
if: github.actor == 'vtolstov' || github.actor == 'dependabot[bot]'
id: approve
with:
github-token: ${{ secrets.GITHUB_TOKEN }}

View File

@@ -1,21 +0,0 @@
name: "automerge"
on:
pull_request_target:
types: [assigned, opened, synchronize, reopened]
permissions:
pull-requests: write
contents: write
jobs:
automerge:
runs-on: ubuntu-latest
if: github.actor == 'vtolstov'
steps:
- name: merge
id: merge
run: gh pr merge --auto --merge "$PR_URL"
env:
PR_URL: ${{github.event.pull_request.html_url}}
GITHUB_TOKEN: ${{secrets.TOKEN}}

View File

@@ -3,7 +3,6 @@ on:
push: push:
branches: branches:
- master - master
- v3
jobs: jobs:
test: test:
name: test name: test
@@ -14,7 +13,7 @@ jobs:
with: with:
go-version: 1.16 go-version: 1.16
- name: checkout - name: checkout
uses: actions/checkout@v3 uses: actions/checkout@v2
- name: cache - name: cache
uses: actions/cache@v2 uses: actions/cache@v2
with: with:
@@ -32,9 +31,9 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: checkout - name: checkout
uses: actions/checkout@v3 uses: actions/checkout@v2
- name: lint - name: lint
uses: golangci/golangci-lint-action@v3.1.0 uses: golangci/golangci-lint-action@v3
continue-on-error: true continue-on-error: true
with: with:
# Required: the version of golangci-lint is required and must be specified without patch version: we always use the latest patch version. # Required: the version of golangci-lint is required and must be specified without patch version: we always use the latest patch version.

View File

@@ -9,7 +9,7 @@
# the `language` matrix defined below to confirm you have the correct set of # the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages. # supported CodeQL languages.
# #
name: "codeql" name: "CodeQL"
on: on:
workflow_run: workflow_run:
@@ -17,16 +17,16 @@ on:
types: types:
- completed - completed
push: push:
branches: [ master, v3 ] branches: [ master ]
pull_request: pull_request:
# The branches below must be a subset of the branches above # The branches below must be a subset of the branches above
branches: [ master, v3 ] branches: [ master ]
schedule: schedule:
- cron: '34 1 * * 0' - cron: '34 1 * * 0'
jobs: jobs:
analyze: analyze:
name: analyze name: Analyze
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: permissions:
actions: read actions: read
@@ -42,14 +42,11 @@ jobs:
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
steps: steps:
- name: checkout - name: Checkout repository
uses: actions/checkout@v3 uses: actions/checkout@v2
- name: setup
uses: actions/setup-go@v2
with:
go-version: 1.16
# Initializes the CodeQL tools for scanning. # Initializes the CodeQL tools for scanning.
- name: init - name: Initialize CodeQL
uses: github/codeql-action/init@v1 uses: github/codeql-action/init@v1
with: with:
languages: ${{ matrix.language }} languages: ${{ matrix.language }}
@@ -60,7 +57,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below) # If this step fails, then you should remove it and run the build manually (see below)
- name: autobuild - name: Autobuild
uses: github/codeql-action/autobuild@v1 uses: github/codeql-action/autobuild@v1
# Command-line programs to run using the OS shell. # Command-line programs to run using the OS shell.
@@ -74,5 +71,5 @@ jobs:
# make bootstrap # make bootstrap
# make release # make release
- name: analyze - name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1 uses: github/codeql-action/analyze@v1

View File

@@ -1,27 +1,66 @@
name: "dependabot-automerge" name: "prautomerge"
on: on:
pull_request_target: workflow_run:
types: [assigned, opened, synchronize, reopened] workflows: ["prbuild"]
types:
- completed
permissions: permissions:
pull-requests: write
contents: write contents: write
pull-requests: write
jobs: jobs:
automerge: Dependabot-Automerge:
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: github.actor == 'dependabot[bot]' # Contains workaround to execute if dependabot updates the PR by checking for the base branch in the linked PR
# The the github.event.workflow_run.event value is 'push' and not 'pull_request'
# dont work with multiple workflows when last returns success
if: >-
github.event.workflow_run.conclusion == 'success'
&& github.actor == 'dependabot[bot]'
&& github.event.sender.login == 'dependabot[bot]'
&& github.event.sender.type == 'Bot'
&& (github.event.workflow_run.event == 'pull_request'
|| (github.event.workflow_run.event == 'push' && github.event.workflow_run.pull_requests[0].base.ref == github.event.repository.default_branch ))
steps: steps:
- name: metadata - name: Approve Changes and Merge changes if label 'dependencies' is set
id: metadata uses: actions/github-script@v6
uses: dependabot/fetch-metadata@v1.3.0
with: with:
github-token: "${{ secrets.TOKEN }}" github-token: ${{ secrets.GITHUB_TOKEN }}
- name: merge script: |
id: merge console.log(context.payload.workflow_run);
if: ${{contains(steps.metadata.outputs.dependency-names, 'go.unistack.org')}}
run: gh pr merge --auto --merge "$PR_URL" var labelNames = await github.paginate(
env: github.issues.listLabelsOnIssue,
PR_URL: ${{github.event.pull_request.html_url}} {
GITHUB_TOKEN: ${{secrets.TOKEN}} repo: context.repo.repo,
owner: context.repo.owner,
issue_number: context.payload.workflow_run.pull_requests[0].number,
},
(response) => response.data.map(
(label) => label.name
)
);
console.log(labelNames);
if (labelNames.includes('dependencies')) {
console.log('Found label');
await github.pulls.createReview({
repo: context.repo.repo,
owner: context.repo.owner,
pull_number: context.payload.workflow_run.pull_requests[0].number,
event: 'APPROVE'
});
console.log('Approved PR');
await github.pulls.merge({
repo: context.repo.repo,
owner: context.repo.owner,
pull_number: context.payload.workflow_run.pull_requests[0].number,
});
console.log('Merged PR');
}

View File

@@ -3,7 +3,6 @@ on:
pull_request: pull_request:
branches: branches:
- master - master
- v3
jobs: jobs:
test: test:
name: test name: test
@@ -14,7 +13,7 @@ jobs:
with: with:
go-version: 1.16 go-version: 1.16
- name: checkout - name: checkout
uses: actions/checkout@v3 uses: actions/checkout@v2
- name: cache - name: cache
uses: actions/cache@v2 uses: actions/cache@v2
with: with:
@@ -32,9 +31,9 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: checkout - name: checkout
uses: actions/checkout@v3 uses: actions/checkout@v2
- name: lint - name: lint
uses: golangci/golangci-lint-action@v3.1.0 uses: golangci/golangci-lint-action@v3
continue-on-error: true continue-on-error: true
with: with:
# Required: the version of golangci-lint is required and must be specified without patch version: we always use the latest patch version. # Required: the version of golangci-lint is required and must be specified without patch version: we always use the latest patch version.

2
go.mod
View File

@@ -4,7 +4,7 @@ go 1.16
require ( require (
github.com/fatih/structtag v1.2.0 github.com/fatih/structtag v1.2.0
go.unistack.org/micro-proto/v3 v3.2.7 go.unistack.org/micro-proto/v3 v3.2.5
golang.org/x/tools v0.1.9 golang.org/x/tools v0.1.9
google.golang.org/protobuf v1.27.1 google.golang.org/protobuf v1.27.1
) )

4
go.sum
View File

@@ -68,8 +68,8 @@ github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:
github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y=
github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
go.unistack.org/micro-proto/v3 v3.2.7 h1:zG6d69kHc+oij2lwQ3AfrCgdjiEVRG2A7TlsxjusWs4= go.unistack.org/micro-proto/v3 v3.2.5 h1:qaMr9oaO8J2X9nvcZfQ+JriuEFfoMzRvFfQdKoVlWgU=
go.unistack.org/micro-proto/v3 v3.2.7/go.mod h1:ZltVWNECD5yK+40+OCONzGw4OtmSdTpVi8/KFgo9dqM= go.unistack.org/micro-proto/v3 v3.2.5/go.mod h1:ZltVWNECD5yK+40+OCONzGw4OtmSdTpVi8/KFgo9dqM=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=

View File

@@ -653,49 +653,54 @@ func (g *openapiv3Generator) buildOperationV3(
opt := eopt.(*v3.Operation) opt := eopt.(*v3.Operation)
if r := opt.Responses; r != nil { if r := opt.Responses; r != nil {
responses = r responses = r
}
if ref := responses.Default.GetReference(); ref != nil && ref.GetXRef() != "" { rd := responses.Default
xref := strings.TrimPrefix(ref.GetXRef(), ".") if rd != nil {
description := "Default" if ref := rd.GetReference(); ref != nil && ref.GetXRef() != "" {
if strings.Contains(xref, "micro.errors.Error") { xref := strings.TrimPrefix(ref.GetXRef(), ".")
description += " Error" description := "Default"
} if strings.Contains(xref, "micro.errors.Error") {
desc, err := protofiles.FindDescriptorByName(protoreflect.FullName(xref)) description += " Error"
if err != nil { }
log.Printf("unknown ref type %s err %v", xref, err) desc, err := protofiles.FindDescriptorByName(protoreflect.FullName(xref))
} else { if err != nil {
responses.Default.Oneof = &v3.ResponseOrReference_Response{ log.Printf("unknown ref type %s err %v", xref, err)
Response: &v3.Response{ } else {
Description: description, responses.Default.Oneof = &v3.ResponseOrReference_Response{
Content: g.responseContentForMessage(&protogen.Message{ Response: &v3.Response{
Desc: desc.(protoreflect.MessageDescriptor), Description: description,
}), Content: g.responseContentForMessage(&protogen.Message{
}, Desc: desc.(protoreflect.MessageDescriptor),
} }),
} },
} }
for _, rref := range responses.GetResponseOrReference() {
if ref := rref.Value.GetReference(); ref != nil && ref.GetXRef() != "" {
xref := strings.TrimPrefix(ref.GetXRef(), ".")
description := "Default"
if strings.Contains(xref, "micro.errors.Error") {
description += " Error"
}
desc, err := protofiles.FindDescriptorByName(protoreflect.FullName(xref))
if err != nil {
log.Printf("unknown ref type %s err %v", xref, err)
} else {
responses.Default.Oneof = &v3.ResponseOrReference_Response{
Response: &v3.Response{
Description: description,
Content: g.responseContentForMessage(&protogen.Message{
Desc: desc.(protoreflect.MessageDescriptor),
}),
},
} }
} }
} }
for _, rref := range responses.GetResponseOrReference() {
if ref := rref.Value.GetReference(); ref != nil && ref.GetXRef() != "" {
xref := strings.TrimPrefix(ref.GetXRef(), ".")
description := "Default"
if strings.Contains(xref, "micro.errors.Error") {
description += " Error"
}
desc, err := protofiles.FindDescriptorByName(protoreflect.FullName(xref))
if err != nil {
log.Printf("unknown ref type %s err %v", xref, err)
} else {
responses.Default.Oneof = &v3.ResponseOrReference_Response{
Response: &v3.Response{
Description: description,
Content: g.responseContentForMessage(&protogen.Message{
Desc: desc.(protoreflect.MessageDescriptor),
}),
},
}
}
}
}
} else {
responses = &v3.Responses{}
} }
} else { } else {
responses = &v3.Responses{} responses = &v3.Responses{}

View File

@@ -16,8 +16,8 @@ var (
microServerPackage = protogen.GoImportPath("go.unistack.org/micro/v3/server") microServerPackage = protogen.GoImportPath("go.unistack.org/micro/v3/server")
microClientHttpPackage = protogen.GoImportPath("go.unistack.org/micro-client-http/v3") microClientHttpPackage = protogen.GoImportPath("go.unistack.org/micro-client-http/v3")
microServerHttpPackage = protogen.GoImportPath("go.unistack.org/micro-server-http/v3") microServerHttpPackage = protogen.GoImportPath("go.unistack.org/micro-server-http/v3")
microCodecPackage = protogen.GoImportPath("go.unistack.org/micro-proto/v3/codec") microCodecPackage = protogen.GoImportPath("go.unistack.org/micro/v3/codec")
microErrorsPackage = protogen.GoImportPath("go.unistack.org/micro-proto/v3/errors") microErrorsPackage = protogen.GoImportPath("go.unistack.org/micro/v3/errors")
timePackage = protogen.GoImportPath("time") timePackage = protogen.GoImportPath("time")
deprecationComment = "// Deprecated: Do not use." deprecationComment = "// Deprecated: Do not use."
versionComment = "v3.5.3" versionComment = "v3.5.3"