feat(clients): add nim-allographer client with BaraDB driver support
CI / test (push) Has been cancelled
CI / verify (push) Has been cancelled
Clients CI / build-server (push) Has been cancelled
Clients CI / test-python (push) Has been cancelled
Clients CI / test-javascript (push) Has been cancelled
Clients CI / test-nim (push) Has been cancelled
Clients CI / test-rust (push) Has been cancelled

- Pure Nim wire protocol client (async + sync, no C FFI)
- Query Builder: fluent API, SQL generator, execution, transactions
- Schema Builder: create/alter/drop tables, column operations
- Connection pool with aging and timeout handling
- ORM integration via compile-time DB_BARADB switch
- Tests: test_open, test_query
- Documentation: README.md, PLAN_BARADB.md
This commit is contained in:
2026-05-21 15:49:11 +03:00
parent 2d310a33a1
commit 6bfc5b3a3c
654 changed files with 109419 additions and 0 deletions
+3
View File
@@ -0,0 +1,3 @@
feature: feature*
bug: hotfix*
chore: chore*
+19
View File
@@ -0,0 +1,19 @@
name-template: 'v$NEXT_PATCH_VERSION'
tag-template: 'v$NEXT_PATCH_VERSION'
categories:
- title: '🚀 Features'
labels:
- 'feature'
- 'enhancement'
- title: '🐛 Bug Fixes'
labels:
- 'fix'
- 'bugfix'
- 'bug'
- title: '🧰 Maintenance'
label: 'chore'
change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
template: |
## Changes
$CHANGES
+33
View File
@@ -0,0 +1,33 @@
name: Deploy API documents
on:
push:
branches:
- main
jobs:
build-docs-deploy:
env:
NIM_VERSION: 1.4.4
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Cache choosenim
id: cache-choosenim
uses: actions/cache@v1
with:
path: ~/.choosenim
key: ${{ runner.os }}-choosenim-${{ env.NIM_VERSION }}
- uses: jiro4989/setup-nim-action@v1
with:
nim-version: ${{ env.NIM_VERSION }}
- name: Build
run: nimble install -Y
- name: Generate documents
run: nimble docs
- name: Deploy
uses: peaceiris/actions-gh-pages@v2.4.0
env:
ACTIONS_DEPLOY_KEY: ${{ secrets.ACTIONS_DEPLOY_KEY }}
PUBLISH_BRANCH: gh-pages
PUBLISH_DIR: ./docs
+61
View File
@@ -0,0 +1,61 @@
name: Build and test Nim
# テストはPRだけ
on:
pull_request:
paths-ignore:
- '*.md'
- 'documents/*'
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "test"
cancel-in-progress: false
jobs:
# WIP でジョブがスキップされてもCIが失敗した扱いにならないようにするため
skip:
runs-on: ubuntu-latest
steps:
- run: echo "Skip job"
# WIP がコミットメッセージに含まれているとジョブを起動しない
before:
runs-on: ubuntu-latest
if: "! contains(github.event.head_commit.message, 'WIP')"
steps:
- run: echo "no WIP"
test-on-docker-nim:
runs-on: ubuntu-latest
needs: before
strategy:
fail-fast: false
matrix:
nim-version:
- 2.0.16
- 2.2.8
env:
NIM_VERSION: ${{ matrix.nim-version }}
steps:
- uses: actions/checkout@v2
- name: Build docker image
run: docker compose -f compose.test.yaml build app
- name: Start dependencies
run: docker compose -f compose.test.yaml up -d postgres mysql mariadb surreal
- name: Test
run: docker compose -f compose.test.yaml run --rm --no-deps app nimble test
# アプリケーションの方を使うことにした
# https://github.com/marketplace/actions/release-drafter
# create-tag-draft:
# runs-on: ubuntu-latest
# if: github.ref == 'refs/heads/master'
# needs:
# - test-on-docker
# steps:
# - uses: release-drafter/release-drafter@v5.3.1
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -0,0 +1,15 @@
name: labeler
on:
pull_request:
types: [opened]
jobs:
labeler:
runs-on: ubuntu-latest
steps:
- uses: TimonVS/pr-labeler-action@v3.1.0
with:
configuration-path: .github/pr-labeler.yml
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}