Skip to content

Commit c5c647d

Browse files
committed
feat: initial implementation
Initial implementation goal: pass conformance tests. Signed-off-by: Andrey Smirnov <[email protected]>
1 parent 5973a1e commit c5c647d

Some content is hidden

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

43 files changed

+4669
-7
lines changed

.codecov.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.
2+
#
3+
# Generated on 2025-10-27T17:05:54Z by kres 46e133d.
4+
5+
codecov:
6+
require_ci_to_pass: false
7+
8+
coverage:
9+
status:
10+
project:
11+
default:
12+
target: 50%
13+
threshold: 0.5%
14+
base: auto
15+
if_ci_failed: success
16+
patch: off
17+
18+
comment: false

.conform.yaml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.
2+
#
3+
# Generated on 2025-10-27T17:05:54Z by kres 46e133d.
4+
5+
policies:
6+
- type: commit
7+
spec:
8+
dco: true
9+
gpg:
10+
required: true
11+
identity:
12+
gitHubOrganization: cosi-project
13+
spellcheck:
14+
locale: US
15+
maximumOfOneCommit: true
16+
header:
17+
length: 89
18+
imperative: true
19+
case: lower
20+
invalidLastCharacters: .
21+
body:
22+
required: true
23+
conventional:
24+
types:
25+
- chore
26+
- docs
27+
- perf
28+
- refactor
29+
- style
30+
- test
31+
- release
32+
scopes:
33+
- .*
34+
- type: license
35+
spec:
36+
root: .
37+
skipPaths:
38+
- .git/
39+
- testdata/
40+
includeSuffixes:
41+
- .go
42+
excludeSuffixes:
43+
- .pb.go
44+
- .pb.gw.go
45+
header: |
46+
// This Source Code Form is subject to the terms of the Mozilla Public
47+
// License, v. 2.0. If a copy of the MPL was not distributed with this
48+
// file, You can obtain one at http://mozilla.org/MPL/2.0/.

.dockerignore

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.
2+
#
3+
# Generated on 2025-10-27T17:05:54Z by kres 46e133d.
4+
5+
*
6+
!pkg
7+
!go.mod
8+
!go.sum
9+
!.golangci.yml
10+
!README.md
11+
!.markdownlint.json
12+
!hack/govulncheck.sh

.github/renovate.json

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
{
2+
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
3+
"description": "THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.",
4+
"prHeader": "Update Request | Renovate Bot",
5+
"extends": [
6+
":dependencyDashboard",
7+
":gitSignOff",
8+
":semanticCommitScopeDisabled",
9+
"schedule:earlyMondays"
10+
],
11+
"packageRules": [
12+
{
13+
"groupName": "dependencies",
14+
"matchUpdateTypes": [
15+
"major",
16+
"minor",
17+
"patch",
18+
"pin",
19+
"digest"
20+
]
21+
},
22+
{
23+
"enabled": false,
24+
"matchFileNames": [
25+
"Dockerfile"
26+
]
27+
},
28+
{
29+
"enabled": false,
30+
"matchFileNames": [
31+
".github/workflows/*.yaml"
32+
]
33+
}
34+
],
35+
"separateMajorMinor": false
36+
}

.github/workflows/ci.yaml

Lines changed: 185 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,185 @@
1+
# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.
2+
#
3+
# Generated on 2025-10-30T15:49:59Z by kres cd5a938.
4+
5+
concurrency:
6+
group: ${{ github.head_ref || github.run_id }}
7+
cancel-in-progress: true
8+
"on":
9+
push:
10+
branches:
11+
- main
12+
- release-*
13+
tags:
14+
- v*
15+
pull_request:
16+
branches:
17+
- main
18+
- release-*
19+
name: default
20+
jobs:
21+
default:
22+
permissions:
23+
actions: read
24+
contents: write
25+
issues: read
26+
packages: write
27+
pull-requests: read
28+
runs-on:
29+
group: generic
30+
if: (!startsWith(github.head_ref, 'renovate/') && !startsWith(github.head_ref, 'dependabot/'))
31+
steps:
32+
- name: gather-system-info
33+
id: system-info
34+
uses: kenchan0130/[email protected]
35+
continue-on-error: true
36+
- name: print-system-info
37+
run: |
38+
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
39+
40+
OUTPUTS=(
41+
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
42+
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
43+
"Hostname: ${{ steps.system-info.outputs.hostname }}"
44+
"NodeName: ${NODE_NAME}"
45+
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
46+
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
47+
"Name: ${{ steps.system-info.outputs.name }}"
48+
"Platform: ${{ steps.system-info.outputs.platform }}"
49+
"Release: ${{ steps.system-info.outputs.release }}"
50+
"Total memory: ${MEMORY_GB} GB"
51+
)
52+
53+
for OUTPUT in "${OUTPUTS[@]}";do
54+
echo "${OUTPUT}"
55+
done
56+
continue-on-error: true
57+
- name: checkout
58+
uses: actions/checkout@v5
59+
- name: Unshallow
60+
run: |
61+
git fetch --prune --unshallow
62+
- name: Set up Docker Buildx
63+
id: setup-buildx
64+
uses: docker/setup-buildx-action@v3
65+
with:
66+
driver: remote
67+
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
68+
timeout-minutes: 10
69+
- name: base
70+
run: |
71+
make base
72+
- name: release-notes
73+
if: startsWith(github.ref, 'refs/tags/')
74+
run: |
75+
make release-notes
76+
- name: Release
77+
if: startsWith(github.ref, 'refs/tags/')
78+
uses: softprops/action-gh-release@v2
79+
with:
80+
body_path: _out/RELEASE_NOTES.md
81+
draft: "true"
82+
lint:
83+
runs-on:
84+
group: generic
85+
if: github.event_name == 'pull_request'
86+
needs:
87+
- default
88+
steps:
89+
- name: gather-system-info
90+
id: system-info
91+
uses: kenchan0130/[email protected]
92+
continue-on-error: true
93+
- name: print-system-info
94+
run: |
95+
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
96+
97+
OUTPUTS=(
98+
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
99+
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
100+
"Hostname: ${{ steps.system-info.outputs.hostname }}"
101+
"NodeName: ${NODE_NAME}"
102+
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
103+
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
104+
"Name: ${{ steps.system-info.outputs.name }}"
105+
"Platform: ${{ steps.system-info.outputs.platform }}"
106+
"Release: ${{ steps.system-info.outputs.release }}"
107+
"Total memory: ${MEMORY_GB} GB"
108+
)
109+
110+
for OUTPUT in "${OUTPUTS[@]}";do
111+
echo "${OUTPUT}"
112+
done
113+
continue-on-error: true
114+
- name: checkout
115+
uses: actions/checkout@v5
116+
- name: Unshallow
117+
run: |
118+
git fetch --prune --unshallow
119+
- name: Set up Docker Buildx
120+
id: setup-buildx
121+
uses: docker/setup-buildx-action@v3
122+
with:
123+
driver: remote
124+
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
125+
timeout-minutes: 10
126+
- name: lint
127+
run: |
128+
make lint
129+
unit-tests:
130+
runs-on:
131+
group: generic
132+
if: github.event_name == 'pull_request'
133+
needs:
134+
- default
135+
steps:
136+
- name: gather-system-info
137+
id: system-info
138+
uses: kenchan0130/[email protected]
139+
continue-on-error: true
140+
- name: print-system-info
141+
run: |
142+
MEMORY_GB=$((${{ steps.system-info.outputs.totalmem }}/1024/1024/1024))
143+
144+
OUTPUTS=(
145+
"CPU Core: ${{ steps.system-info.outputs.cpu-core }}"
146+
"CPU Model: ${{ steps.system-info.outputs.cpu-model }}"
147+
"Hostname: ${{ steps.system-info.outputs.hostname }}"
148+
"NodeName: ${NODE_NAME}"
149+
"Kernel release: ${{ steps.system-info.outputs.kernel-release }}"
150+
"Kernel version: ${{ steps.system-info.outputs.kernel-version }}"
151+
"Name: ${{ steps.system-info.outputs.name }}"
152+
"Platform: ${{ steps.system-info.outputs.platform }}"
153+
"Release: ${{ steps.system-info.outputs.release }}"
154+
"Total memory: ${MEMORY_GB} GB"
155+
)
156+
157+
for OUTPUT in "${OUTPUTS[@]}";do
158+
echo "${OUTPUT}"
159+
done
160+
continue-on-error: true
161+
- name: checkout
162+
uses: actions/checkout@v5
163+
- name: Unshallow
164+
run: |
165+
git fetch --prune --unshallow
166+
- name: Set up Docker Buildx
167+
id: setup-buildx
168+
uses: docker/setup-buildx-action@v3
169+
with:
170+
driver: remote
171+
endpoint: tcp://buildkit-amd64.ci.svc.cluster.local:1234
172+
timeout-minutes: 10
173+
- name: unit-tests
174+
run: |
175+
make unit-tests
176+
- name: unit-tests-race
177+
run: |
178+
make unit-tests-race
179+
- name: coverage
180+
uses: codecov/codecov-action@v5
181+
with:
182+
files: _out/coverage-unit-tests.txt
183+
flags: unit-tests
184+
token: ${{ secrets.CODECOV_TOKEN }}
185+
timeout-minutes: 3

.github/workflows/lock.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# THIS FILE WAS AUTOMATICALLY GENERATED, PLEASE DO NOT EDIT.
2+
#
3+
# Generated on 2025-10-30T15:49:59Z by kres cd5a938.
4+
5+
"on":
6+
schedule:
7+
- cron: 0 2 * * *
8+
name: Lock old issues
9+
permissions:
10+
issues: write
11+
jobs:
12+
action:
13+
runs-on:
14+
- ubuntu-latest
15+
steps:
16+
- name: Lock old issues
17+
uses: dessant/[email protected]
18+
with:
19+
issue-inactive-days: "60"
20+
log-output: "true"
21+
process-only: issues

0 commit comments

Comments
 (0)