Skip to content

Commit 8d4e75b

Browse files
committed
ci/cd
1 parent 57c8166 commit 8d4e75b

File tree

5 files changed

+143
-0
lines changed

5 files changed

+143
-0
lines changed

.github/CODEOWNERS

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# These owners will be the default owners for everything in the repo.
2+
# Unless a later match takes precedence, @MrZoidberg will be requested for
3+
# review when someone opens a pull request.
4+
5+
* @MrZoidberg

.github/dependabot.yml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# To get started with Dependabot version updates, you'll need to specify which
2+
# package ecosystems to update and where the package manifests are located.
3+
# Please see the documentation for all configuration options:
4+
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file
5+
6+
version: 2
7+
updates:
8+
- package-ecosystem: "github-actions"
9+
directory: "/"
10+
schedule:
11+
interval: "monthly"
12+
ignore:
13+
- dependency-name: "goreleaser/goreleaser-action"
14+
groups:
15+
"GitHub Actions updates":
16+
patterns:
17+
- "*"
18+
- package-ecosystem: "gomod"
19+
directory: "/"
20+
schedule:
21+
interval: "monthly"
22+
groups:
23+
"Go modules updates":
24+
dependency-type: "production"

.github/workflows/build.yaml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: build
2+
3+
on:
4+
push:
5+
branches:
6+
tags:
7+
pull_request:
8+
9+
10+
jobs:
11+
build:
12+
runs-on: ubuntu-latest
13+
14+
steps:
15+
- name: set up go 1.24
16+
uses: actions/setup-go@v5
17+
with:
18+
go-version: "1.24"
19+
id: go
20+
21+
- name: checkout
22+
uses: actions/checkout@v4
23+
24+
- name: build and test
25+
run: |
26+
chmod 0600 ./pkg/executor/testdata/test_ssh_key
27+
go test -v -timeout=100s -covermode=count -coverprofile=$GITHUB_WORKSPACE/profile.cov_tmp ./...
28+
cat $GITHUB_WORKSPACE/profile.cov_tmp | grep -v "mocks" | grep -v "_mock" > $GITHUB_WORKSPACE/profile.cov
29+
30+
- name: golangci-lint
31+
uses: golangci/golangci-lint-action@v6
32+
with:
33+
version: latest
34+
35+
# - name: install goveralls
36+
# run: go install github.com/mattn/goveralls@latest
37+
38+
# - name: submit coverage
39+
# run: $(go env GOPATH)/bin/goveralls -service="github" -coverprofile=$GITHUB_WORKSPACE/profile.cov
40+
# env:
41+
# COVERALLS_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.github/workflows/release.yaml

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
name: release
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
8+
jobs:
9+
goreleaser:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: check out code
13+
uses: actions/checkout@v4
14+
15+
- name: set up go
16+
uses: actions/setup-go@v5
17+
with:
18+
go-version: "1.23"
19+
20+
- name: run goreleaser
21+
uses: goreleaser/goreleaser-action@v5
22+
with:
23+
version: ~> 1.25
24+
args: release --clean
25+
env:
26+
GITHUB_TOKEN: ${{ secrets.GORELEASER_GITHUB_TOKEN }}

.goreleaser.yml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
signs:
2+
- artifacts: checksum
3+
4+
project_name: contexify
5+
dist: .bin
6+
builds:
7+
- id: contexify
8+
binary: "contexify"
9+
env:
10+
- CGO_ENABLED=0
11+
goos:
12+
- linux
13+
- darwin
14+
- windows
15+
goarch:
16+
- amd64
17+
- arm
18+
- arm64
19+
ignore:
20+
- goos: freebsd
21+
goarch: arm
22+
- goos: freebsd
23+
goarch: arm64
24+
- goos: windows
25+
goarch: arm
26+
- goos: windows
27+
goarch: arm64
28+
main: .
29+
30+
archives:
31+
- id: contexify
32+
name_template: >-
33+
{{.ProjectName}}_
34+
{{- .Tag}}_
35+
{{- if eq .Os "darwin"}}macos
36+
{{- else if eq .Os "windows"}}win
37+
{{- else}}{{.Os}}{{end}}_
38+
{{- if eq .Arch "amd64"}}x86_64
39+
{{- else if eq .Arch "386"}}i386
40+
{{- else}}{{.Arch}}{{end}}
41+
format_overrides:
42+
- goos: windows
43+
formats: ['zip']
44+
files:
45+
- LICENSE
46+
- README.md
47+

0 commit comments

Comments
 (0)