mirror of
https://github.com/Fishwaldo/go-template.git
synced 2025-03-15 11:21:38 +00:00
Initial Github Structure
This commit is contained in:
parent
9d7d8591b8
commit
1a2d533263
15 changed files with 483 additions and 0 deletions
62
.github/CODE_OF_CONDUCT.md
vendored
Normal file
62
.github/CODE_OF_CONDUCT.md
vendored
Normal file
|
@ -0,0 +1,62 @@
|
|||
# Contributor Covenant Code of Conduct
|
||||
|
||||
## Our Pledge
|
||||
|
||||
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making
|
||||
participation in our project and our community a harassment-free experience for everyone, regardless of age, body size,
|
||||
disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education,
|
||||
socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
|
||||
|
||||
## Our Standards
|
||||
|
||||
Examples of behavior that contributes to creating a positive environment include:
|
||||
|
||||
* Using welcoming and inclusive language
|
||||
* Being respectful of differing viewpoints and experiences
|
||||
* Gracefully accepting constructive criticism
|
||||
* Focusing on what is best for the community
|
||||
* Showing empathy towards other community members
|
||||
|
||||
Examples of unacceptable behavior by participants include:
|
||||
|
||||
* The use of sexualized language or imagery and unwelcome sexual attention or advances
|
||||
* Trolling, insulting/derogatory comments, and personal or political attacks
|
||||
* Public or private harassment
|
||||
* Publishing others' private information, such as a physical or electronic address, without explicit permission
|
||||
* Other conduct which could reasonably be considered inappropriate in a professional setting
|
||||
|
||||
## Our Responsibilities
|
||||
|
||||
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take
|
||||
appropriate and fair corrective action in response to any instances of unacceptable behavior.
|
||||
|
||||
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits,
|
||||
issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any
|
||||
contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
|
||||
|
||||
## Scope
|
||||
|
||||
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the
|
||||
project or its community. Examples of representing a project or community include using an official project e-mail
|
||||
address, posting via an official social media account, or acting as an appointed representative at an online or offline
|
||||
event. Representation of a project may be further defined and clarified by project maintainers.
|
||||
|
||||
## Enforcement
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at
|
||||
sherifabdlnaby@gmail.com. All complaints will be reviewed and investigated and will result in a response that is deemed
|
||||
necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to
|
||||
the reporter of an incident. Further details of specific enforcement policies may be posted separately.
|
||||
|
||||
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent
|
||||
repercussions as determined by other members of the project's leadership.
|
||||
|
||||
## Attribution
|
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available
|
||||
at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
|
||||
|
||||
[homepage]: https://www.contributor-covenant.org
|
||||
|
||||
For answers to common questions about this code of conduct, see
|
||||
https://www.contributor-covenant.org/faq
|
62
.github/CONTRIBUTING.md
vendored
Normal file
62
.github/CONTRIBUTING.md
vendored
Normal file
|
@ -0,0 +1,62 @@
|
|||
# Contributor Covenant Code of Conduct
|
||||
|
||||
## Our Pledge
|
||||
|
||||
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to make
|
||||
participation in our project and our community a harassment-free experience for everyone, regardless of age, body size,
|
||||
disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education,
|
||||
socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
|
||||
|
||||
## Our Standards
|
||||
|
||||
Examples of behavior that contributes to creating a positive environment include:
|
||||
|
||||
* Using welcoming and inclusive language
|
||||
* Being respectful of differing viewpoints and experiences
|
||||
* Gracefully accepting constructive criticism
|
||||
* Focusing on what is best for the community
|
||||
* Showing empathy towards other community members
|
||||
|
||||
Examples of unacceptable behavior by participants include:
|
||||
|
||||
* The use of sexualized language or imagery and unwelcome sexual attention or advances
|
||||
* Trolling, insulting/derogatory comments, and personal or political attacks
|
||||
* Public or private harassment
|
||||
* Publishing others' private information, such as a physical or electronic address, without explicit permission
|
||||
* Other conduct which could reasonably be considered inappropriate in a professional setting
|
||||
|
||||
## Our Responsibilities
|
||||
|
||||
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take
|
||||
appropriate and fair corrective action in response to any instances of unacceptable behavior.
|
||||
|
||||
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits,
|
||||
issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any
|
||||
contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
|
||||
|
||||
## Scope
|
||||
|
||||
This Code of Conduct applies within all project spaces, and it also applies when an individual is representing the
|
||||
project or its community in public spaces. Examples of representing a project or community include using an official
|
||||
project e-mail address, posting via an official social media account, or acting as an appointed representative at an
|
||||
online or offline event. Representation of a project may be further defined and clarified by project maintainers.
|
||||
|
||||
## Enforcement
|
||||
|
||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team
|
||||
at [INSERT EMAIL ADDRESS]. All complaints will be reviewed and investigated and will result in a response that is deemed
|
||||
necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to
|
||||
the reporter of an incident. Further details of specific enforcement policies may be posted separately.
|
||||
|
||||
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent
|
||||
repercussions as determined by other members of the project's leadership.
|
||||
|
||||
## Attribution
|
||||
|
||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available
|
||||
at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
|
||||
|
||||
[homepage]: https://www.contributor-covenant.org
|
||||
|
||||
For answers to common questions about this code of conduct, see
|
||||
https://www.contributor-covenant.org/faq
|
38
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
38
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
|
@ -0,0 +1,38 @@
|
|||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Describe the bug**
|
||||
A clear and concise description of what the bug is.
|
||||
|
||||
**To Reproduce**
|
||||
Steps to reproduce the behavior:
|
||||
1. Go to '...'
|
||||
2. Click on '....'
|
||||
3. Scroll down to '....'
|
||||
4. See error
|
||||
|
||||
**Expected behavior**
|
||||
A clear and concise description of what you expected to happen.
|
||||
|
||||
**Screenshots**
|
||||
If applicable, add screenshots to help explain your problem.
|
||||
|
||||
**Desktop (please complete the following information):**
|
||||
- OS: [e.g. iOS]
|
||||
- Browser [e.g. chrome, safari]
|
||||
- Version [e.g. 22]
|
||||
|
||||
**Smartphone (please complete the following information):**
|
||||
- Device: [e.g. iPhone6]
|
||||
- OS: [e.g. iOS8.1]
|
||||
- Browser [e.g. stock browser, safari]
|
||||
- Version [e.g. 22]
|
||||
|
||||
**Additional context**
|
||||
Add any other context about the problem here.
|
10
.github/ISSUE_TEMPLATE/custom.md
vendored
Normal file
10
.github/ISSUE_TEMPLATE/custom.md
vendored
Normal file
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
name: Custom issue template
|
||||
about: Describe this issue template's purpose here.
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
|
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
|
@ -0,0 +1,20 @@
|
|||
---
|
||||
name: Feature request
|
||||
about: Suggest an idea for this project
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
**Is your feature request related to a problem? Please describe.**
|
||||
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||
|
||||
**Describe the solution you'd like**
|
||||
A clear and concise description of what you want to happen.
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
A clear and concise description of any alternative solutions or features you've considered.
|
||||
|
||||
**Additional context**
|
||||
Add any other context or screenshots about the feature request here.
|
8
.github/ISSUE_TEMPLATE/question.md
vendored
Normal file
8
.github/ISSUE_TEMPLATE/question.md
vendored
Normal file
|
@ -0,0 +1,8 @@
|
|||
---
|
||||
name: Question about: Ask a Question title: ''
|
||||
labels: 'question' assignees: ''
|
||||
|
||||
---
|
||||
|
||||
Ask a question...
|
||||
|
23
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
23
.github/PULL_REQUEST_TEMPLATE.md
vendored
Normal file
|
@ -0,0 +1,23 @@
|
|||
(Thanks for sending a pull request! Please make sure you click the link above to view the contribution guidelines, then
|
||||
fill out the blanks below.)
|
||||
|
||||
What does this implement/fix? Explain your changes.
|
||||
---------------------------------------------------
|
||||
…
|
||||
|
||||
Does this close any currently open issues?
|
||||
------------------------------------------
|
||||
…
|
||||
|
||||
|
||||
Any relevant logs, error output, etc?
|
||||
-------------------------------------
|
||||
(If it’s long, please paste to https://ghostbin.com/ and insert the link here.)
|
||||
|
||||
Any other comments?
|
||||
-------------------
|
||||
…
|
||||
|
||||
Where has this been tested?
|
||||
---------------------------
|
||||
…
|
20
.github/SECURITY.md
vendored
Normal file
20
.github/SECURITY.md
vendored
Normal file
|
@ -0,0 +1,20 @@
|
|||
# Security Policy
|
||||
|
||||
## Supported Versions
|
||||
|
||||
Use this section to tell people about which versions of your project are currently being supported with security
|
||||
updates.
|
||||
|
||||
| Version | Supported |
|
||||
| ------- | ------------------ |
|
||||
| 5.1.x | :white_check_mark: |
|
||||
| 5.0.x | :x: |
|
||||
| 4.0.x | :white_check_mark: |
|
||||
| < 4.0 | :x: |
|
||||
|
||||
## Reporting a Vulnerability
|
||||
|
||||
Use this section to tell people how to report a vulnerability.
|
||||
|
||||
Tell them where to go, how often they can expect to get an update on a reported vulnerability, what to expect if the
|
||||
vulnerability is accepted or declined, etc.
|
46
.github/labeler.yml
vendored
Normal file
46
.github/labeler.yml
vendored
Normal file
|
@ -0,0 +1,46 @@
|
|||
version: v1
|
||||
|
||||
labels:
|
||||
- label: "type: feature"
|
||||
sync: true
|
||||
matcher:
|
||||
title: "^feat: .*"
|
||||
commits: "^feat: .*"
|
||||
body: "(\\n|.)*- \\[x\\] feature(\\n|.)*"
|
||||
|
||||
- label: "type: bug"
|
||||
sync: true
|
||||
matcher:
|
||||
title: "^fix: .*"
|
||||
commits: "^fix: .*"
|
||||
body: "(\\n|.)*- \\[x\\] (fix|bug)(\\n|.)*"
|
||||
|
||||
- label: "type: chore"
|
||||
sync: true
|
||||
matcher:
|
||||
title: "^chore: .*"
|
||||
commits: "^chore: .*"
|
||||
body: "(\\n|.)*- \\[x\\] chore(\\n|.)*"
|
||||
files: [ ".github/*" ]
|
||||
|
||||
- label: "type: docs"
|
||||
sync: true
|
||||
matcher:
|
||||
title: "^docs: .*"
|
||||
commits: "^docs: .*"
|
||||
files: [ "*.md", "doc.go" ]
|
||||
|
||||
checks:
|
||||
- context: "Semantic Pull Request"
|
||||
url: "https://github.com/Fishwaldo/go-logadapter/blob/master/.github/labeler.yml"
|
||||
description:
|
||||
success: Ready for review & merge.
|
||||
failure: Missing semantic label for merge.
|
||||
labels:
|
||||
any:
|
||||
- 'type: feature'
|
||||
- 'type: bug'
|
||||
- 'type: chore'
|
||||
- 'type: docs'
|
||||
- 'type: maintenance'
|
||||
- 'type: dependencies'
|
39
.github/release-drafter.yml
vendored
Normal file
39
.github/release-drafter.yml
vendored
Normal file
|
@ -0,0 +1,39 @@
|
|||
name-template: 'v$RESOLVED_VERSION'
|
||||
tag-template: 'v$RESOLVED_VERSION'
|
||||
template: |
|
||||
# What's Changed
|
||||
|
||||
$CHANGES
|
||||
categories:
|
||||
- title: 'Breaking'
|
||||
label: 'type: breaking'
|
||||
- title: 'New'
|
||||
label: 'type: feature'
|
||||
- title: 'Bug Fixes'
|
||||
label: 'type: bug'
|
||||
- title: 'Maintenance'
|
||||
label: 'type: maintenance'
|
||||
- title: 'Maintenance'
|
||||
label: 'type: chore'
|
||||
- title: 'Documentation'
|
||||
label: 'type: docs'
|
||||
- title: 'Dependency Updates'
|
||||
label: 'type: dependencies'
|
||||
|
||||
version-resolver:
|
||||
major:
|
||||
labels:
|
||||
- 'type: breaking'
|
||||
minor:
|
||||
labels:
|
||||
- 'type: feature'
|
||||
patch:
|
||||
labels:
|
||||
- 'type: bug'
|
||||
- 'type: maintenance'
|
||||
- 'type: docs'
|
||||
- 'type: dependencies'
|
||||
- 'type: security'
|
||||
|
||||
exclude-labels:
|
||||
- 'skip-changelog'
|
106
.github/workflows/build.yml
vendored
Normal file
106
.github/workflows/build.yml
vendored
Normal file
|
@ -0,0 +1,106 @@
|
|||
on:
|
||||
push:
|
||||
branches: [master]
|
||||
pull_request:
|
||||
branches: [master]
|
||||
permissions:
|
||||
# Goreadme needs permissions to update pull requests comments and change contents.
|
||||
pull-requests: write
|
||||
contents: write
|
||||
name: Build
|
||||
jobs:
|
||||
test:
|
||||
strategy:
|
||||
matrix:
|
||||
go-version: [ 1.16.x, 1.15.x, 1.14.x, 1.13.x ]
|
||||
platform: [ ubuntu-latest, macos-latest, windows-latest ]
|
||||
runs-on: ${{ matrix.platform }}
|
||||
steps:
|
||||
- name: Install Go
|
||||
if: success()
|
||||
uses: actions/setup-go@v1
|
||||
with:
|
||||
go-version: ${{ matrix.go-version }}
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v1
|
||||
- name: Run tests
|
||||
run: go test -v -race ./...
|
||||
|
||||
analyze:
|
||||
name: Analyze
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
actions: read
|
||||
contents: read
|
||||
security-events: write
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
- name: Initialize CodeQL
|
||||
uses: github/codeql-action/init@v1
|
||||
with:
|
||||
languages: go
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@v1
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v1
|
||||
|
||||
codecov:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [ test, analyze ]
|
||||
steps:
|
||||
- name: Install Go
|
||||
if: success()
|
||||
uses: actions/setup-go@v1
|
||||
with:
|
||||
go-version: 1.16.x
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v1
|
||||
- name: Run tests
|
||||
run: go mod tidy && go test -v -race -covermode=atomic -coverprofile=coverage.out ./...
|
||||
- name: CodeCov
|
||||
uses: codecov/codecov-action@v2
|
||||
|
||||
lint:
|
||||
name: Lint project using GolangCI Lint
|
||||
runs-on: ubuntu-latest
|
||||
needs: [ test, analyze ]
|
||||
steps:
|
||||
- name: Check out code into the Go module directory
|
||||
uses: actions/checkout@v1
|
||||
- name: GolangCI-Lint Action
|
||||
uses: golangci/golangci-lint-action@v2.5.2
|
||||
with:
|
||||
version: latest
|
||||
only-new-issues: true
|
||||
args: --issues-exit-code=0
|
||||
|
||||
goreadme:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [codecov, lint]
|
||||
steps:
|
||||
- name: Check out repository
|
||||
uses: actions/checkout@v2
|
||||
- name: Update readme according to Go doc
|
||||
uses: posener/goreadme@v1
|
||||
with:
|
||||
badge-codecov: 'true'
|
||||
badge-godoc: 'true'
|
||||
email: 'justin@dynam.ac'
|
||||
title: 'Go-LogAdapter'
|
||||
# Optional: Token allows goreadme to comment the PR with diff preview.
|
||||
github-token: '${{ secrets.GITHUB_TOKEN }}'
|
||||
|
||||
release:
|
||||
#if: startsWith(github.ref, 'refs/tags/')
|
||||
if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/master' }}
|
||||
needs: [goreadme]
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out repository
|
||||
uses: actions/checkout@v2
|
||||
- uses: release-drafter/release-drafter@master
|
||||
with:
|
||||
prerelease: ${{ contains(github.ref, '-rc') || contains(github.ref, '-b') || contains(github.ref, '-a') }}
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
9
.github/workflows/labeler.yml
vendored
Normal file
9
.github/workflows/labeler.yml
vendored
Normal file
|
@ -0,0 +1,9 @@
|
|||
on:
|
||||
pull_request_target: # for OSS with public contributions
|
||||
pull_request:
|
||||
name: Labeler
|
||||
jobs:
|
||||
labeler:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: fuxingloh/multi-labeler@v1
|
6
codecov.yml
Normal file
6
codecov.yml
Normal file
|
@ -0,0 +1,6 @@
|
|||
coverage:
|
||||
status:
|
||||
project:
|
||||
default:
|
||||
target: auto
|
||||
threshold: 10%
|
3
go.mod
Normal file
3
go.mod
Normal file
|
@ -0,0 +1,3 @@
|
|||
module github.com/Fishwaldo/go-template
|
||||
|
||||
go 1.16
|
31
main.go
Normal file
31
main.go
Normal file
|
@ -0,0 +1,31 @@
|
|||
/*
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2021 Justin Hammond
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
|
||||
package main
|
||||
|
||||
import "fmt"
|
||||
|
||||
func main() {
|
||||
fmt.Println("hello world")
|
||||
}
|
Loading…
Add table
Reference in a new issue