Skip to content

Commit

Permalink
refactor(core): rewrite HydroRoll in rust (#91)
Browse files Browse the repository at this point in the history
* refactor(command): 重构命令路由

* feat(lua): 包装异步方法`self.event.reply` => `msg:echo`

* feat(lua): 包装异步输入流方法`self.event.ask` => `msg:ask`

* 'Refactored by Sourcery' (#83)

Co-authored-by: Sourcery AI <>

* feat(Token|Lexer): 添加`Token`与`Lexer`类

* refactor(Lexer): 词法分析器添加`advance`方法

* chore: lint code

* refactor: sync gensokyo adapter

* feat: Cli parser (#85)

* feat(cli): 添加`Cli`类,解析命令行参数

* fix: 修复错误的`dest`与`action`

* feat(cli): 实现`install_package` 与 `build_template`

* feat(cli): 实现`-c|--config`指令配置镜像常量等

* feat(cli): 使用高效率的异步网络库`aiohttp`

* fix(cli): `TYPE_CHECKING` with partially module `typing`

* refactor!: examples, tests, src... rewrite in rust

* chore(workflow): add changelog ci workflow

* fix(workflow): sync upload target branch

* chore(readme): update profile

* chore(readme): update profile x2

* chore(readme): fix wrong pronounce

* chore(readme): add top tile

* chore(readme): remove invalid uri

* chore(readme): update profile for new development

* chore(readme): rewrite with rst

* refactor!: rewrite HydrRoll in Rust

---------

Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
  • Loading branch information
HsiangNianian and sourcery-ai[bot] authored Feb 26, 2024
1 parent f5b87bb commit 4426854
Show file tree
Hide file tree
Showing 12 changed files with 663 additions and 29 deletions.
47 changes: 47 additions & 0 deletions .github/workflows/changelog.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: CHANGELOG

on:
push:
tags:
- "v*"
# - v[0-9]+.[0-9]+.[0-9]+
workflow_dispatch:

jobs:
deploy:
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
id-token: write
steps:
- name: Checkout Code
uses: actions/checkout@v4

- name: Update CHANGELOG
id: changelog
uses: requarks/changelog-action@v1
with:
token: ${{ github.token }}
tag: ${{ github.ref_name }}
includeInvalidCommits: true
changelogFilePath: CHANGELOG.md
writeToFile: true
useGitmojis: false

- name: Create Release
uses: ncipollo/release-action@v1.14.0
with:
allowUpdates: true
draft: false
makeLatest: true
name: ${{ github.ref_name }}
body: ${{ steps.changelog.outputs.changes }}
token: ${{ github.token }}

- name: Commit CHANGELOG.md
uses: stefanzweifel/git-auto-commit-action@v5
with:
branch: main
commit_message: 'docs: update CHANGELOG.md for ${{ github.ref_name }} [skip ci]'
file_pattern: CHANGELOG.md
146 changes: 117 additions & 29 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,29 +1,117 @@
name: Release

on:
push:
tags:
- "v*"
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest
env:
PDM_PUBLISH_PASSWORD: ${{ secrets.PYPI_PASSWORD }}
PDM_PUBLISH_USERNAME: ${{ secrets.PYPI_USERNAME }}
steps:
- uses: actions/checkout@v3

- name: Install pdm
run: pipx install pdm
shell: bash
- uses: actions/setup-python@v4
with:
python-version: "3.9"
architecture: "x64"
- run: pdm install
shell: bash

- run: pdm publish
shell: bash
# This file is autogenerated by maturin v1.4.0
# To update, run
#
# maturin generate-ci github
#
name: Release

on:
push:
branches:
- main
tags:
- 'v*'
pull_request:
workflow_dispatch:

permissions:
contents: read

jobs:
linux:
runs-on: ubuntu-latest
strategy:
matrix:
target: [x86_64, x86, aarch64, armv7, s390x, ppc64le]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
args: --release --out dist --find-interpreter
sccache: 'true'
manylinux: auto
- name: Upload wheels
uses: actions/upload-artifact@v3
with:
name: wheels
path: dist

windows:
runs-on: windows-latest
strategy:
matrix:
target: [x64, x86]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: '3.10'
architecture: ${{ matrix.target }}
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
args: --release --out dist --find-interpreter
sccache: 'true'
- name: Upload wheels
uses: actions/upload-artifact@v3
with:
name: wheels
path: dist

macos:
runs-on: macos-latest
strategy:
matrix:
target: [x86_64, aarch64]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Build wheels
uses: PyO3/maturin-action@v1
with:
target: ${{ matrix.target }}
args: --release --out dist --find-interpreter
sccache: 'true'
- name: Upload wheels
uses: actions/upload-artifact@v3
with:
name: wheels
path: dist

sdist:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Build sdist
uses: PyO3/maturin-action@v1
with:
command: sdist
args: --out dist
- name: Upload sdist
uses: actions/upload-artifact@v3
with:
name: wheels
path: dist

release:
name: Release
runs-on: ubuntu-latest
if: "startsWith(github.ref, 'refs/tags/')"
needs: [linux, windows, macos, sdist]
steps:
- uses: actions/download-artifact@v3
with:
name: wheels
- name: Publish to PyPI
uses: PyO3/maturin-action@v1
with:
command: upload
args: --non-interactive --skip-existing *
13 changes: 13 additions & 0 deletions .template/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
[package]
authors = ["{{authors}}"]
name = "{{project-name}}"
version = "0.1.0"
edition = "2021"

[lib]
name = "hydrorolldemo"
crate-type = ["cdylib"]

[dependencies]
pyo3 = { version = "{{PYO3_VERSION}}", features = ["extension-module"] }
rayon = "1.0.2"
4 changes: 4 additions & 0 deletions .template/pre-script.rhai
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
variable::set("PYO3_VERSION", "0.20.3");
file::rename(".template/Cargo.toml", "Cargo.toml");
file::rename(".template/pyproject.toml", "pyproject.toml");
file::delete(".template");
13 changes: 13 additions & 0 deletions .template/pyproject.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
[build-system]
requires = ["maturin>=1,<2"]
build-backend = "maturin"

[project]
name = "{{project-name}}"
version = "0.1.0"

[project.optional-dependencies]
dev = ["pytest"]

[tool.pytest.ini_options]
addopts = "--benchmark-disable"
Loading

0 comments on commit 4426854

Please sign in to comment.