Skip to content

Commit

Permalink
added changelog for 0.1.*
Browse files Browse the repository at this point in the history
  • Loading branch information
romaninsh committed Dec 12, 2024
1 parent 6fddbb1 commit 85c5acf
Show file tree
Hide file tree
Showing 6 changed files with 205 additions and 2 deletions.
78 changes: 78 additions & 0 deletions .github/workflows/publish.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
on:
push:
tags:
- "*"

name: Publish

jobs:
audit:
name: Audit
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/audit@v1

build_and_test_linux:
name: Build and Test (Linux)
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable

- uses: taiki-e/install-action@nextest
- name: "Build and test"
run: cd vantage && cargo nextest run --all-features

crates_io_publish:
name: Publish (crates.io)
needs:
- audit
- build_and_test_linux

runs-on: ubuntu-latest
timeout-minutes: 25
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable

- name: cargo-release Cache
id: cargo_release_cache
uses: actions/cache@v4
with:
path: ~/.cargo/bin/cargo-release
key: ${{ runner.os }}-cargo-release

- run: cargo install cargo-release
if: steps.cargo_release_cache.outputs.cache-hit != 'true'

- name: cargo login
run: cargo login ${{ secrets.CRATES_IO_API_TOKEN }}

# allow-branch HEAD is because GitHub actions switches
# to the tag while building, which is a detached head

# Publishing is currently messy, because:
#
# * `peace_rt_model_core` exports `NativeError` or `WebError` depending on the target.
# * `peace_rt_model_web` fails to build when publishing the workspace for a native target.
# * `peace_rt_model_web` still needs its dependencies to be published before it can be
# published.
# * `peace_rt_model_hack` needs `peace_rt_model_web` to be published before it can be
# published.
#
# We *could* pass through `--no-verify` so `cargo` doesn't build the crate before publishing,
# which is reasonable, since this job only runs after the Linux, Windows, and WASM builds
# have passed.
- name: "cargo release publish"
run: |-
cargo release \
publish \
--workspace \
--all-features \
--allow-branch HEAD \
--no-confirm \
--no-verify \
--execute
File renamed without changes.
40 changes: 40 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Changelog

All notable changes to this project will be documented in this file.

## [0.1.0] - 2024-12-12

### 🚀 Features

- Query Building - added `Query` with `set_type`, `fields`, and `build`
- Introduced `Renderable` trait (renamed into `Chunk`)
- Table buildind - added `Table`
- Introcuded `Field` struct
- Introduced `Select`, `Insert`, `Update`, `Delete` query types
- Introduced `Expression` struct
- Implemented Field positional rendering
- Introduced `ReadableDataSet` and `WritableDataSet` traits
- Added `mocking` for unit tests
- Briefly introduced and removed `sqlite` support
- Implemented `Postgres` datasource
- Introduced Conditions
- Implemented nested expressions
- Implemented Operations (such as field.eq(5))
- Implemented DataSource generics with <D: DataSource>
- Added `Table.sum()`
- Added `AssociatedQuery` and `AssociatedExpressionArc`
- Added `Query.join()`
- Added `with_one` and `with_many` into `Table` for relation definitions
- Added lazy expressions with `with_expression`
- Implementet Entity generics with <E: Entity>
- Added `Entity` trait and `SqlTable` trait

### 📚 Documentation

- Added mdbook documentation under `docs`
- Added rustdoc documentation under `vantage`

### ⚙️ Miscellaneous Tasks

- Added bakery example under `bakery_example`
- Added API example under `bakery_api`
84 changes: 84 additions & 0 deletions cliff.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
# git-cliff ~ default configuration file
# https://git-cliff.org/docs/configuration
#
# Lines starting with "#" are comments.
# Configuration options are organized into tables and keys.
# See documentation for more information on available options.

[changelog]
# template for the changelog header
header = """
# Changelog\n
All notable changes to this project will be documented in this file.\n
"""
# template for the changelog body
# https://keats.github.io/tera/docs/#introduction
body = """
{% if version %}\
## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
{% else %}\
## [unreleased]
{% endif %}\
{% for group, commits in commits | group_by(attribute="group") %}
### {{ group | striptags | trim | upper_first }}
{% for commit in commits %}
- {% if commit.scope %}*({{ commit.scope }})* {% endif %}\
{% if commit.breaking %}[**breaking**] {% endif %}\
{{ commit.message | upper_first }}\
{% endfor %}
{% endfor %}\n
"""
# template for the changelog footer
footer = """
<!-- generated by git-cliff -->
"""
# remove the leading and trailing s
trim = true
# postprocessors
postprocessors = [
# { pattern = '<REPO>', replace = "https://github.com/orhun/git-cliff" }, # replace repository URL
]
# render body even when there are no releases to process
# render_always = true
# output file path
# output = "test.md"

[git]
# parse the commits based on https://www.conventionalcommits.org
conventional_commits = true
# filter out the commits that are not conventional
filter_unconventional = true
# process each line of a commit as an individual commit
split_commits = false
# regex for preprocessing the commit messages
commit_preprocessors = [
# Replace issue numbers
#{ pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](<REPO>/issues/${2}))"},
# Check spelling of the commit with https://github.com/crate-ci/typos
# If the spelling is incorrect, it will be automatically fixed.
#{ pattern = '.*', replace_command = 'typos --write-changes -' },
]
# regex for parsing and grouping commits
commit_parsers = [
{ message = "^feat", group = "<!-- 0 -->🚀 Features" },
{ message = "^fix", group = "<!-- 1 -->🐛 Bug Fixes" },
{ message = "^doc", group = "<!-- 3 -->📚 Documentation" },
{ message = "^perf", group = "<!-- 4 -->⚡ Performance" },
{ message = "^refactor", group = "<!-- 2 -->🚜 Refactor" },
{ message = "^style", group = "<!-- 5 -->🎨 Styling" },
{ message = "^test", group = "<!-- 6 -->🧪 Testing" },
{ message = "^chore\\(release\\): prepare for", skip = true },
{ message = "^chore\\(deps.*\\)", skip = true },
{ message = "^chore\\(pr\\)", skip = true },
{ message = "^chore\\(pull\\)", skip = true },
{ message = "^chore|^ci", group = "<!-- 7 -->⚙️ Miscellaneous Tasks" },
{ body = ".*security", group = "<!-- 8 -->🛡️ Security" },
{ message = "^revert", group = "<!-- 9 -->◀️ Revert" },
{ message = ".*", group = "<!-- 10 -->💼 Other" },
]
# filter out the commits that are not matched by commit parsers
filter_commits = false
# sort the tags topologically
topo_order = false
# sort the commits inside sections by oldest/newest order
sort_commits = "oldest"
2 changes: 1 addition & 1 deletion docs/src/releases/new-in-0.0.1.md
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ assert_eq!(
Initial implementation of conditions is very limited - no way to specify a field. A new implementation
is going to store field reference, operation and value.

## Apr 18: Name changed to `vantage` and early syntax added in README:
## Apr 18: Name changed to `dorm` and early syntax added in README:

This is how early syntax looked like:

Expand Down
3 changes: 2 additions & 1 deletion vantage/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
[package]
name = "vantage"
version = "0.1.0"
version = "0.1.1"
edition = "2021"
license = "MIT OR Apache-2.0"
authors = ["Romans Malinovskis <me@nearly.guru>"]
description = "A type-safe, ergonomic database toolkit for Rust that focuses on developer productivity without compromising performance. It allows you to work with your database using Rust's strong type system while abstracting away the complexity of SQL queries."
documentation = "https://romaninsh.github.io/vantage"
homepage = "https://github.com/romaninsh/vantage"
repository = "https://github.com/romaninsh/vantage"
readme = "../README.md"

[lib]
doctest = false
Expand Down

0 comments on commit 85c5acf

Please sign in to comment.