fabricatio 0.3.14.dev8__tar.gz → 0.3.15.dev5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- fabricatio-0.3.15.dev5/.github/workflows/build-package.yaml +130 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/Cargo.lock +118 -163
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/Cargo.toml +1 -2
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/PKG-INFO +3 -1
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/README.md +1 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/examples/write_article/write_article.py +44 -8
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/pyproject.toml +2 -1
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/actions/article.py +115 -19
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/actions/output.py +21 -22
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/models/extra/article_base.py +99 -33
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/models/extra/article_essence.py +1 -4
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/models/extra/article_main.py +9 -5
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/models/extra/article_outline.py +1 -2
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/models/extra/article_proposal.py +1 -1
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/models/extra/rule.py +1 -2
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/models/generic.py +93 -1
- fabricatio-0.3.15.dev5/python/fabricatio/models/role.py +156 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/rust.pyi +13 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/src/config.rs +4 -14
- fabricatio-0.3.15.dev5/src/constants/Cargo.toml +10 -0
- fabricatio-0.3.15.dev5/src/constants/src/lib.rs +14 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/src/typst_tools.rs +25 -1
- fabricatio-0.3.15.dev5/templates/built-in/research_content_summary.hbs +17 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/uv.lock +230 -230
- fabricatio-0.3.14.dev8/.github/workflows/build-package.yaml +0 -97
- fabricatio-0.3.14.dev8/python/fabricatio/capabilities/persist.py +0 -103
- fabricatio-0.3.14.dev8/python/fabricatio/models/role.py +0 -99
- fabricatio-0.3.14.dev8/templates.tar.gz +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/.github/workflows/ruff.yaml +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/.github/workflows/tests.yaml +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/.gitignore +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/LICENSE +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/Makefile +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/build.rs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/examples/correct/correct.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/examples/correct/correct_loop.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/examples/extract_and_inject/.gitignore +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/examples/extract_and_inject/article_rag.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/examples/extract_and_inject/ask.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/examples/extract_and_inject/chunk_article.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/examples/extract_and_inject/extract_and_inject.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/examples/extract_article/extract.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/examples/llm_usages/llm_usage.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/examples/make_a_rating/rating.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/examples/make_diary/commits.json +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/examples/make_diary/diary.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/examples/minor/hello_fabricatio.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/examples/minor/write_a_poem.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/examples/propose_task/.gitignore +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/examples/propose_task/propose.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/examples/reviewer/censor.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/examples/reviewer/review.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/examples/rules/.gitignore +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/examples/rules/draft_ruleset.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/examples/search_bibtex/.gitignore +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/examples/search_bibtex/search.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/examples/simple_chat/chat.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/examples/simple_rag/simple_rag.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/examples/task_handle/handle_task.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/examples/write_article/.gitignore +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/examples/write_article/article_rag.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/examples/write_article/post_process.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/examples/write_outline/.gitignore +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/examples/write_outline/write_outline.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/examples/write_outline/write_outline_corrected.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/proto/tei.proto +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/__init__.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/actions/__init__.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/actions/article_rag.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/actions/fs.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/actions/rag.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/actions/rules.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/capabilities/__init__.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/capabilities/advanced_judge.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/capabilities/advanced_rag.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/capabilities/censor.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/capabilities/check.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/capabilities/correct.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/capabilities/extract.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/capabilities/propose.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/capabilities/rag.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/capabilities/rating.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/capabilities/review.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/capabilities/task.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/decorators.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/emitter.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/fs/__init__.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/fs/curd.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/fs/readers.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/journal.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/models/action.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/models/adv_kwargs_types.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/models/extra/__init__.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/models/extra/advanced_judge.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/models/extra/aricle_rag.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/models/extra/patches.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/models/extra/problem.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/models/extra/rag.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/models/kwargs_types.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/models/task.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/models/tool.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/models/usages.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/parser.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/py.typed +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/toolboxes/__init__.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/toolboxes/arithmetic.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/toolboxes/fs.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/utils.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/workflows/__init__.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/workflows/articles.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/python/fabricatio/workflows/rag.py +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/src/bib_tools.rs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/src/event.rs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/src/hash.rs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/src/hbs_helpers.rs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/src/language.rs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/src/lib.rs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/src/macro_utils/Cargo.toml +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/src/macro_utils/src/lib.rs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/src/tei_client.rs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/src/templates.rs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/src/typst_conversion/Cargo.toml +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/src/typst_conversion/src/lib.rs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/src/word_split.rs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/as_prompt.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/binary-exploitation-ctf-solver.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/chap_summary.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/check_string.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/claude-xml.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/clean-up-code.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/co_validation.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/create_json_obj.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/cryptography-ctf-solver.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/dependencies.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/document-the-code.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/draft_rating_criteria.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/draft_rating_manual.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/draft_rating_weights_klee.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/draft_tool_usage_code.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/extract.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/extract_criteria_from_reasons.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/extract_reasons_from_examples.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/find-security-vulnerabilities.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/fix-bugs.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/fix_troubled_obj.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/fix_troubled_string.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/generic_string.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/improve-performance.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/liststr.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/make_choice.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/make_judgment.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/pathstr.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/rate_fine_grind.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/refactor.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/refined_query.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/retrieved_display.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/reverse-engineering-ctf-solver.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/review_string.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/rule_requirement.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/ruleset_requirement_breakdown.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/task_briefing.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/web-ctf-solver.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/write-git-commit.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/write-github-pull-request.hbs +0 -0
- {fabricatio-0.3.14.dev8 → fabricatio-0.3.15.dev5}/templates/built-in/write-github-readme.hbs +0 -0
@@ -0,0 +1,130 @@
|
|
1
|
+
name: Build and Release
|
2
|
+
|
3
|
+
on:
|
4
|
+
push:
|
5
|
+
branches:
|
6
|
+
- master
|
7
|
+
pull_request:
|
8
|
+
branches:
|
9
|
+
- master
|
10
|
+
|
11
|
+
jobs:
|
12
|
+
determine_changes:
|
13
|
+
name: Determine Release Necessity & Version Details
|
14
|
+
runs-on: ubuntu-latest
|
15
|
+
outputs:
|
16
|
+
version_changed: ${{ steps.check_version_change.outputs.VERSION_CHANGED }}
|
17
|
+
current_version: ${{ steps.get_version.outputs.CURRENT_VERSION }}
|
18
|
+
is_prerelease: ${{ steps.check_prerelease.outputs.IS_PRERELEASE }}
|
19
|
+
steps:
|
20
|
+
- name: Checkout repository
|
21
|
+
uses: actions/checkout@v4
|
22
|
+
- name: Get current version from pyproject.toml
|
23
|
+
id: get_version
|
24
|
+
run: |
|
25
|
+
CURRENT_VERSION_RAW=$(grep '^version' pyproject.toml | cut -d '"' -f 2)
|
26
|
+
echo "CURRENT_VERSION=v$CURRENT_VERSION_RAW" >> $GITHUB_OUTPUT
|
27
|
+
shell: bash
|
28
|
+
- name: Get latest git tag
|
29
|
+
uses: JinoArch/get-latest-tag@latest
|
30
|
+
id: tag
|
31
|
+
- name: Check if version has changed against latest tag
|
32
|
+
id: check_version_change
|
33
|
+
run: |
|
34
|
+
LATEST_TAG=${{ steps.tag.outputs.latestTag }}
|
35
|
+
VERSION_FROM_PYPROJECT=${{ steps.get_version.outputs.CURRENT_VERSION }}
|
36
|
+
echo "Latest git tag is $LATEST_TAG"
|
37
|
+
echo "Current version (from pyproject.toml, prefixed with 'v') is $VERSION_FROM_PYPROJECT"
|
38
|
+
if [ "$LATEST_TAG" != "$VERSION_FROM_PYPROJECT" ]; then
|
39
|
+
echo "VERSION_CHANGED=true" >> $GITHUB_OUTPUT
|
40
|
+
else
|
41
|
+
echo "VERSION_CHANGED=false" >> $GITHUB_OUTPUT
|
42
|
+
fi
|
43
|
+
shell: bash
|
44
|
+
- name: Check if current version is a prerelease
|
45
|
+
id: check_prerelease
|
46
|
+
run: |
|
47
|
+
VERSION_FROM_PYPROJECT=${{ steps.get_version.outputs.CURRENT_VERSION }}
|
48
|
+
if [[ "$VERSION_FROM_PYPROJECT" == *"-"* ]]; then # e.g., v1.0.0-alpha
|
49
|
+
echo "IS_PRERELEASE=true" >> $GITHUB_OUTPUT
|
50
|
+
else
|
51
|
+
echo "IS_PRERELEASE=false" >> $GITHUB_OUTPUT
|
52
|
+
fi
|
53
|
+
shell: bash
|
54
|
+
|
55
|
+
|
56
|
+
create-release:
|
57
|
+
if: needs.determine_changes.outputs.version_changed == 'true'
|
58
|
+
name: Create Release
|
59
|
+
needs: determine_changes
|
60
|
+
runs-on: ubuntu-latest
|
61
|
+
steps:
|
62
|
+
- name: Checkout repository
|
63
|
+
uses: actions/checkout@v4
|
64
|
+
- name: Packing templates
|
65
|
+
run: |
|
66
|
+
tar -czf templates.tar.gz templates
|
67
|
+
- name: Create Release and upload assets
|
68
|
+
id: create_release
|
69
|
+
uses: softprops/action-gh-release@v2
|
70
|
+
with:
|
71
|
+
tag_name: ${{ needs.determine_changes.outputs.current_version }}
|
72
|
+
name: ${{ needs.determine_changes.outputs.current_version }}
|
73
|
+
files: |
|
74
|
+
templates.tar.gz
|
75
|
+
prerelease: ${{ needs.determine_changes.outputs.is_prerelease }}
|
76
|
+
generate_release_notes: true
|
77
|
+
env:
|
78
|
+
GITHUB_TOKEN: ${{ secrets.PAT }}
|
79
|
+
|
80
|
+
|
81
|
+
|
82
|
+
check-and-release:
|
83
|
+
name: Build, Package, and Release
|
84
|
+
needs:
|
85
|
+
- create-release
|
86
|
+
- determine_changes
|
87
|
+
runs-on: ${{ matrix.os }}
|
88
|
+
strategy:
|
89
|
+
matrix:
|
90
|
+
os: [ windows-latest, ubuntu-latest ]
|
91
|
+
python-version: [ "3.12", "3.13" ]
|
92
|
+
steps:
|
93
|
+
- name: Checkout repository
|
94
|
+
uses: actions/checkout@v4
|
95
|
+
|
96
|
+
- name: Install the latest version of uv
|
97
|
+
uses: astral-sh/setup-uv@v6.0.1
|
98
|
+
with:
|
99
|
+
version: "latest"
|
100
|
+
- name: Install nightly rust
|
101
|
+
run: |
|
102
|
+
rustup default nightly
|
103
|
+
- name: Install Protoc
|
104
|
+
uses: arduino/setup-protoc@v3
|
105
|
+
|
106
|
+
- name: Install deps
|
107
|
+
run: |
|
108
|
+
uv sync --no-install-project --all-extras --index https://pypi.org/simple -p ${{ matrix.python-version }}
|
109
|
+
|
110
|
+
- name: Build
|
111
|
+
run: |
|
112
|
+
make PY=${{ matrix.python-version }}
|
113
|
+
|
114
|
+
- name: Upload assets
|
115
|
+
uses: softprops/action-gh-release@v2
|
116
|
+
with:
|
117
|
+
tag_name: ${{ needs.determine_changes.outputs.current_version }}
|
118
|
+
files: |
|
119
|
+
dist/*.whl
|
120
|
+
env:
|
121
|
+
GITHUB_TOKEN: ${{ secrets.PAT }}
|
122
|
+
|
123
|
+
- name: Upload to PyPI
|
124
|
+
if: needs.determine_changes.outputs.version_changed == 'true'
|
125
|
+
run: |
|
126
|
+
make publish PY=${{ matrix.python-version }}
|
127
|
+
env:
|
128
|
+
MATURIN_USERNAME: __token__
|
129
|
+
MATURIN_PASSWORD: ${{ secrets.PYPI_TOKEN }}
|
130
|
+
|