diff --git a/.github/.codecov.yml b/.github/.codecov.yml new file mode 100644 index 0000000..9c2f90a --- /dev/null +++ b/.github/.codecov.yml @@ -0,0 +1,18 @@ +# Copyright The Notary Project Authors. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +coverage: + status: + project: + default: + target: 70% diff --git a/.github/ISSUE_TEMPLATE/bug-or-issue.yaml b/.github/ISSUE_TEMPLATE/bug-or-issue.yaml new file mode 100644 index 0000000..6d85af0 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug-or-issue.yaml @@ -0,0 +1,60 @@ +# Copyright The Notary Project Authors. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +name: 🐛 Bug or Issue +description: Something is not working as expected or not working at all! Report it here! +labels: [bug, triage] +body: + - type: markdown + attributes: + value: | + Thank you for taking the time to fill out this issue report. 🛑 Please check existing issues first before continuing: https://github.com/notaryproject/notation-plugin-framework-go/issues + - type: textarea + id: verbatim + validations: + required: true + attributes: + label: "What is not working as expected?" + description: "In your own words, describe what the issue is." + - type: textarea + id: expect + validations: + required: true + attributes: + label: "What did you expect to happen?" + description: "A clear and concise description of what you expected to happen." + - type: textarea + id: reproduce + validations: + required: true + attributes: + label: "How can we reproduce it?" + description: "Detailed steps to reproduce the behavior. Commands and their outputs are always helpful, code snippets are welcome." + - type: textarea + id: environment + validations: + required: true + attributes: + label: Describe your environment + description: "OS and Golang version" + - type: textarea + id: version + validations: + required: true + attributes: + label: What is the version of your notation-plugin-framework-go Library? + description: "Check the `go.mod` file for the library version" + - type: markdown + attributes: + value: | + If you want to contribute to this project, we will be happy to guide you through the contribution process especially when you already have a good proposal or understanding of how to fix this issue. Join us at https://slack.cncf.io/ and choose #notary-project channel. diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..d8072b2 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,18 @@ +# Copyright The Notary Project Authors. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +blank_issues_enabled: false +contact_links: + - name: Ask a question + url: https://slack.cncf.io/ + about: "Join #notary-project channel on CNCF Slack" diff --git a/.github/ISSUE_TEMPLATE/feature-request.yaml b/.github/ISSUE_TEMPLATE/feature-request.yaml new file mode 100644 index 0000000..149598b --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature-request.yaml @@ -0,0 +1,53 @@ +# Copyright The Notary Project Authors. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +name: 🚀 Feature Request +description: Suggest an idea for this project. +labels: [enhancement, triage] +body: + - type: markdown + attributes: + value: | + Thank you for taking the time to suggest a useful feature for the project! + - type: textarea + id: problem + validations: + required: true + attributes: + label: "Is your feature request related to a problem?" + description: "A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]" + - type: textarea + id: solution + validations: + required: true + attributes: + label: "What solution do you propose?" + description: "A clear and concise description of what you want to happen." + - type: textarea + id: alternatives + validations: + required: true + attributes: + label: "What alternatives have you considered?" + description: "A clear and concise description of any alternative solutions or features you've considered." + - type: textarea + id: context + validations: + required: false + attributes: + label: "Any additional context?" + description: "Add any other context or screenshots about the feature request here." + - type: markdown + attributes: + value: | + If you want to contribute to this project, we will be happy to guide you through the contribution process especially when you already have a good proposal or understanding of how to improve the functionality. Join us at https://slack.cncf.io/ and choose #notary-project channel. diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..9137e07 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,31 @@ +# Copyright The Notary Project Authors. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# To get started with Dependabot version updates, you'll need to specify which +# package ecosystems to update and where the package manifests are located. +# Please see the documentation for all configuration options: +# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + - package-ecosystem: "gomod" # See documentation for possible values + directory: "/" # Location of package manifests + schedule: + interval: "weekly" + + - package-ecosystem: "github-actions" + # Workflow files stored in the + # default location of `.github/workflows` + directory: "/" + schedule: + interval: "weekly" diff --git a/.github/licenserc.yml b/.github/licenserc.yml new file mode 100644 index 0000000..db6c15f --- /dev/null +++ b/.github/licenserc.yml @@ -0,0 +1,44 @@ +# Copyright The Notary Project Authors. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +header: + license: + spdx-id: Apache-2.0 + content: | + Copyright The Notary Project Authors. + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + paths-ignore: + - '**/*.md' + - 'CODEOWNERS' + - 'LICENSE' + - 'MAINTAINERS' + - 'go.mod' + - 'go.sum' + - '**/testdata/**' + + comment: on-failure + +dependency: + files: + - go.mod diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..f229927 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,24 @@ +# Copyright The Notary Project Authors. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +name: Build + +on: + push: + branches: main + pull_request: + branches: main + +jobs: + build: + uses: notaryproject/notation-core-go/.github/workflows/reusable-build.yml@main diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 0000000..a496125 --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,26 @@ +# Copyright The Notary Project Authors. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +name: "CodeQL" + +on: + push: + branches: main + pull_request: + branches: main + schedule: + - cron: '29 2 * * 5' + +jobs: + analyze: + uses: notaryproject/notation-core-go/.github/workflows/reusable-codeql.yml@main diff --git a/.github/workflows/license-checker.yml b/.github/workflows/license-checker.yml new file mode 100644 index 0000000..d00a7cd --- /dev/null +++ b/.github/workflows/license-checker.yml @@ -0,0 +1,28 @@ +# Copyright The Notary Project Authors. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +name: License Checker + +on: + push: + branches: main + pull_request: + branches: main + +permissions: + contents: write + pull-requests: write + +jobs: + check-license: + uses: notaryproject/notation-core-go/.github/workflows/reusable-license-checker.yml@main