Skip to content

Commit 1e2b16f

Browse files
authored
📦 Release: v0.1.0-rc.1 (#280)
The first major update with breaking changes to the language chat schemas and begging of work on instrumenting the gateway with OpenTelemetry. ### Added - 🔧 Use github.com/EinStack/glide as module name to support go install cmd (@gernest) - ✨🔧 Setup Open Telemetry Metrics and Traces (#237) (@gernest) - 🔧 #221 Add B3 trace propagator (#242) (@gernest) - 🔧 #241 Support overriding OTEL resource attributes (#243) (@gernest) - 🔧 #248 Disable span and metrics by default (#254) (@gernest) - 🔧 #220 Instrument API server with observability signals (#255) (@gernest) - 🔧 #164 Make client connection pool configurable across all providers (#251) (@daesu) - 🔧 Instrument gateway process (#256) (@gernest) - 🔧 #262: adding connection pool for chat request and response (#271) (@tom-fitz) ### Changed - 🔧 #238 Implements human-readable durations in config (#253) (@ppmdo) - 🔧 #266: removing omitempty from response definition (#267) (@tom-fitz) #### Breaking Changes - 🔧 💥 #235: Extended the non-streaming chat error schema with new fields to give clients more context around the error (#236) (@roma-glushko) - 💥 Convert all camelCase config fields to the snake_case in the provider configs (#260) (@roma-glushko) - ✨💥 #153: Allow to pass multiple model-specific param overrides (#264) (@roma-glushko) ### Fixed - 🐛 #217: Set build info correctly in Glide images (#218) (@roma-glushko) ### Security - 🔒 Updated golang to 1.22.4 to address CVE-2024-24790 (#276) (@STAR-173) ### Miscellaneous - 📝 Defined a way to manage EinStack Glide project (#234) (@roma-glushko) - 👷 #219: Setup local telemetry stack with Jaeger, Grafana, VictoriaMetrics and OTEL Collector (#225) (@roma-glushko) - 👷‍♂️ Added a new GH action to watch for glide activity stream (#239, #244) (@roma-glushko) - ✨ Switched to the new docs (@roma-glushko) - 🔧 #240: Automatically install air (#277, #270) (@ppmdo, @roma-glushko)
1 parent 754af34 commit 1e2b16f

File tree

127 files changed

+4132
-2959
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

127 files changed

+4132
-2959
lines changed

.air.toml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
root = "."
2+
testdata_dir = "testdata"
3+
tmp_dir = "tmp"
4+
5+
[build]
6+
args_bin = ["-c ./config.dev.yaml"]
7+
bin = "./dist/glide"
8+
cmd = "make build"
9+
delay = 1000
10+
exclude_dir = ["assets", "tmp", "vendor", "testdata"]
11+
exclude_file = []
12+
exclude_regex = ["_test.go"]
13+
exclude_unchanged = false
14+
follow_symlink = false
15+
full_bin = ""
16+
include_dir = []
17+
include_ext = ["go", "tpl", "tmpl", "html"]
18+
include_file = []
19+
kill_delay = "0s"
20+
log = "build-errors.log"
21+
poll = false
22+
poll_interval = 0
23+
post_cmd = []
24+
pre_cmd = []
25+
rerun = false
26+
rerun_delay = 500
27+
send_interrupt = false
28+
stop_on_error = false
29+
30+
[color]
31+
app = ""
32+
build = "yellow"
33+
main = "magenta"
34+
runner = "green"
35+
watcher = "cyan"
36+
37+
[log]
38+
main_only = false
39+
time = false
40+
41+
[misc]
42+
clean_on_exit = false
43+
44+
[proxy]
45+
app_port = 0
46+
enabled = false
47+
proxy_port = 0
48+
49+
[screen]
50+
clear_on_rebuild = false
51+
keep_scroll = true
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: Pull Request Activity Notifications
2+
3+
on:
4+
pull_request_target:
5+
types: [opened, closed, reopened]
6+
7+
jobs:
8+
activity_notifications:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- name: Gather PR context
12+
id: context
13+
uses: actions/github-script@v4
14+
with:
15+
github-token: ${{ secrets.GITHUB_TOKEN }}
16+
script: |
17+
const pr = context.payload.pull_request;
18+
const author = pr.user.login;
19+
const project = context.payload.repository.full_name;
20+
const action = context.payload.action;
21+
const wasMerged = pr.merged;
22+
23+
console.log(`Action: ${action}`);
24+
console.log(`PR Author: ${author}`);
25+
console.log(`Project: ${project}`);
26+
console.log(`Was Merged?: ${wasMerged}`);
27+
28+
core.setOutput('author', author);
29+
core.setOutput('project', project);
30+
core.setOutput('action', action);
31+
core.setOutput('wasMerged', wasMerged);
32+
33+
- name: Send Discord Notification for opened PR
34+
if: ${{ github.event_name == 'pull_request' && github.event.action == 'opened' }}
35+
uses: Ilshidur/action-discord@master
36+
env:
37+
DISCORD_WEBHOOK: ${{ secrets.ACTIVITY_DISCORD_WEBHOOK_URL }}
38+
with:
39+
args: "✨️[New Pull Request]\nProject: ${{ steps.context.outputs.project }}\nAuthor: ${{ steps.context.outputs.author }}\nLink: ${{ github.event.pull_request.html_url }}"
40+
41+
- name: Send Discord Notification for closed PR
42+
if: ${{ github.event_name == 'pull_request' && github.event.action == 'closed' && steps.context.outputs.wasMerged == 'false' }}
43+
uses: Ilshidur/action-discord@master
44+
env:
45+
DISCORD_WEBHOOK: ${{ secrets.ACTIVITY_DISCORD_WEBHOOK_URL }}
46+
with:
47+
args: "🚫[Pull Request Closed]\nProject: ${{ steps.context.outputs.project }}\nAuthor: ${{ steps.context.outputs.author }}\nLink: ${{ github.event.pull_request.html_url }}"
48+
49+
- name: Send Discord Notification for merged PR
50+
if: ${{ github.event_name == 'pull_request' && github.event.action == 'closed' && steps.context.outputs.wasMerged == 'true' }}
51+
uses: Ilshidur/action-discord@master
52+
env:
53+
DISCORD_WEBHOOK: ${{ secrets.ACTIVITY_DISCORD_WEBHOOK_URL }}
54+
with:
55+
args: "✅[Pull Request Merged]\nProject: ${{ steps.context.outputs.project }}\nAuthor: ${{ steps.context.outputs.author }}\nLink: ${{ github.event.pull_request.html_url }}"
56+
57+
- name: Send Discord Notification for reopened PR
58+
if: ${{ github.event_name == 'pull_request' && github.event.action == 'reopened' }}
59+
uses: Ilshidur/action-discord@master
60+
env:
61+
DISCORD_WEBHOOK: ${{ secrets.ACTIVITY_DISCORD_WEBHOOK_URL }}
62+
with:
63+
args: "🛠️[Pull Request Reopened]\nProject: ${{ steps.context.outputs.project }}\nAuthor: ${{ steps.context.outputs.author }}\nLink: ${{ github.event.pull_request.html_url }}"

.github/workflows/lint.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
- name: Set up Go
2424
uses: actions/setup-go@v4
2525
with:
26-
go-version: "1.22"
26+
go-version: "1.22.4"
2727
check-latest: true
2828

2929
- name: Install
@@ -56,7 +56,7 @@ jobs:
5656
- name: Set up Go
5757
uses: actions/setup-go@v4
5858
with:
59-
go-version: "1.22"
59+
go-version: "1.22.4"
6060
check-latest: true
6161
- name: Build
6262
run: go build -v ./...
@@ -70,7 +70,7 @@ jobs:
7070
- name: Set up Go
7171
uses: actions/setup-go@v4
7272
with:
73-
go-version: "1.22"
73+
go-version: "1.22.4"
7474
check-latest: true
7575

7676
- name: Install nilaway
@@ -95,7 +95,7 @@ jobs:
9595
- name: Set up Go
9696
uses: actions/setup-go@v4
9797
with:
98-
go-version: "1.22"
98+
go-version: "1.22.4"
9999
check-latest: true
100100

101101
- name: Test
@@ -121,7 +121,7 @@ jobs:
121121
- name: Set up Go
122122
uses: actions/setup-go@v4
123123
with:
124-
go-version: "1.22"
124+
go-version: "1.22.4"
125125
check-latest: true
126126

127127
- name: Generate OpenAPI Schema

.github/workflows/release.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
- name: Set up Go
2424
uses: actions/setup-go@v4
2525
with:
26-
go-version: 1.22
26+
go-version: 1.22.4
2727

2828
- name: Checkout
2929
uses: actions/checkout@v4

.github/workflows/vuln.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ jobs:
2727
- name: Install Go
2828
uses: actions/setup-go@v4
2929
with:
30-
go-version: '1.22.1'
30+
go-version: '1.22.4'
3131
check-latest: true
3232

3333
- name: Checkout

.go-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.22
1+
1.22.4

CHANGELOG.md

Lines changed: 47 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,51 @@ TBU
4141

4242
TBU
4343

44-
## [0.0.3-rc2], [0.0.3] (Apr 17, 2024)
44+
## [0.1.0-rc.1] (Jun 24, 2024)
45+
46+
The first major update with breaking changes to the language chat schemas
47+
and begging of work on instrumenting the gateway with OpenTelemetry.
48+
49+
### Added
50+
51+
- 🔧 Use github.com/EinStack/glide as module name to support go install cmd (@gernest)
52+
- ✨🔧 Setup Open Telemetry Metrics and Traces (#237) (@gernest)
53+
- 🔧 #221 Add B3 trace propagator (#242) (@gernest)
54+
- 🔧 #241 Support overriding OTEL resource attributes (#243) (@gernest)
55+
- 🔧 #248 Disable span and metrics by default (#254) (@gernest)
56+
- 🔧 #220 Instrument API server with observability signals (#255) (@gernest)
57+
- 🔧 #164 Make client connection pool configurable across all providers (#251) (@daesu)
58+
- 🔧 Instrument gateway process (#256) (@gernest)
59+
- 🔧 #262: adding connection pool for chat request and response (#271) (@tom-fitz)
60+
61+
### Changed
62+
63+
- 🔧 #238 Implements human-readable durations in config (#253) (@ppmdo)
64+
- 🔧 #266: removing omitempty from response definition (#267) (@tom-fitz)
65+
66+
#### Breaking Changes
67+
68+
- 🔧 💥 #235: Extended the non-streaming chat error schema with new fields to give clients more context around the error (#236) (@roma-glushko)
69+
- 💥 Convert all camelCase config fields to the snake_case in the provider configs (#260) (@roma-glushko)
70+
- ✨💥 #153: Allow to pass multiple model-specific param overrides (#264) (@roma-glushko)
71+
72+
### Fixed
73+
74+
- 🐛 #217: Set build info correctly in Glide images (#218) (@roma-glushko)
75+
76+
### Security
77+
78+
- 🔒 Updated golang to 1.22.4 to address CVE-2024-24790 (#276) (@STAR-173)
79+
80+
### Miscellaneous
81+
82+
- 📝 Defined a way to manage EinStack Glide project (#234) (@roma-glushko)
83+
- 👷 #219: Setup local telemetry stack with Jaeger, Grafana, VictoriaMetrics and OTEL Collector (#225) (@roma-glushko)
84+
- 👷‍♂️ Added a new GH action to watch for glide activity stream (#239, #244) (@roma-glushko)
85+
- ✨ Switched to the new docs (@roma-glushko)
86+
- 🔧 #240: Automatically install air (#277, #270) (@ppmdo, @roma-glushko)
87+
88+
## [0.0.3-rc.2], [0.0.3] (Apr 17, 2024)
4589

4690
Final major improvements to streaming chat workflow. Fixed issues with Cohere streaming chat.
4791
Expanded and revisited Cohere params in config.
@@ -166,7 +210,8 @@ Bringing support for streaming chat in Glide.
166210
- 🔧 [chores] Automatic coverage reports #39 (@roma-glushko)
167211
- 👷 [build] Setup release workflows #9 (@roma-glushko)
168212

169-
[unreleased]: https://github.com/olivierlacan/keep-a-changelog/compare/0.0.3...HEAD
213+
[unreleased]: https://github.com/EinStack/glide/compare/0.1.0-rc.1...HEAD
214+
[0.1.0-rc.1]: https://github.com/EinStack/glide/compare/0.0.3...0.1.0-rc.1
170215
[0.0.3]: https://github.com/EinStack/glide/compare/0.0.3-rc.1..0.0.3
171216
[0.0.3-rc.2]: https://github.com/EinStack/glide/compare/0.0.3-rc.1..0.0.3-rc.2
172217
[0.0.3-rc.1]: https://github.com/EinStack/glide/compare/0.0.2..0.0.3-rc.1

CONTRIBUTING.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,3 +73,24 @@ That's perfectly fine!
7373
Feel free to connect with us in [Discord](https://discord.gg/rsBzprY7uT) and ask any question you have.
7474
Remember, there are no dumb questions, but there can be missing opportunities to make your life easier if you don't speak up about things you struggle with.
7575

76+
77+
78+
## Project Management
79+
80+
EinStack uses Github functionality to do all sorts of management and planning of Glide functionality:
81+
82+
- We use Github Projects to manage [the Glide's roadmap](https://github.com/orgs/EinStack/projects/1/views/4)
83+
- We use Github issues to manage epics (e.g. bigger functionality that would not fit one task or pull request) and the corresponding tasks
84+
- Github issue labels to indicate epic priority and other horizontal properties of the functionality like type, area, etc
85+
- Github milestones to assign epics to upcoming releases which may be connected to Glide incremental releases or solve some specific use case (e.g. RAG)
86+
87+
<img src="docs/images/einstack-project-management.png" width="400px" alt="Glide Project Management" />
88+
89+
### How to add a new epic?
90+
91+
You can do that by:
92+
- creating a new Github issue
93+
- assigning the `type:epic` to it
94+
- adding it to [the Glide Roadmap project](https://github.com/orgs/EinStack/projects/1/views/4) (the backlog status)
95+
96+
Be sure to let everyone know about this in the EinStack Discord (#general channel is fine).

Makefile

Lines changed: 27 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
CHECKER_BIN=$(PWD)/tmp/bin
2-
VERSION_PACKAGE := glide/pkg
2+
VERSION_PACKAGE := glide/pkg/version
33
COMMIT ?= $(shell git describe --dirty --long --always --abbrev=15)
44
BUILD_DATE ?= $(shell date -u +"%Y-%m-%dT%H:%M:%SZ")
55
VERSION ?= "latest"
66

7-
LDFLAGS_COMMON := "-s -w -X $(VERSION_PACKAGE).commitSha=$(COMMIT) -X $(VERSION_PACKAGE).version=$(VERSION) -X $(VERSION_PACKAGE).buildDate=$(BUILD_DATE)"
7+
LDFLAGS_COMMON := "-X $(VERSION_PACKAGE).commitSha=$(COMMIT) -X $(VERSION_PACKAGE).Version=$(VERSION) -X $(VERSION_PACKAGE).buildDate=$(BUILD_DATE)"
88

99
.PHONY: help
1010

@@ -13,14 +13,16 @@ help:
1313
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
1414

1515

16-
install-checkers: ## Install static checkers
16+
$(CHECKER_BIN)/.installed: $(CHECKER_BIN)/.installed ## Install static checkers
1717
@echo "🚚 Downloading binaries.."
1818
@GOBIN=$(CHECKER_BIN) go install mvdan.cc/gofumpt@latest
1919
@GOBIN=$(CHECKER_BIN) go install golang.org/x/vuln/cmd/govulncheck@latest
2020
@GOBIN=$(CHECKER_BIN) go install github.com/securego/gosec/v2/cmd/gosec@latest
2121
@GOBIN=$(CHECKER_BIN) go install github.com/swaggo/swag/cmd/swag@latest
22+
@GOBIN=$(CHECKER_BIN) go install github.com/air-verse/air@latest
23+
@touch $(CHECKER_BIN)/.installed
2224

23-
lint: install-checkers ## Lint the source code
25+
lint: $(CHECKER_BIN)/.installed ## Lint the source code
2426
@echo "🧹 Cleaning go.mod.."
2527
@go mod tidy
2628
@echo "🧹 Formatting files.."
@@ -31,19 +33,34 @@ lint: install-checkers ## Lint the source code
3133
@echo "🧹 GoCI Lint.."
3234
@golangci-lint run ./...
3335

34-
vuln: install-checkers ## Check for vulnerabilities
36+
vuln: $(CHECKER_BIN)/.installed ## Check for vulnerabilities
3537
@echo "🔍 Checking for vulnerabilities"
3638
@#$(CHECKER_BIN)/govulncheck -test ./... enable in https://github.com/EinStack/glide/issues/169
3739
@$(CHECKER_BIN)/gosec -quiet -exclude=G104 ./...
3840

39-
run: ## Run Glide
40-
@go run -ldflags $(LDFLAGS_COMMON) main.go -c ./config.dev.yaml
41+
run: $(CHECKER_BIN)/.installed ## Run Glide
42+
@$(CHECKER_BIN)/air -c .air.toml
4143

4244
build: ## Build Glide
43-
@go build -ldflags $(LDFLAGS_COMMON) -o ./dist/glide
45+
@echo "🔨Building Glide binary.."
46+
@echo "Version: $(VERSION)"
47+
@echo "Commit: $(COMMIT)"
48+
@echo "Build Date: $(BUILD_DATE)"
49+
@go build -ldflags $(LDFLAGS_COMMON) -o ./dist/glide;
4450

4551
test: ## Run tests
46-
@go test -v -count=1 -race -shuffle=on -coverprofile=coverage.txt ./...
52+
@go test -v -count=1 -race -shuffle=on -coverprofile=coverage.out ./...
4753

48-
docs-api: install-checkers ## Generate OpenAPI API docs
54+
test-cov: ## Run tests with coverage
55+
@go tool cover -func=coverage.out
56+
57+
docs-api: $(CHECKER_BIN)/.installed ## Generate OpenAPI API docs
4958
@$(CHECKER_BIN)/swag init
59+
60+
telemetry-up: ## Start observability services needed to receive Glides signals
61+
@docker-compose --profile telemetry up --wait
62+
@echo "Jaeger UI: http://localhost:16686/"
63+
@echo "Grafana UI: http://localhost:3000/"
64+
65+
telemetry-down: ## Shutdown observability services needed to receive Glides signals
66+
@docker-compose --profile telemetry down

0 commit comments

Comments
 (0)