Skip to content

Commit daaa067

Browse files
committed
Initial project 🎉
0 parents  commit daaa067

File tree

13 files changed

+1031
-0
lines changed

13 files changed

+1031
-0
lines changed

.github/workflows/ci.yml

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
name: CI
2+
on:
3+
push:
4+
branches:
5+
- '**'
6+
pull_request:
7+
branches:
8+
- '**'
9+
jobs:
10+
lint:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v4
14+
- uses: actions/setup-go@v5
15+
with:
16+
go-version: '1.22'
17+
- uses: golangci/golangci-lint-action@v3
18+
build:
19+
runs-on: ${{ matrix.os }}
20+
needs: lint
21+
strategy:
22+
fail-fast: true
23+
matrix:
24+
os: [macos-latest, windows-latest, ubuntu-latest]
25+
steps:
26+
- uses: actions/checkout@v4
27+
- uses: actions/setup-go@v5
28+
with:
29+
go-version: '1.22'
30+
- run: go build ./cmd/provider-github/
31+
- run: go test -v ./...
32+
release:
33+
runs-on: ubuntu-latest
34+
needs: build
35+
steps:
36+
- uses: actions/checkout@v4
37+
- uses: actions/setup-go@v5
38+
with:
39+
go-version: '1.22'
40+
- uses: go-semantic-release/action@v1
41+
with:
42+
hooks: goreleaser
43+
env:
44+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
45+
# PLUGIN_REGISTRY_ADMIN_ACCESS_TOKEN: ${{ secrets.PLUGIN_REGISTRY_ADMIN_ACCESS_TOKEN }}

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
.idea/

.golangci.yaml

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
linters:
2+
enable:
3+
- errorlint
4+
- forbidigo
5+
- gochecknoinits
6+
- gocritic
7+
- goconst
8+
- gocyclo
9+
- gofumpt
10+
- goimports
11+
- misspell
12+
- revive
13+
- unconvert
14+
- unparam
15+
- wastedassign
16+
17+
linters-settings:
18+
gocyclo:
19+
min-complexity: 12
20+
gofumpt:
21+
extra-rules: true
22+
govet:
23+
enable-all: true
24+
disable:
25+
- fieldalignment

.goreleaser.yaml

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
builds:
2+
- env:
3+
- CGO_ENABLED=0
4+
targets:
5+
- linux_amd64
6+
- linux_arm64
7+
- darwin_amd64
8+
- darwin_arm64
9+
- linux_arm
10+
- windows_amd64
11+
main: ./cmd/provider-github
12+
ldflags:
13+
- -extldflags '-static'
14+
- -s -w -X github.com/cybercinch/go-semantic-relase-provider-gitea/pkg/provider.PVERSION={{.Version}}
15+
16+
archives:
17+
- format: binary
18+
name_template: '{{ .Binary }}_v{{ .Version }}_{{ .Os }}_{{ .Arch }}'
19+
20+
checksum:
21+
name_template: '{{ .ProjectName }}_v{{ .Version }}_checksums.txt'

.vscode/settings.json

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
{
2+
"terminal.integrated.copyOnSelection": true,
3+
"terminal.integrated.profiles.linux": {
4+
"bash": {
5+
"path": "bash",
6+
"icon": "terminal-bash"
7+
},
8+
"zsh": {
9+
"path": "zsh"
10+
},
11+
"fish": {
12+
"path": "fish"
13+
},
14+
"tmux": {
15+
"path": "tmux",
16+
"icon": "terminal-tmux"
17+
},
18+
"pwsh": {
19+
"path": "pwsh",
20+
"icon": "terminal-powershell"
21+
}
22+
}
23+
}

CODE_OF_CONDUCT.md

+76
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
In the interest of fostering an open and welcoming environment, we as
6+
contributors and maintainers pledge to making participation in our project and
7+
our community a harassment-free experience for everyone, regardless of age, body
8+
size, disability, ethnicity, sex characteristics, gender identity and expression,
9+
level of experience, education, socio-economic status, nationality, personal
10+
appearance, race, religion, or sexual identity and orientation.
11+
12+
## Our Standards
13+
14+
Examples of behavior that contributes to creating a positive environment
15+
include:
16+
17+
* Using welcoming and inclusive language
18+
* Being respectful of differing viewpoints and experiences
19+
* Gracefully accepting constructive criticism
20+
* Focusing on what is best for the community
21+
* Showing empathy towards other community members
22+
23+
Examples of unacceptable behavior by participants include:
24+
25+
* The use of sexualized language or imagery and unwelcome sexual attention or
26+
advances
27+
* Trolling, insulting/derogatory comments, and personal or political attacks
28+
* Public or private harassment
29+
* Publishing others' private information, such as a physical or electronic
30+
address, without explicit permission
31+
* Other conduct which could reasonably be considered inappropriate in a
32+
professional setting
33+
34+
## Our Responsibilities
35+
36+
Project maintainers are responsible for clarifying the standards of acceptable
37+
behavior and are expected to take appropriate and fair corrective action in
38+
response to any instances of unacceptable behavior.
39+
40+
Project maintainers have the right and responsibility to remove, edit, or
41+
reject comments, commits, code, wiki edits, issues, and other contributions
42+
that are not aligned to this Code of Conduct, or to ban temporarily or
43+
permanently any contributor for other behaviors that they deem inappropriate,
44+
threatening, offensive, or harmful.
45+
46+
## Scope
47+
48+
This Code of Conduct applies both within project spaces and in public spaces
49+
when an individual is representing the project or its community. Examples of
50+
representing a project or community include using an official project e-mail
51+
address, posting via an official social media account, or acting as an appointed
52+
representative at an online or offline event. Representation of a project may be
53+
further defined and clarified by project maintainers.
54+
55+
## Enforcement
56+
57+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
58+
reported by contacting the project team at [email protected]. All
59+
complaints will be reviewed and investigated and will result in a response that
60+
is deemed necessary and appropriate to the circumstances. The project team is
61+
obligated to maintain confidentiality with regard to the reporter of an incident.
62+
Further details of specific enforcement policies may be posted separately.
63+
64+
Project maintainers who do not follow or enforce the Code of Conduct in good
65+
faith may face temporary or permanent repercussions as determined by other
66+
members of the project's leadership.
67+
68+
## Attribution
69+
70+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71+
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
72+
73+
[homepage]: https://www.contributor-covenant.org
74+
75+
For answers to common questions about this code of conduct, see
76+
https://www.contributor-covenant.org/faq

LICENSE

+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
Copyright (c) 2020 Christoph Witzko
2+
3+
Permission is hereby granted, free of charge, to any person obtaining a copy
4+
of this software and associated documentation files (the "Software"), to deal
5+
in the Software without restriction, including without limitation the rights
6+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7+
copies of the Software, and to permit persons to whom the Software is
8+
furnished to do so, subject to the following conditions:
9+
10+
The above copyright notice and this permission notice shall be included in all
11+
copies or substantial portions of the Software.
12+
13+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19+
SOFTWARE.

README.md

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# :octocat: provider-gitea
2+
[![CI](https://github.com/cybercinch/go-semantic-release-provider-gitea/workflows/CI/badge.svg?branch=master)](https://github.com/cybercinch/go-semantic-release-provider-gitea/actions?query=workflow%3ACI+branch%3Amaster)
3+
4+
The Gitea provider for [go-semantic-release](https://github.com/go-semantic-release/semantic-release).
5+
6+
### Provider Option
7+
8+
The provider options can be configured via the `--provider-opt` CLI flag.
9+
10+
| Name | Description | Example |
11+
|---|---|---|
12+
| gitea_host | This configures the provider to use a Gitea host endpoint | `--provider-opt gitea_host=gitea.example.corp` |
13+
| slug | The owner and repository name | `--provider-opt slug=cybercinch/go-semantic-release-provider-gitea` |
14+
| token | Gitea Personal Access Token | `--provider-opt token=xxx` |
15+
16+
## Licence
17+
18+
The [MIT License (MIT)](http://opensource.org/licenses/MIT)
19+
20+
Copyright © 2024 [Aaron Guise](https://github.com/guisea)

cmd/provider-github/main.go

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package main
2+
3+
import (
4+
githubProvider "github.com/go-semantic-release/provider-github/pkg/provider"
5+
"github.com/go-semantic-release/semantic-release/v2/pkg/plugin"
6+
"github.com/go-semantic-release/semantic-release/v2/pkg/provider"
7+
)
8+
9+
func main() {
10+
plugin.Serve(&plugin.ServeOpts{
11+
Provider: func() provider.Provider {
12+
return &githubProvider.GitHubRepository{}
13+
},
14+
})
15+
}

go.mod

+81
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
module github.com/cybercinch/go-semantic-release-provider-gitea
2+
3+
go 1.22
4+
5+
require (
6+
github.com/Masterminds/semver/v3 v3.2.1
7+
github.com/go-semantic-release/semantic-release/v2 v2.30.0
8+
github.com/google/go-github/v49 v49.1.1-0.20230111123143-ced4abd274f3
9+
github.com/stretchr/testify v1.8.4
10+
golang.org/x/oauth2 v0.17.0
11+
)
12+
13+
require (
14+
dario.cat/mergo v1.0.0 // indirect
15+
github.com/Microsoft/go-winio v0.6.1 // indirect
16+
github.com/ProtonMail/go-crypto v1.0.0 // indirect
17+
github.com/cloudflare/circl v1.3.7 // indirect
18+
github.com/cyphar/filepath-securejoin v0.2.4 // indirect
19+
github.com/davidmz/go-pageant v1.0.2 // indirect
20+
github.com/emirpasic/gods v1.18.1 // indirect
21+
github.com/go-fed/httpsig v1.1.0 // indirect
22+
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
23+
github.com/go-git/go-billy/v5 v5.5.0 // indirect
24+
github.com/go-git/go-git/v5 v5.11.0 // indirect
25+
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
26+
github.com/hashicorp/go-version v1.6.0 // indirect
27+
github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect
28+
github.com/kevinburke/ssh_config v1.2.0 // indirect
29+
github.com/pjbgf/sha1cd v0.3.0 // indirect
30+
github.com/sergi/go-diff v1.3.1 // indirect
31+
github.com/skeema/knownhosts v1.2.1 // indirect
32+
github.com/xanzy/ssh-agent v0.3.3 // indirect
33+
golang.org/x/mod v0.15.0 // indirect
34+
golang.org/x/tools v0.18.0 // indirect
35+
gopkg.in/warnings.v0 v0.1.2 // indirect
36+
)
37+
38+
require (
39+
code.gitea.io/sdk/gitea v0.18.0
40+
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
41+
github.com/fatih/color v1.16.0 // indirect
42+
github.com/fsnotify/fsnotify v1.7.0 // indirect
43+
github.com/go-semantic-release/provider-git v1.11.0
44+
github.com/go-semantic-release/provider-github v1.17.0
45+
github.com/golang/protobuf v1.5.3 // indirect
46+
github.com/google/go-querystring v1.1.0 // indirect
47+
github.com/hashicorp/go-hclog v1.6.2 // indirect
48+
github.com/hashicorp/go-plugin v1.6.0 // indirect
49+
github.com/hashicorp/hcl v1.0.0 // indirect
50+
github.com/hashicorp/yamux v0.1.1 // indirect
51+
github.com/inconshreveable/mousetrap v1.1.0 // indirect
52+
github.com/magiconair/properties v1.8.7 // indirect
53+
github.com/mattn/go-colorable v0.1.13 // indirect
54+
github.com/mattn/go-isatty v0.0.20 // indirect
55+
github.com/mitchellh/go-testing-interface v1.14.1 // indirect
56+
github.com/mitchellh/mapstructure v1.5.0 // indirect
57+
github.com/oklog/run v1.1.0 // indirect
58+
github.com/pelletier/go-toml/v2 v2.1.1 // indirect
59+
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
60+
github.com/sagikazarmark/locafero v0.4.0 // indirect
61+
github.com/sagikazarmark/slog-shim v0.1.0 // indirect
62+
github.com/sourcegraph/conc v0.3.0 // indirect
63+
github.com/spf13/afero v1.11.0 // indirect
64+
github.com/spf13/cast v1.6.0 // indirect
65+
github.com/spf13/cobra v1.8.0 // indirect
66+
github.com/spf13/pflag v1.0.5 // indirect
67+
github.com/spf13/viper v1.18.2 // indirect
68+
github.com/subosito/gotenv v1.6.0 // indirect
69+
go.uber.org/multierr v1.11.0 // indirect
70+
golang.org/x/crypto v0.22.0 // indirect
71+
golang.org/x/exp v0.0.0-20240213143201-ec583247a57a // indirect
72+
golang.org/x/net v0.21.0 // indirect
73+
golang.org/x/sys v0.19.0 // indirect
74+
golang.org/x/text v0.14.0 // indirect
75+
google.golang.org/appengine v1.6.8 // indirect
76+
google.golang.org/genproto/googleapis/rpc v0.0.0-20240213162025-012b6fc9bca9 // indirect
77+
google.golang.org/grpc v1.61.1 // indirect
78+
google.golang.org/protobuf v1.32.0 // indirect
79+
gopkg.in/ini.v1 v1.67.0 // indirect
80+
gopkg.in/yaml.v3 v3.0.1 // indirect
81+
)

0 commit comments

Comments
 (0)