-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 55825a2
Showing
13 changed files
with
572 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
name: build | ||
|
||
on: | ||
push: | ||
branches: | ||
- master | ||
tags: | ||
- v* | ||
pull_request: | ||
branches: | ||
- master | ||
|
||
permissions: | ||
contents: write | ||
|
||
jobs: | ||
build-rust: | ||
strategy: | ||
matrix: | ||
platform: [ubuntu-latest] | ||
runs-on: ${{ matrix.platform }} | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 | ||
submodules: recursive | ||
- name: Install Rust | ||
run: rustup toolchain install stable --component llvm-tools-preview | ||
- name: Install cargo-llvm-cov | ||
uses: taiki-e/install-action@cargo-llvm-cov | ||
- name: install nextest | ||
uses: taiki-e/install-action@nextest | ||
- uses: Swatinem/rust-cache@v2 | ||
- name: Check code format | ||
run: cargo fmt -- --check | ||
- name: Check the package for errors | ||
run: cargo check --all | ||
- name: Lint rust sources | ||
run: cargo clippy --all-targets --all-features --tests --benches -- -D warnings | ||
- name: Execute rust tests | ||
run: cargo nextest run --all-features | ||
- name: Generate a changelog | ||
uses: orhun/git-cliff-action@v2 | ||
id: git-cliff | ||
if: startsWith(github.ref, 'refs/tags/') | ||
with: | ||
config: cliff.toml | ||
args: -vv --latest --strip header | ||
env: | ||
OUTPUT: CHANGES.md | ||
- name: Release | ||
uses: softprops/action-gh-release@v1 | ||
if: startsWith(github.ref, 'refs/tags/') | ||
with: | ||
body: ${{ steps.git-cliff.outputs.content }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
/target |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
fail_fast: false | ||
repos: | ||
- repo: https://github.com/pre-commit/pre-commit-hooks | ||
rev: v4.3.0 | ||
hooks: | ||
- id: check-byte-order-marker | ||
- id: check-case-conflict | ||
- id: check-merge-conflict | ||
- id: check-symlinks | ||
- id: check-yaml | ||
- id: end-of-file-fixer | ||
- id: mixed-line-ending | ||
- id: trailing-whitespace | ||
- repo: https://github.com/psf/black | ||
rev: 22.10.0 | ||
hooks: | ||
- id: black | ||
- repo: local | ||
hooks: | ||
- id: cargo-fmt | ||
name: cargo fmt | ||
description: Format files with rustfmt. | ||
entry: bash -c 'cargo fmt -- --check' | ||
language: rust | ||
files: \.rs$ | ||
args: [] | ||
- id: cargo-deny | ||
name: cargo deny check | ||
description: Check cargo dependencies | ||
entry: bash -c 'cargo deny check -d' | ||
language: rust | ||
files: \.rs$ | ||
args: [] | ||
- id: typos | ||
name: typos | ||
description: check typo | ||
entry: bash -c 'typos' | ||
language: rust | ||
files: \.*$ | ||
pass_filenames: false | ||
- id: cargo-check | ||
name: cargo check | ||
description: Check the package for errors. | ||
entry: bash -c 'cargo check --all' | ||
language: rust | ||
files: \.rs$ | ||
pass_filenames: false | ||
- id: cargo-clippy | ||
name: cargo clippy | ||
description: Lint rust sources | ||
entry: bash -c 'cargo clippy --all-targets --all-features --tests --benches -- -D warnings' | ||
language: rust | ||
files: \.rs$ | ||
pass_filenames: false | ||
- id: cargo-test | ||
name: cargo test | ||
description: unit test for the project | ||
entry: bash -c 'cargo nextest run --all-features' | ||
language: rust | ||
files: \.rs$ | ||
pass_filenames: false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
# Changelog | ||
|
||
All notable changes to this project will be documented in this file. See [conventional commits](https://www.conventionalcommits.org/) for commit guidelines. | ||
|
||
--- | ||
## [unreleased] | ||
|
||
### Miscellaneous Chores | ||
|
||
- initialize basic structure for the repo - ([2436bec](https://github.com/tyrchen/qdrant-lib/commit/2436bec4a02caac64f6c1f97ca79b6ce745b4f53)) - Tyr Chen | ||
|
||
### Other | ||
|
||
- init the project and add the assets - ([6a3ca0a](https://github.com/tyrchen/qdrant-lib/commit/6a3ca0a900451c55969cc8dec20afb5351d86599)) - Tyr Chen | ||
|
||
<!-- generated by git-cliff --> |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
[package] | ||
name = "template" | ||
version = "0.1.0" | ||
edition = "2021" | ||
|
||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html | ||
|
||
[dependencies] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
# Geektime Rust 语言训练营 | ||
|
||
## 环境设置 | ||
|
||
### 安装 Rust | ||
|
||
```bash | ||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh | ||
``` | ||
|
||
### 安装 VSCode 插件 | ||
|
||
- crates: Rust 包管理 | ||
- Even Better TOML: TOML 文件支持 | ||
- Better Comments: 优化注释显示 | ||
- Error Lens: 错误提示优化 | ||
- GitLens: Git 增强 | ||
- Github Copilot: 代码提示 | ||
- indent-rainbow: 缩进显示优化 | ||
- Prettier - Code formatter: 代码格式化 | ||
- REST client: REST API 调试 | ||
- rust-analyzer: Rust 语言支持 | ||
- Rust Test lens: Rust 测试支持 | ||
- Rust Test Explorer: Rust 测试概览 | ||
- TODO Highlight: TODO 高亮 | ||
- vscode-icons: 图标优化 | ||
- YAML: YAML 文件支持 | ||
|
||
### 安装 cargo generate | ||
|
||
cargo generate 是一个用于生成项目模板的工具。它可以使用已有的 github repo 作为模版生成新的项目。 | ||
|
||
```bash | ||
cargo install cargo-generate | ||
``` | ||
|
||
在我们的课程中,新的项目会使用 `tyr-rust-bootcamp/template` 模版生成基本的代码: | ||
|
||
```bash | ||
cargo generate tyr-rust-bootcamp/template | ||
``` | ||
|
||
### 安装 pre-commit | ||
|
||
pre-commit 是一个代码检查工具,可以在提交代码前进行代码检查。 | ||
|
||
```bash | ||
pipx install pre-commit | ||
``` | ||
|
||
安装成功后运行 `pre-commit install` 即可。 | ||
|
||
### 安装 Cargo deny | ||
|
||
Cargo deny 是一个 Cargo 插件,可以用于检查依赖的安全性。 | ||
|
||
```bash | ||
cargo install --locked cargo-deny | ||
``` | ||
|
||
### 安装 typos | ||
|
||
typos 是一个拼写检查工具。 | ||
|
||
```bash | ||
cargo install typos-cli | ||
``` | ||
|
||
### 安装 git cliff | ||
|
||
git cliff 是一个生成 changelog 的工具。 | ||
|
||
```bash | ||
cargo install git-cliff | ||
``` | ||
|
||
### 安装 cargo nextest | ||
|
||
cargo nextest 是一个 Rust 增强测试工具。 | ||
|
||
```bash | ||
cargo install cargo-nextest --locked | ||
``` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
[default.extend-words] | ||
|
||
[files] | ||
extend-exclude = ["CHANGELOG.md", "notebooks/*"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
# Assets | ||
|
||
- [juventus.csv](./juventus.csv): dataset from [The-Football-Data](https://github.com/buckthorndev/The-Football-Data). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
Name,Position,DOB,Nationality,Kit Number | ||
Wojciech Szczesny,Goalkeeper,"Apr 18, 1990 (29)",Poland,1 | ||
Mattia Perin,Goalkeeper,"Nov 10, 1992 (26)",Italy,37 | ||
Gianluigi Buffon,Goalkeeper,"Jan 28, 1978 (41)",Italy,77 | ||
Carlo Pinsoglio,Goalkeeper,"Mar 16, 1990 (29)",Italy,31 | ||
Matthijs de Ligt,Centre-Back,"Aug 12, 1999 (20)",Netherlands,4 | ||
Leonardo Bonucci,Centre-Back,"May 1, 1987 (32)",Italy,19 | ||
Daniele Rugani,Centre-Back,"Jul 29, 1994 (25)",Italy,24 | ||
Merih Demiral,Centre-Back,"Mar 5, 1998 (21)",Turkey,28 | ||
Giorgio Chiellini,Centre-Back,"Aug 14, 1984 (35)",Italy,3 | ||
Alex Sandro,Left-Back,"Jan 26, 1991 (28)",Brazil,12 | ||
Danilo,Right-Back,"Jul 15, 1991 (28)",Brazil,13 | ||
Mattia De Sciglio,Right-Back,"Oct 20, 1992 (27)",Italy,2 | ||
Emre Can,Defensive Midfield,"Jan 12, 1994 (25)",Germany,23 | ||
Miralem Pjanic,Central Midfield,"Apr 2, 1990 (29)",Bosnia-Herzegovina,5 | ||
Aaron Ramsey,Central Midfield,"Dec 26, 1990 (28)",Wales,8 | ||
Adrien Rabiot,Central Midfield,"Apr 3, 1995 (24)",France,25 | ||
Rodrigo Bentancur,Central Midfield,"Jun 25, 1997 (22)",Uruguay,30 | ||
Blaise Matuidi,Central Midfield,"Apr 9, 1987 (32)",France,14 | ||
Sami Khedira,Central Midfield,"Apr 4, 1987 (32)",Germany,6 | ||
Cristiano Ronaldo,Left Winger,"Feb 5, 1985 (34)",Portugal,7 | ||
Marko Pjaca,Left Winger,"May 6, 1995 (24)",Croatia,15 | ||
Federico Bernardeschi,Right Winger,"Feb 16, 1994 (25)",Italy,33 | ||
Douglas Costa,Right Winger,"Sep 14, 1990 (29)",Brazil,11 | ||
Juan Cuadrado,Right Winger,"May 26, 1988 (31)",Colombia,16 | ||
Paulo Dybala,Second Striker,"Nov 15, 1993 (25)",Argentina,10 | ||
Gonzalo Higuaín,Centre-Forward,"Dec 10, 1987 (31)",Argentina,21 | ||
Mario Mandzukic,Centre-Forward,"May 21, 1986 (33)",Croatia,17 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,95 @@ | ||
# git-cliff ~ configuration file | ||
# https://git-cliff.org/docs/configuration | ||
|
||
[changelog] | ||
# changelog header | ||
header = """ | ||
# Changelog\n | ||
All notable changes to this project will be documented in this file. See [conventional commits](https://www.conventionalcommits.org/) for commit guidelines.\n | ||
""" | ||
# template for the changelog body | ||
# https://keats.github.io/tera/docs/#introduction | ||
body = """ | ||
--- | ||
{% if version %}\ | ||
{% if previous.version %}\ | ||
## [{{ version | trim_start_matches(pat="v") }}]($REPO/compare/{{ previous.version }}..{{ version }}) - {{ timestamp | date(format="%Y-%m-%d") }} | ||
{% else %}\ | ||
## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }} | ||
{% endif %}\ | ||
{% else %}\ | ||
## [unreleased] | ||
{% endif %}\ | ||
{% for group, commits in commits | group_by(attribute="group") %} | ||
### {{ group | striptags | trim | upper_first }} | ||
{% for commit in commits | ||
| filter(attribute="scope") | ||
| sort(attribute="scope") %} | ||
- **({{commit.scope}})**{% if commit.breaking %} [**breaking**]{% endif %} \ | ||
{{ commit.message|trim }} - ([{{ commit.id | truncate(length=7, end="") }}]($REPO/commit/{{ commit.id }})) - {{ commit.author.name }} | ||
{%- endfor -%} | ||
{% raw %}\n{% endraw %}\ | ||
{%- for commit in commits %} | ||
{%- if commit.scope -%} | ||
{% else -%} | ||
- {% if commit.breaking %} [**breaking**]{% endif %}\ | ||
{{ commit.message|trim }} - ([{{ commit.id | truncate(length=7, end="") }}]($REPO/commit/{{ commit.id }})) - {{ commit.author.name }} | ||
{% endif -%} | ||
{% endfor -%} | ||
{% endfor %}\n | ||
""" | ||
# template for the changelog footer | ||
footer = """ | ||
<!-- generated by git-cliff --> | ||
""" | ||
# remove the leading and trailing whitespace from the templates | ||
trim = true | ||
# postprocessors | ||
postprocessors = [ | ||
{ pattern = '\$REPO', replace = "https://github.com/tyrchen/geektime-rust-live-coding" }, # replace repository URL | ||
] | ||
|
||
[git] | ||
# parse the commits based on https://www.conventionalcommits.org | ||
conventional_commits = true | ||
# filter out the commits that are not conventional | ||
filter_unconventional = false | ||
# process each line of a commit as an individual commit | ||
split_commits = false | ||
# regex for preprocessing the commit messages | ||
commit_preprocessors = [ | ||
# { pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](https://github.com/orhun/git-cliff/issues/${2}))"}, # replace issue numbers | ||
] | ||
# regex for parsing and grouping commits | ||
commit_parsers = [ | ||
{ message = "\\[skip", skip = true }, | ||
{ message = "\\p{Han}", skip = true }, | ||
{ message = "^feat", group = "Features" }, | ||
{ message = "^fix", group = "Bug Fixes" }, | ||
{ message = "^doc", group = "Documentation" }, | ||
{ message = "^perf", group = "Performance" }, | ||
{ message = "^refactor", group = "Refactoring" }, | ||
{ message = "^style", group = "Style" }, | ||
{ message = "^revert", group = "Revert" }, | ||
{ message = "^test", group = "Tests" }, | ||
{ message = "^chore\\(version\\):", skip = true }, | ||
{ message = "^chore", group = "Miscellaneous Chores" }, | ||
{ message = ".*", group = "Other" }, | ||
{ body = ".*security", group = "Security" }, | ||
] | ||
# protect breaking changes from being skipped due to matching a skipping commit_parser | ||
protect_breaking_commits = false | ||
# filter out the commits that are not matched by commit parsers | ||
filter_commits = false | ||
# regex for matching git tags | ||
tag_pattern = "v[0-9].*" | ||
# regex for skipping tags | ||
skip_tags = "v0.1.0-beta.1" | ||
# regex for ignoring tags | ||
ignore_tags = "" | ||
# sort the tags topologically | ||
topo_order = false | ||
# sort the commits inside sections by oldest/newest order | ||
sort_commits = "oldest" | ||
# limit the number of commits included in the changelog. | ||
# limit_commits = 42 |
Oops, something went wrong.