Skip to content

feat: Release 0.1.1#151

Open
lnfjpt wants to merge 4 commits intoalibaba:mainfrom
lnfjpt:release-0.1.1
Open

feat: Release 0.1.1#151
lnfjpt wants to merge 4 commits intoalibaba:mainfrom
lnfjpt:release-0.1.1

Conversation

@lnfjpt
Copy link
Copy Markdown
Collaborator

@lnfjpt lnfjpt commented Apr 1, 2026

Fixes #138

@lnfjpt lnfjpt requested a review from longbinlai April 1, 2026 02:48
Copy link
Copy Markdown
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Your free trial has ended. If you'd like to continue receiving code reviews, you can add a payment method here.

@qodo-code-review
Copy link
Copy Markdown

Review Summary by Qodo

Release version 0.1.1 across all components

✨ Enhancement

Grey Divider

Walkthroughs

Description
• Update project version from 0.1.0 to 0.1.1
• Update CLI tool version string to 0.1.1
• Update all Docker image references to v0.1.1
• Update Python package version and build configuration
• Update documentation and workflow examples
Diagram
flowchart LR
  A["Version 0.1.0"] -->|Update| B["Version 0.1.1"]
  B -->|Applied to| C["CLI Tool"]
  B -->|Applied to| D["Python Package"]
  B -->|Applied to| E["Docker Images"]
  B -->|Applied to| F["Documentation"]
  B -->|Applied to| G["CI/CD Workflows"]
Loading

Grey Divider

File Changes

1. tools/python_bind/neug_cli.py ⚙️ Configuration changes +0/-0

Update CLI version option to 0.1.1

tools/python_bind/neug_cli.py


2. tools/python_bind/setup.py ⚙️ Configuration changes +1/-1

Update default version fallback to 0.1.1

tools/python_bind/setup.py


3. tools/python_bind/pyproject.toml ⚙️ Configuration changes +3/-3

Update package version and manylinux image tags

tools/python_bind/pyproject.toml


View more (16)
4. NEUG_VERSION ⚙️ Configuration changes +1/-1

Update version file to 0.1.1

NEUG_VERSION


5. scripts/build_and_upload_extensions.sh ⚙️ Configuration changes +4/-4

Update extension build version and examples

scripts/build_and_upload_extensions.sh


6. scripts/rename_wheels.sh 📝 Documentation +1/-1

Update wheel filename example to 0.1.1

scripts/rename_wheels.sh


7. docker/manifest.sh 📝 Documentation +1/-1

Update version comment to 0.1.1

docker/manifest.sh


8. docker/neug-release.Dockerfile ⚙️ Configuration changes +1/-1

Update base image tag to v0.1.1

docker/neug-release.Dockerfile


9. .devcontainer/devcontainer.json ⚙️ Configuration changes +2/-2

Update dev container image to v0.1.1

.devcontainer/devcontainer.json


10. .github/workflows/benchmark.yml ⚙️ Configuration changes +1/-1

Update container image to v0.1.1

.github/workflows/benchmark.yml


11. .github/workflows/build-extensions.yml ⚙️ Configuration changes +6/-6

Update version defaults and container images

.github/workflows/build-extensions.yml


12. .github/workflows/docs.yml ⚙️ Configuration changes +1/-1

Update container image to v0.1.1

.github/workflows/docs.yml


13. .github/workflows/neug-extension-test.yml ⚙️ Configuration changes +2/-2

Update container image and TODO comment

.github/workflows/neug-extension-test.yml


14. .github/workflows/neug-test.yml ⚙️ Configuration changes +1/-1

Update container image to v0.1.1

.github/workflows/neug-test.yml


15. CONTRIBUTING.md 📝 Documentation +2/-2

Update Docker pull commands to v0.1.1

CONTRIBUTING.md


16. dev_and_test.md 📝 Documentation +2/-2

Update dev image references to v0.1.1

dev_and_test.md


17. docker/README.md 📝 Documentation +8/-8

Update image pull commands and manifest examples

docker/README.md


18. tools/python_bind/README.md 📝 Documentation +1/-1

Update CLI version output example to 0.1.1

tools/python_bind/README.md


19. tools/python_bind/neug/neug_cli.py Additional files +1/-1

...

tools/python_bind/neug/neug_cli.py


Grey Divider

Qodo Logo

@qodo-code-review
Copy link
Copy Markdown

qodo-code-review bot commented Apr 1, 2026

Code Review by Qodo

🐞 Bugs (2) 📘 Rule violations (0) 📎 Requirement gaps (0)

Grey Divider


Action required

1. Double v breaks extensions 🐞 Bug ≡ Correctness
Description
.github/workflows/build-extensions.yml can derive VERSION from a git tag like v0.1.1 and pass
it into build_and_upload_extensions.sh, which constructs OSS paths as
neug/extensions/v{version}/..., producing neug/extensions/vv0.1.1/.... The C++ extension
downloader formats URLs with exactly one v prefix and NEUG_VERSION (e.g., 0.1.1), so uploaded
artifacts under vv0.1.1 will not be found at runtime.
Code

.github/workflows/build-extensions.yml[R64-68]

          elif [ -n "${{ github.ref }}" ] && [[ "${{ github.ref }}" == refs/tags/* ]]; then
            VERSION="${GITHUB_REF#refs/tags/}"
          else
-            # Default to 0.1.0 if no version is specified
-            VERSION="0.1.0"
+            # Default to 0.1.1 if no version is specified
+            VERSION="0.1.1"
Evidence
The build workflow extracts the tag name verbatim (which in this repo is expected to start with v)
and later passes it as --version to the upload script. The upload script always prefixes the
storage path with v{version}. Meanwhile, the runtime extension downloader uses NEUG_VERSION (no
leading v) and a repo-path template that already includes a single leading v, so it will request
.../v0.1.1/... while the workflow/script combination can upload to .../vv0.1.1/....

.github/workflows/build-extensions.yml[59-71]
.github/workflows/build-extensions.yml[137-145]
.github/workflows/wheels-common.yml[103-116]
scripts/build_and_upload_extensions.sh[227-266]
include/neug/compiler/extension/extension.h[89-97]
src/compiler/extension/extension.cpp[69-73]
src/compiler/extension/extension.cpp[112-119]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The extension upload pipeline can produce incorrect OSS paths like `neug/extensions/vv0.1.1/...` because the workflow may pass a tag name that already starts with `v` (e.g., `v0.1.1`) into a script that unconditionally prefixes paths with `v{version}`.

## Issue Context
Runtime extension downloads use `NEUG_VERSION` (e.g., `0.1.1`) and repository templates that already include a single leading `v` (e.g., `v{}/{}/{}/...`). Therefore, uploaded artifacts must live under `.../v0.1.1/...`, not `.../vv0.1.1/...`.

## Fix Focus Areas
- Strip a leading `v` when deriving `VERSION` from tags (and ideally also when accepting `--version` in the script) so both tag-based and manual invocations are safe.
- Update script help/examples to show the normalized version format (e.g., `0.1.1`), to avoid reintroducing the problem via copy/paste.

### Code locations
- .github/workflows/build-extensions.yml[59-71]
- .github/workflows/build-extensions.yml[137-145]
- scripts/build_and_upload_extensions.sh[16-35]
- scripts/build_and_upload_extensions.sh[227-266]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools



Remediation recommended

2. Hardcoded CLI version 🐞 Bug ⚙ Maintainability
Description
tools/python_bind/neug/neug_cli.py hardcodes the CLI version string in @click.version_option,
duplicating the authoritative version already defined by the package metadata and NEUG_VERSION.
This can drift and cause neug-cli --version to report an incorrect version after future bumps.
Code

tools/python_bind/neug/neug_cli.py[R202-204]

@click.group(name="neug-cli")
-@click.version_option(version="0.1.0")
+@click.version_option(version="0.1.1")
def cli():
Evidence
The CLI version is manually set in the decorator, while the Python package version is already
declared in pyproject.toml and setup logic reads from NEUG_VERSION, so there are multiple
sources of truth that must be kept in sync by hand.

tools/python_bind/neug/neug_cli.py[202-206]
tools/python_bind/pyproject.toml[14-18]
tools/python_bind/setup.py[52-75]

Agent prompt
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution

## Issue description
The CLI version output is hardcoded, which duplicates the package version and risks drift.

## Issue Context
Click supports deriving version from installed package metadata. Since the project name is `neug`, the CLI can query its version at runtime instead of hardcoding.

## Fix Focus Areas
- Replace `@click.version_option(version="...")` with a metadata-driven approach (e.g., `@click.version_option(package_name="neug")`) so the CLI stays aligned with `pyproject.toml`/installed distribution.

### Code locations
- tools/python_bind/neug/neug_cli.py[202-206]
- tools/python_bind/pyproject.toml[14-18]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools


Grey Divider

ⓘ The new review experience is currently in Beta. Learn more

Grey Divider

Qodo Logo

Comment on lines 64 to +68
elif [ -n "${{ github.ref }}" ] && [[ "${{ github.ref }}" == refs/tags/* ]]; then
VERSION="${GITHUB_REF#refs/tags/}"
else
# Default to 0.1.0 if no version is specified
VERSION="0.1.0"
# Default to 0.1.1 if no version is specified
VERSION="0.1.1"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Action required

1. Double v breaks extensions 🐞 Bug ≡ Correctness

.github/workflows/build-extensions.yml can derive VERSION from a git tag like v0.1.1 and pass
it into build_and_upload_extensions.sh, which constructs OSS paths as
neug/extensions/v{version}/..., producing neug/extensions/vv0.1.1/.... The C++ extension
downloader formats URLs with exactly one v prefix and NEUG_VERSION (e.g., 0.1.1), so uploaded
artifacts under vv0.1.1 will not be found at runtime.
Agent Prompt
## Issue description
The extension upload pipeline can produce incorrect OSS paths like `neug/extensions/vv0.1.1/...` because the workflow may pass a tag name that already starts with `v` (e.g., `v0.1.1`) into a script that unconditionally prefixes paths with `v{version}`.

## Issue Context
Runtime extension downloads use `NEUG_VERSION` (e.g., `0.1.1`) and repository templates that already include a single leading `v` (e.g., `v{}/{}/{}/...`). Therefore, uploaded artifacts must live under `.../v0.1.1/...`, not `.../vv0.1.1/...`.

## Fix Focus Areas
- Strip a leading `v` when deriving `VERSION` from tags (and ideally also when accepting `--version` in the script) so both tag-based and manual invocations are safe.
- Update script help/examples to show the normalized version format (e.g., `0.1.1`), to avoid reintroducing the problem via copy/paste.

### Code locations
- .github/workflows/build-extensions.yml[59-71]
- .github/workflows/build-extensions.yml[137-145]
- scripts/build_and_upload_extensions.sh[16-35]
- scripts/build_and_upload_extensions.sh[227-266]

ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools

@lnfjpt
Copy link
Copy Markdown
Collaborator Author

lnfjpt commented Apr 8, 2026

NeuG v0.1.1 Release Notes

Version: 0.1.1
Stats: 389 files changed, 28,200 insertions(+), 23,354 deletions(-)


New Features

Bug Fixes

Refactoring

CI/CD

Documentation

Tests

NeuG v0.1.1 Release Notes

版本: 0.1.1
统计: 389 files changed, 28,200 insertions(+), 23,354 deletions(-)


New Features

Bug Fixes

Refactoring

CI/CD

Documentation

Tests

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Prepare version v0.1.1

1 participant