File tree 5 files changed +189
-0
lines changed
5 files changed +189
-0
lines changed Original file line number Diff line number Diff line change
1
+ name : build
2
+
3
+ on :
4
+ workflow_dispatch :
5
+ push :
6
+ branches :
7
+ - main
8
+
9
+ concurrency : ${{ github.workflow }}-${{ github.ref }}
10
+
11
+ permissions :
12
+ contents : write
13
+ packages : write
14
+
15
+ jobs :
16
+ build :
17
+ runs-on : ubuntu-latest
18
+ steps :
19
+ - uses : actions/checkout@v3
20
+ with :
21
+ fetch-depth : 0
22
+
23
+ - run : git fetch --force --tags
24
+
25
+ - uses : actions/setup-go@v5
26
+ with :
27
+ go-version : " >=1.23.2"
28
+
29
+ - run : go mod download
30
+ - uses : goreleaser/goreleaser-action@v6
31
+ with :
32
+ distribution : goreleaser
33
+ version : latest
34
+ args : build --snapshot --clean
Original file line number Diff line number Diff line change
1
+ name : release
2
+
3
+ on :
4
+ workflow_dispatch :
5
+ push :
6
+ tags :
7
+ - " *"
8
+
9
+ concurrency : ${{ github.workflow }}-${{ github.ref }}
10
+
11
+ permissions :
12
+ contents : write
13
+ packages : write
14
+
15
+ jobs :
16
+ goreleaser :
17
+ runs-on : ubuntu-latest
18
+ steps :
19
+ - uses : actions/checkout@v3
20
+ with :
21
+ fetch-depth : 0
22
+
23
+ - run : git fetch --force --tags
24
+
25
+ - uses : actions/setup-go@v5
26
+ with :
27
+ go-version : " >=1.23.2"
28
+
29
+ - run : go mod download
30
+ - uses : goreleaser/goreleaser-action@v6
31
+ with :
32
+ distribution : goreleaser
33
+ version : latest
34
+ args : release --clean
35
+ env :
36
+ GITHUB_TOKEN : ${{ secrets.HOMEBREW_GITHUB_TOKEN }}
37
+ AUR_KEY : ${{ secrets.AUR_KEY }}
Original file line number Diff line number Diff line change
1
+ version : 2
2
+ project_name : opencode
3
+ before :
4
+ hooks :
5
+ builds :
6
+ - env :
7
+ goos :
8
+ - linux
9
+ - darwin
10
+ main : ./main.go
11
+
12
+ archives :
13
+ - format : tar.gz
14
+ # this name template makes the OS and Arch compatible with the results of uname.
15
+ name_template : >-
16
+ opencode-
17
+ {{- if eq .Os "darwin" }}mac-
18
+ {{- else if eq .Os "windows" }}windows-
19
+ {{- else if eq .Os "linux" }}linux-{{end}}
20
+ {{- if eq .Arch "amd64" }}x86_64
21
+ {{- else if eq .Arch "#86" }}i386
22
+ {{- else }}{{ .Arch }}{{ end }}
23
+ {{- if .Arm }}v{{ .Arm }}{{ end }}
24
+ # use zip for windows archives
25
+ format_overrides :
26
+ - goos : windows
27
+ format : zip
28
+ checksum :
29
+ name_template : " checksums.txt"
30
+ snapshot :
31
+ name_template : " 0.0.0-{{ .Timestamp }}"
32
+ aurs :
33
+ - name : opencode
34
+ homepage : " https://github.com/opencode-ai/opencode"
35
+ description : " Deploy anything"
36
+ maintainers :
37
+
38
+ license : " MIT"
39
+ private_key : " {{ .Env.AUR_KEY }}"
40
+ git_url :
" ssh://[email protected] /opencode-bin.git"
41
+ provides :
42
+ - opencode
43
+ conflicts :
44
+ - opencode
45
+ package : |-
46
+ install -Dm755 ./opencode "${pkgdir}/usr/bin/opencode"
47
+ brews :
48
+ - repository :
49
+ owner : opencode-ai
50
+ name : homebrew-tap
51
+ nfpms :
52
+ - maintainer : opencode
53
+ description : terminal based agent that can build anything
54
+ formats :
55
+ - deb
56
+ - rpm
57
+ file_name_template : >-
58
+ {{ .ProjectName }}-
59
+ {{- if eq .Os "darwin" }}mac
60
+ {{- else }}{{ .Os }}{{ end }}-{{ .Arch }}
61
+
62
+ changelog :
63
+ sort : asc
64
+ filters :
65
+ exclude :
66
+ - " ^docs:"
67
+ - " ^doc:"
68
+ - " ^test:"
69
+ - " ^ci:"
70
+ - " ^ignore:"
71
+ - " ^example:"
72
+ - " ^wip:"
Original file line number Diff line number Diff line change
1
+ #! /usr/bin/env bash
2
+
3
+ # Parse command line arguments
4
+ minor=false
5
+ while [ " $# " -gt 0 ]; do
6
+ case " $1 " in
7
+ --minor) minor=true; shift 1;;
8
+ * ) echo " Unknown parameter: $1 " ; exit 1;;
9
+ esac
10
+ done
11
+
12
+ git fetch --force --tags
13
+
14
+ # Get the latest Git tag
15
+ latest_tag=$( git tag --sort=committerdate | grep -E ' [0-9]' | tail -1)
16
+
17
+ # If there is no tag, exit the script
18
+ if [ -z " $latest_tag " ]; then
19
+ echo " No tags found"
20
+ exit 1
21
+ fi
22
+
23
+ echo " Latest tag: $latest_tag "
24
+
25
+ # Split the tag into major, minor, and patch numbers
26
+ IFS=' .' read -ra VERSION <<< " $latest_tag"
27
+
28
+ if [ " $minor " = true ]; then
29
+ # Increment the minor version and reset patch to 0
30
+ minor_number=${VERSION[1]}
31
+ let " minor_number++"
32
+ new_version=" ${VERSION[0]} .$minor_number .0"
33
+ else
34
+ # Increment the patch version
35
+ patch_number=${VERSION[2]}
36
+ let " patch_number++"
37
+ new_version=" ${VERSION[0]} .${VERSION[1]} .$patch_number "
38
+ fi
39
+
40
+ echo " New version: $new_version "
41
+
42
+ git tag $new_version
43
+ git push --tags
Original file line number Diff line number Diff line change
1
+ #! /usr/bin/env bash
2
+ set -e
3
+ goreleaser build --clean --snapshot --skip validate
You can’t perform that action at this time.
0 commit comments