feat(ci): Adds some CI
This commit is contained in:
parent
86df61986e
commit
dbe6120da6
5 changed files with 149 additions and 0 deletions
18
.gitea/workflows/on_pr.yml
Normal file
18
.gitea/workflows/on_pr.yml
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
name: build
|
||||||
|
on:
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
- uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
go-version: 1.22
|
||||||
|
cache: true
|
||||||
|
- run: go mod tidy
|
||||||
|
- run: go test -v ./...
|
||||||
|
- run: go build
|
28
.gitea/workflows/on_tag.yml
Normal file
28
.gitea/workflows/on_tag.yml
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
name: Build and release
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- 'v*'
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
- uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
go-version: 1.22
|
||||||
|
cache: true
|
||||||
|
- run: go mod tidy
|
||||||
|
- run: go test -v ./...
|
||||||
|
- run: git reset --hard
|
||||||
|
- uses: goreleaser/goreleaser-action@v2
|
||||||
|
if: success() && startsWith(github.ref, 'refs/tags/')
|
||||||
|
with:
|
||||||
|
version: latest
|
||||||
|
args: release --rm-dist
|
||||||
|
env:
|
||||||
|
GORELEASER_FORCE_TOKEN: gitea
|
||||||
|
GITEA_TOKEN: ${{ secrets.TOKEN }}
|
20
.gitea/workflows/push_master.yml
Normal file
20
.gitea/workflows/push_master.yml
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
name: build
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
with:
|
||||||
|
fetch-depth: 0
|
||||||
|
- uses: actions/setup-go@v5
|
||||||
|
with:
|
||||||
|
go-version: 1.22
|
||||||
|
cache: true
|
||||||
|
- run: go mod tidy
|
||||||
|
- run: go test -v ./...
|
||||||
|
- run: go build
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,3 +1,4 @@
|
||||||
mailout.yml
|
mailout.yml
|
||||||
mailout-prod.yml
|
mailout-prod.yml
|
||||||
mailout
|
mailout
|
||||||
|
dist
|
||||||
|
|
82
.goreleaser.yml
Normal file
82
.goreleaser.yml
Normal file
|
@ -0,0 +1,82 @@
|
||||||
|
project_name: mailoutctl
|
||||||
|
builds:
|
||||||
|
- id: default
|
||||||
|
env: [CGO_ENABLED=0]
|
||||||
|
goos:
|
||||||
|
- linux
|
||||||
|
- darwin
|
||||||
|
goarch:
|
||||||
|
- amd64
|
||||||
|
- arm64
|
||||||
|
- arm
|
||||||
|
- "386"
|
||||||
|
flags:
|
||||||
|
- -trimpath
|
||||||
|
ldflags:
|
||||||
|
- |
|
||||||
|
-s -w
|
||||||
|
-X git.maurice.fr/thomas/mailout/pkg/version.Version={{ .Version }}
|
||||||
|
-X git.maurice.fr/thomas/mailout/pkg/version.Commit={{ .Commit }}
|
||||||
|
-X git.maurice.fr/thomas/mailout/pkg/version.BuildTime={{ .Date }}
|
||||||
|
ignore:
|
||||||
|
- goarch: "386"
|
||||||
|
archives:
|
||||||
|
- format: tar.gz
|
||||||
|
name_template: >-
|
||||||
|
{{ .ProjectName }}_
|
||||||
|
{{- .Os }}_
|
||||||
|
{{- if eq .Arch "amd64" }}x86_64
|
||||||
|
{{- else if eq .Arch "386" }}i386
|
||||||
|
{{- else }}{{ .Arch }}{{ end }}
|
||||||
|
{{- if .Arm }}v{{ .Arm }}{{ end }}
|
||||||
|
format_overrides:
|
||||||
|
- goos: windows
|
||||||
|
format: zip
|
||||||
|
wrap_in_directory: false
|
||||||
|
strip_parent_binary_folder: true
|
||||||
|
files:
|
||||||
|
- LICENSE
|
||||||
|
- README.md
|
||||||
|
checksum:
|
||||||
|
name_template: 'checksums.txt'
|
||||||
|
snapshot:
|
||||||
|
name_template: "{{ incpatch .Version }}-next"
|
||||||
|
changelog:
|
||||||
|
sort: asc
|
||||||
|
filters:
|
||||||
|
exclude:
|
||||||
|
- "^test:"
|
||||||
|
- "merge conflict"
|
||||||
|
- Merge pull request
|
||||||
|
- Merge remote-tracking branch
|
||||||
|
- Merge branch
|
||||||
|
groups:
|
||||||
|
- title: "New Features"
|
||||||
|
regexp: '^.*?feat(\([[:word:]]+\))??!?:.+$'
|
||||||
|
order: 100
|
||||||
|
- title: "Bug fixes"
|
||||||
|
regexp: '^.*?fix(\([[:word:]]+\))??!?:.+$'
|
||||||
|
order: 200
|
||||||
|
- title: "Improvements"
|
||||||
|
regexp: '^.*?imp(\([[:word:]]+\))??!?:.+$'
|
||||||
|
order: 300
|
||||||
|
- title: "Documentation updates"
|
||||||
|
regexp: ^.*?doc(\([[:word:]]+\))??!?:.+$
|
||||||
|
order: 400
|
||||||
|
- title: Other miscellaneous work
|
||||||
|
order: 500
|
||||||
|
# nfpms:
|
||||||
|
# - maintainer: Carlos A Becker <root@carlosbecker.dev>
|
||||||
|
# description: Sample project.
|
||||||
|
# homepage: https://github.com/caarlos0/tasktimer
|
||||||
|
# license: MIT
|
||||||
|
# formats:
|
||||||
|
# - deb
|
||||||
|
# - rpm
|
||||||
|
# - apk
|
||||||
|
release:
|
||||||
|
prerelease: auto
|
||||||
|
gitea_urls:
|
||||||
|
api: https://git.maurice.fr/api/v1
|
||||||
|
download: https://git.maurice.fr
|
||||||
|
skip_tls_verify: false
|
Loading…
Add table
Reference in a new issue