From e10334eccb2f1afa1b5b65caf443483ff25e90c4 Mon Sep 17 00:00:00 2001 From: "Xinwei Xiong(cubxxw)" <3293172751nss@gmail.com> Date: Fri, 19 May 2023 15:15:26 +0800 Subject: [PATCH] feat: Provide trademark design Signed-off-by: Xinwei Xiong(cubxxw) <3293172751nss@gmail.com> --- .github/CONTRIBUTING.md | 2 + .github/FUNDING.yml | 4 + .github/ISSUE_TEMPLATE/RFC.md | 133 ++++++++++++++++++++ .github/ISSUE_TEMPLATE/bug-report.yaml | 81 ++++++++++++ .github/ISSUE_TEMPLATE/config.yml | 5 + .github/ISSUE_TEMPLATE/failing-test.yaml | 42 +++++++ .github/ISSUE_TEMPLATE/feature-request.yaml | 60 +++++++++ .github/OWNERS | 4 + .github/PULL_REQUEST_TEMPLATE.md | 72 +++++++++++ .github/workflows/auto-invite.yml | 50 ++++++++ .github/workflows/codeql-analysis.yml | 76 +++++++++++ .github/workflows/gpt-translate.yml | 27 ++++ .github/workflows/issue-robot.yml | 22 ++++ .github/workflows/link-pr.yml | 49 ++++++++ .github/workflows/test.yml | 25 ++++ README.md | 16 ++- 16 files changed, 663 insertions(+), 5 deletions(-) create mode 100644 .github/CONTRIBUTING.md create mode 100644 .github/FUNDING.yml create mode 100644 .github/ISSUE_TEMPLATE/RFC.md create mode 100644 .github/ISSUE_TEMPLATE/bug-report.yaml create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/failing-test.yaml create mode 100644 .github/ISSUE_TEMPLATE/feature-request.yaml create mode 100644 .github/OWNERS create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 .github/workflows/auto-invite.yml create mode 100644 .github/workflows/codeql-analysis.yml create mode 100644 .github/workflows/gpt-translate.yml create mode 100644 .github/workflows/issue-robot.yml create mode 100644 .github/workflows/link-pr.yml create mode 100644 .github/workflows/test.yml diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100644 index 0000000..95365e3 --- /dev/null +++ b/.github/CONTRIBUTING.md @@ -0,0 +1,2 @@ + +Read the [contributor guide](../CONTRIBUTING.md) for more details. diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..ecf69ed --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,4 @@ +github: [cubxxw] +liberapay: "xiongxinwei/donate" +paypal: ["paypal.me/cubxxw", paypal.me] +custom: ["https://www.paypal.me/cubxxw", nsddd.top] \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/RFC.md b/.github/ISSUE_TEMPLATE/RFC.md new file mode 100644 index 0000000..de9e51b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/RFC.md @@ -0,0 +1,133 @@ +--- +name: RFC +about: The OpenIM RFC design template, which you should use if you have a detailed and precise feature design in mind. +title: "🔮[RFC #0000]: " +labels: "proposal,RFC,kind/feature,enhancement" + +--- + +# [RFC #0000] OpenIMSDK proposal template + +## Meta +[meta]: #meta +- Name: (fill in the feature name: My Feature) +- Start Date: (fill in today's date: YYYY-MM-DD) +- Author(s): (Github usernames) +- Status: Draft +- RFC Pull Request: (leave blank) +- OpenIMSDK Pull Request: (leave blank) +- OpenIMSDK Issue: (leave blank) +- Supersedes: (put "N/A" unless this replaces an existing RFC, then link to that RFC) + + +## 📇Topics +- [\[RFC #0000\] OpenIMSDK proposal template](#rfc-0000-openimsdk-proposal-template) + - [Meta](#meta) + - [📇Topics](#topics) + - [Summary](#summary) + - [Definitions](#definitions) + - [Motivation](#motivation) + - [What it is](#what-it-is) + - [How it Works](#how-it-works) + - [Migration](#migration) + - [Drawbacks](#drawbacks) + - [Alternatives](#alternatives) + - [Prior Art](#prior-art) + - [Unresolved Questions](#unresolved-questions) + - [Spec. Changes (OPTIONAL)](#spec-changes-optional) + - [History](#history) + + +## Summary +[summary]: #summary + +One paragraph explanation of the feature. + +## Definitions +[definitions]: #definitions + +Make a list of the definitions that may be useful for those reviewing. Include phrases and words that OpenIMSDK authors or other interested parties may not be familiar with. + +## Motivation +[motivation]: #motivation + +- Why should we do this? +- What use cases does it support? +- What is the expected outcome? + +## What it is +[what-it-is]: #what-it-is + +This provides a high level overview of the feature. + +- Define any new terminology. +- Define the target persona: OpenIMSDK author, OpenIMSDK user, platform operator, platform implementor, and/or project contributor. +- Explaining the feature largely in terms of examples. +- If applicable, provide sample error messages, deprecation warnings, or migration guidance. +- If applicable, describe the differences between teaching this to existing users and new users. + +## How it Works +[how-it-works]: #how-it-works + +This is the technical portion of the RFC, where you explain the design in sufficient detail. + +The section should return to the examples given in the previous section, and explain more fully how the detailed proposal makes those examples work. + +## Migration +[migration]: #migration + +This section should document breaks to public API and breaks in compatibility due to this RFC's proposed changes. In addition, it should document the proposed steps that one would need to take to work through these changes. Care should be give to include all applicable personas, such as platform developers, OpenIMSDK developers, OpenIMSDK users and consumers of OpenIMSDK images. + +## Drawbacks +[drawbacks]: #drawbacks + +Why should we *not* do this? + +## Alternatives +[alternatives]: #alternatives + +- What other designs have been considered? +- Why is this proposal the best? +- What is the impact of not doing this? + +## Prior Art +[prior-art]: #prior-art + +Discuss prior art, both the good and bad. + +## Unresolved Questions +[unresolved-questions]: #unresolved-questions + +- What parts of the design do you expect to be resolved before this gets merged? +- What parts of the design do you expect to be resolved through implementation of the feature? +- What related issues do you consider out of scope for this RFC that could be addressed in the future independently of the solution that comes out of this RFC? + +## Spec. Changes (OPTIONAL) +[spec-changes]: #spec-changes +Does this RFC entail any proposed changes to the core specifications or extensions? If so, please document changes here. +Examples of a spec. change might be new lifecycle flags, new `OpenIMSDK.toml` fields, new fields in the OpenIMSDKage label, etc. +This section is not intended to be binding, but as discussion of an RFC unfolds, if spec changes are necessary, they should be documented here. + +## History +[history]: #history + + \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/bug-report.yaml b/.github/ISSUE_TEMPLATE/bug-report.yaml new file mode 100644 index 0000000..2bf45ea --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug-report.yaml @@ -0,0 +1,81 @@ +name: Bug Report +description: Report a bug encountered while operating OpenIM +title: "Bug: " +labels: ["kind/bug"] +body: + - type: textarea + id: problem + attributes: + label: What happened? + description: | + Please provide as much info as possible. Not doing so may result in your bug not being addressed in a timely manner. + validations: + required: true + + - type: textarea + id: expected + attributes: + label: What did you expect to happen? + validations: + required: true + + - type: textarea + id: repro + attributes: + label: How can we reproduce it (as minimally and precisely as possible)? + validations: + required: true + + - type: textarea + id: additional + attributes: + label: Anything else we need to know? + + - type: textarea + id: Version + attributes: + label: version + value: | +
+ ```console + $ {name} version + # paste output here + ``` +
+ validations: + required: true + + - type: textarea + id: cloudProvider + attributes: + label: Cloud provider + value: | +
+
+ validations: + required: true + + - type: textarea + id: osVersion + attributes: + label: OS version + value: | +
+ ```console + # On Linux: + $ cat /etc/os-release + # paste output here + $ uname -a + # paste output here + # On Windows: + C:\> wmic os get Caption, Version, BuildNumber, OSArchitecture + # paste output here + ``` +
+ - type: textarea + id: installer + attributes: + label: Install tools + value: | +
+
\ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..e251e43 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,5 @@ +contact_links: + - name: Connect on slack + url: https://join.slack.com/t/c-ub/shared_invite/zt-1se0k2bae-lkYzz0_T~BYh3rjkvlcUqQ + about: Support OpenIM-related requests or issues, get in touch with developers and help on slack + contact_links: \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/failing-test.yaml b/.github/ISSUE_TEMPLATE/failing-test.yaml new file mode 100644 index 0000000..babc75b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/failing-test.yaml @@ -0,0 +1,42 @@ +name: Failing Test +description: Report continuously failing tests or jobs in OpenIM CI +title: "🤖Failing test: " +labels: kind/failing-test +body: + - type: textarea + id: jobs + attributes: + label: Which job are failing? + placeholder: | + Please only use this template for submitting reports about continuously failing tests or jobs in OpenIM CI. + validations: + required: true + + - type: textarea + id: tests + attributes: + label: Which test are failing? + validations: + required: true + + - type: textarea + id: since + attributes: + label: Since when has it been failing? + validations: + required: true + + - type: input + id: testgrid + attributes: + label: Testgrid link + + - type: textarea + id: reason + attributes: + label: Reason for failure (if possible) + + - type: textarea + id: additional + attributes: + label: Anything else we need to know? \ No newline at end of file diff --git a/.github/ISSUE_TEMPLATE/feature-request.yaml b/.github/ISSUE_TEMPLATE/feature-request.yaml new file mode 100644 index 0000000..a66af7f --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature-request.yaml @@ -0,0 +1,60 @@ +name: Feature Request +description: Suggest and idea for this project +title: "[Feature]: " +labels: ["type:feature"] +assignees: + - kubecub/maintainers +body: + - type: markdown + attributes: + value: | + Thank you for initiating this feature request !🤗 + - type: checkboxes + id: checklist + attributes: + label: Checklist + description: "Please check the following before submitting this feature request" + options: + - label: I've searched for similar issues and couldn't find anything matching + required: true + - label: I've discussed this feature request in the [kubecub Slack](https://join.slack.com/t/c-ub/shared_invite/zt-1se0k2bae-lkYzz0_T~BYh3rjkvlcUqQ) and got positive feedback + required: true + + - type: dropdown + id: problem + attributes: + label: Is this feature request related to a problem? + options: + - "Yes" + - "No" + - type: textarea + id: problem_description + attributes: + label: Problem Description + description: If yes, please provide a clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + validations: + required: false + - type: textarea + id: solution_description + attributes: + label: Solution Description + description: A clear and concise description of what you want to happen + validations: + required: true + - type: textarea + id: benefits_description + attributes: + label: Benefits + description: Describe the benefits this feature will bring to the project and its users + validations: + required: true + - type: textarea + id: drawbacks + attributes: + label: Potential Drawbacks + description: Describe any potential drawbacks this feature might bring to the project and its users. + - type: textarea + id: additional_information + attributes: + label: Additional Information + description: Add any other context about your feature request here. If applicable, add drawings to help explain. \ No newline at end of file diff --git a/.github/OWNERS b/.github/OWNERS new file mode 100644 index 0000000..a9521f7 --- /dev/null +++ b/.github/OWNERS @@ -0,0 +1,4 @@ +reviewers: + - cubxxw +approvers: + - cubxxw \ No newline at end of file diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..31b8994 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,72 @@ +
+ + +#### 🔍 What type of PR is this? + + + +#### 👀 What this PR does / why we need it: + +- [ ] My pull request adheres to the code style of this project +- [ ] My code requires changes to the documentation +- [ ] I have updated the documentation as required +- [ ] All the tests have passed + + + + +#### 🅰 Which issue(s) this PR fixes: + + +Fixes # + + +#### 📝 Special notes for your reviewer: + + + + +#### 🎯 Describe how to verify it + + + +#### 📑 Additional documentation e.g., RFC, notion, Google docs, usage docs, etc.: + \ No newline at end of file diff --git a/.github/workflows/auto-invite.yml b/.github/workflows/auto-invite.yml new file mode 100644 index 0000000..f4a83a0 --- /dev/null +++ b/.github/workflows/auto-invite.yml @@ -0,0 +1,50 @@ +# Copyright © 2023 KubeCub & Xinwei Xiong(cubxxw). All rights reserved. +# +# Licensed under the MIT License (the "License"); +# you may not use this file except in compliance with the License. + +name: Invite users to join our group +on: + issue_comment: + types: + - created +jobs: + issue_comment: + name: Invite users to join our group + if: ${{ github.event.comment.body == '/invite' || github.event.comment.body == '/close' || github.event.comment.body == '/comment' }} + runs-on: ubuntu-latest + permissions: + issues: write + steps: + + - name: Invite user to join our group + uses: peter-evans/create-or-update-comment@v1 + with: + issue-number: ${{ github.event.issue.number }} + token: "${{ secrets.BOT_GITHUB_TOKEN }}" + body: | + We value close connections with our users, developers, and contributors here at kubecub. With a large community and maintainer team, we're always here to help and support you. Whether you're looking to join our community or have any questions or suggestions, we welcome you to get in touch with us. + + Our most recommended way to get in touch is through [Slack](https://join.slack.com/t/c-ub/shared_invite/zt-1se0k2bae-lkYzz0_T~BYh3rjkvlcUqQ). Even if you're in China, Slack is usually not blocked by firewalls, making it an easy way to connect with us. Our Slack community is the ideal place to discuss and share ideas and suggestions with other users and developers of kubecub. You can ask technical questions, seek help, or share your experiences with other users of kubecub. + + In addition to Slack, we also offer the following ways to get in touch: + + + We also have Slack channels for you to communicate and discuss. To join, visit https://slack.com/ and join our [👀 kubecub slack](https://join.slack.com/t/kubecub/shared_invite/zt-1se0k2bae-lkYzz0_T~BYh3rjkvlcUqQ) team channel. + + Get in touch with us on [📨Gmail: 3293172751nss@gmail.com](mailto:3293172751nss@gmail.com). If you have any questions or issues that need resolving, or any suggestions and feedback for our open source projects, please feel free to contact us via email. + + Read our [🤖kubecub](nsddd.top). Our kubecub is a great place to stay up-to-date with kubecub projects and trends. On the kubecub, we share our latest developments, tech trends, and other interesting information. + + Add [🕊️Twitter](https://twitter.com/xxw3293172751) . If you prefer social media, our Twitter account is a great way to stay up-to-date with kubecub project news and trends. On Twitter, we share our latest tech and trends, as well as relevant news and events. + + Add [📲Wechat](https://img.shields.io/badge/%E5%BE%AE%E4%BF%A1-smile-brightgreen?kubecubo=wechat&style=flat-square) and indicate that you are a user or developer of kubecub. We will process your request as soon as possible. + + Whether you're looking to join our community or have any questions or suggestions, we welcome you to get in touch with us. + + - name: Close Issue + uses: peter-evans/close-issue@v3 + with: + issue-number: ${{ github.event.issue.number }} + comment: 🤖 Auto-closing issue, if you still need help please reopen the issue or ask for help in the community above + labels: | + triage/accepted + token: "${{ secrets.BOT_GITHUB_TOKEN }}" + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + \ No newline at end of file diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml new file mode 100644 index 0000000..de86c18 --- /dev/null +++ b/.github/workflows/codeql-analysis.yml @@ -0,0 +1,76 @@ +# Copyright © 2023 KubeCub & Xinwei Xiong(cubxxw). All rights reserved. +# +# Licensed under the MIT License (the "License"); +# you may not use this file except in compliance with the License. + +# For most projects, this workflow file will not need changing; you simply need +# to commit it to your repository. +# +# You may wish to alter this file to override the set of languages analyzed, +# or to provide custom queries or build logic. +# +# ******** NOTE ******** +# We have attempted to detect the languages in your repository. Please check +# the `language` matrix defined below to confirm you have the correct set of +# supported CodeQL languages. +# +name: "CodeQL" + +on: + push: + branches: [ main ] + pull_request: + # The branches below must be a subset of the branches above + branches: "*" +# schedule: +# - cron: '23 2 * * 2' + +jobs: + analyze: + name: Analyze + runs-on: ubuntu-latest + permissions: + actions: read + contents: read + security-events: write + + strategy: + fail-fast: false + matrix: + language: [ 'go' ] + # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ] + # Learn more: + # 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: + - name: Checkout repository + uses: actions/checkout@v2 + + # Initializes the CodeQL tools for scanning. + - name: Initialize CodeQL + uses: github/codeql-action/init@v1 + with: + languages: ${{ matrix.language }} + # If you wish to specify custom queries, you can do so here or in a config file. + # By default, queries listed here will override any specified in a config file. + # Prefix the list here with "+" to use these queries and those in the config file. + # queries: ./path/to/local/query, your-org/your-repo/queries@main + + # 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) + - name: Autobuild + uses: github/codeql-action/autobuild@v1 + + # ℹ️ Command-line programs to run using the OS shell. + # 📚 https://git.io/JvXDl + + # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines + # and modify them (or add more) to build your code if your project + # uses a compiled language + + #- run: | + # make bootstrap + # make release + + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@v1 diff --git a/.github/workflows/gpt-translate.yml b/.github/workflows/gpt-translate.yml new file mode 100644 index 0000000..9e53d87 --- /dev/null +++ b/.github/workflows/gpt-translate.yml @@ -0,0 +1,27 @@ +# Copyright © 2023 KubeCub & Xinwei Xiong(cubxxw). All rights reserved. +# +# Licensed under the MIT License (the "License"); +# you may not use this file except in compliance with the License. + +# .github/workflows/gpt-translate.yml +name: GPT Translate + +on: + issue_comment: + types: [ created ] + +jobs: + gpt_translate: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: Run GPT Translate + if: | + contains(github.event.comment.body, '/gpt-translate') || + contains(github.event.comment.body, '/gt') + uses: 3ru/gpt-translate@v1.0 + with: + apikey: ${{ secrets.OPENAI_API_KEY }} + token: "${{ secrets.BOT_GITHUB_TOKEN }}" \ No newline at end of file diff --git a/.github/workflows/issue-robot.yml b/.github/workflows/issue-robot.yml new file mode 100644 index 0000000..eadd6ef --- /dev/null +++ b/.github/workflows/issue-robot.yml @@ -0,0 +1,22 @@ +# Copyright © 2023 KubeCub & Xinwei Xiong(cubxxw). All rights reserved. +# +# Licensed under the MIT License (the "License"); +# you may not use this file except in compliance with the License. + +name: 'issue translator' +on: + issue_comment: + types: [created] + issues: + types: [opened] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: usthe/issues-translate-action@v2.7 + with: + # it is not necessary to decide whether you need to modify the issue header content + IS_MODIFY_TITLE: true + BOT_GITHUB_TOKEN: ${{ secrets.BOT_GITHUB_TOKEN }} + # Required, input your bot github token \ No newline at end of file diff --git a/.github/workflows/link-pr.yml b/.github/workflows/link-pr.yml new file mode 100644 index 0000000..ace8809 --- /dev/null +++ b/.github/workflows/link-pr.yml @@ -0,0 +1,49 @@ +# Copyright © 2023 KubeCub & Xinwei Xiong(cubxxw). All rights reserved. +# +# Licensed under the MIT License (the "License"); +# you may not use this file except in compliance with the License. + +name: Github Rebot for Link check error + +on: + pull_request: + branches: [ main ] + paths: + - '**.md' + - 'docs/**' + - '.lycheeignore' + push: + branches: [ main ] + +jobs: + linkChecker: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Link Checker + id: lychee + uses: lycheeverse/lychee-action@v1.7.0 + with: + # For parameter description, see https://github.com/lycheeverse/lychee#commandline-parameters + # Actions Link address -> https://github.com/lycheeverse/lychee-action + # -E, --exclude-all-private Exclude all private IPs from checking. + # -i, --insecure Proceed for server connections considered insecure (invalid TLS) + # -n, --no-progress Do not show progress bar. + # -t, --timeout Website timeout in seconds from connect to response finished [default:20] + # --max-concurrency Maximum number of concurrent network requests [default: 128] + # -a --accept Comma-separated list of accepted status codes for valid links + # docs/.vitepress/dist the site directory to check + # ./*.md all markdown files in the root directory + args: --verbose -E -i --no-progress --exclude-path './CHANGELOG' './**/*.md' + env: + GITHUB_TOKEN: ${{secrets.GH_PAT}} + + - name: Create Issue From File + if: env.lychee_exit_code != 0 + uses: peter-evans/create-issue-from-file@v4 + with: + title: Bug reports for links in kubecub docs + content-filepath: ./lychee/out.md + labels: kind/documentation, triage/unresolved, report + token: ${{ secrets.BOT_GITHUB_TOKEN }} diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..bdec46c --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,25 @@ +# Copyright © 2023 KubeCub & Xinwei Xiong(cubxxw). All rights reserved. +# +# Licensed under the MIT License (the "License"); +# you may not use this file except in compliance with the License. + +name: Test Makefile build + +on: [push] + +jobs: + test: + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Install dependencies + run: sudo apt-get update && sudo apt-get install -y make + + - name: Build project + run: make build + + - name: Test build artifacts + run: | + # Add your tests here to check the build artifacts \ No newline at end of file diff --git a/README.md b/README.md index ca8853c..aafbfab 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,13 @@

+ banner
go-project-layout
- ⭐️ Template for a typical module written on Go. ⭐️

+

+ ⭐️ Template for a typical module written on Go. ⭐️
+

+

A+ @@ -23,6 +27,8 @@

+---- + ## 🧩 Awesome features At Github, we want to start new projects faster using best practices with a predefined structure and focusing on core ideas implementation rather than wasting time on environment configuration and copying boilerplate code. @@ -31,6 +37,9 @@ I defined a spec template that I could use to quickly start building a full-fled In each directory, there is a README.md and an OWNERS, which explains what the directory does and who owns it. +**Labels denger:** +Read about the [go-project-layout](https://github.com/kubecub/go-project-layout/labels) tag design + ## 🛫 Quick start @@ -75,10 +84,7 @@ Comment in an issue: Work with Docker ```bash -$ make go-1.11 # or go-1.12, etc. -/src# make go-env 2>/dev/null | grep GOVERSION -# GOVERSION: 1.11.13 -/src# make test +$ make deploy ```