Skip to content

Commit d1c8d1c

Browse files
build: setup versioning, goreleaser, and upgrade to go 1.25.6
1 parent 579ed62 commit d1c8d1c

File tree

6 files changed

+87
-68
lines changed

6 files changed

+87
-68
lines changed

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
- name: Set up Go
1818
uses: actions/setup-go@v5
1919
with:
20-
go-version: '1.25'
20+
go-version: '1.25.6'
2121
check-latest: true
2222

2323
- name: Format

.github/workflows/release.yml

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags:
6+
- 'v*'
7+
8+
permissions:
9+
contents: write
10+
11+
jobs:
12+
goreleaser:
13+
runs-on: ubuntu-latest
14+
steps:
15+
- name: Checkout
16+
uses: actions/checkout@v4
17+
with:
18+
fetch-depth: 0
19+
20+
- name: Set up Go
21+
uses: actions/setup-go@v5
22+
with:
23+
go-version: '1.25.6'
24+
25+
- name: Run GoReleaser
26+
uses: goreleaser/goreleaser-action@v6
27+
with:
28+
distribution: goreleaser
29+
version: "~> v2"
30+
args: release --clean
31+
env:
32+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.goreleaser.yaml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
# .goreleaser.yaml
2+
# Complete documentation at https://goreleaser.com
3+
4+
version: 2
5+
6+
before:
7+
hooks:
8+
- go mod tidy
9+
10+
# Since this is a library, we don't build binaries.
11+
# We focus on the release notes and source archive.
12+
builds:
13+
- skip: true
14+
15+
archives:
16+
- format: tar.gz
17+
# this name template makes the archive name more standard
18+
name_template: >-
19+
{{ .ProjectName }}_{{ .Version }}_source
20+
21+
checksum:
22+
name_template: 'checksums.txt'
23+
24+
snapshot:
25+
name_template: "{{ incpatch .Version }}-next"
26+
27+
changelog:
28+
sort: asc
29+
filters:
30+
exclude:
31+
- '^docs:'
32+
- '^test:'
33+
- 'merge'
34+
- 'Merge'
35+
36+
release:
37+
github:
38+
owner: raythurman2386
39+
name: cronlib
40+
# Semantic Versioning is expected
41+
mode: replace

README.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,28 @@
1616
* 🖥️ **Web Dashboard**: Built-in UI to monitor job status and execution logs in real-time.
1717
* 🕒 **Timezone Support**: Full support for job-specific execution locations.
1818

19+
## Versioning
20+
This project follows [Semantic Versioning 2.0.0](https://semver.org/).
21+
22+
We use [GoReleaser](https://goreleaser.com/) to automate our release process. Every time a new version tag (e.g., `v0.1.0`) is pushed, a corresponding GitHub Release is created with an automatically generated changelog.
23+
1924
## Requirements
2025

21-
* **Go**: 1.25 or higher.
26+
* **Go**: 1.25.6 or higher.
2227
* **Targeting**: Built for high-performance and modern Go concurrency patterns.
2328

2429
## Installation
2530

31+
To install the latest version:
2632
```bash
2733
go get github.com/raythurman2386/cronlib
2834
```
2935

36+
To install a specific version:
37+
```bash
38+
go get github.com/raythurman2386/cronlib@v0.1.0
39+
```
40+
3041
## Quick Start
3142

3243
```go

ROADMAP.md

Lines changed: 0 additions & 65 deletions
This file was deleted.

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module github.com/raythurman2386/cronlib
22

3-
go 1.25.2
3+
go 1.25.6
44

55
require (
66
github.com/mattn/go-sqlite3 v1.14.33

0 commit comments

Comments
 (0)