Skip to content

Add release workflow, setup script, and repo onboarding docs - #3

Merged
cursor[bot] merged 5 commits into
mainfrom
codex/打包工作流
Jul 11, 2026

Hidden character warning

The head ref may contain hidden characters: "codex/\u6253\u5305\u5de5\u4f5c\u6d41"
Merged

Add release workflow, setup script, and repo onboarding docs#3
cursor[bot] merged 5 commits into
mainfrom
codex/打包工作流

Conversation

@Alpaca233114514

Copy link
Copy Markdown
Contributor

Summary

  • Add a GitHub Actions release pipeline that runs quality checks, builds web/mobile/desktop artifacts, validates release tags, and publishes GitHub Releases with checksums.
  • Add a Windows setup script and refresh the README with local onboarding, build commands, platform notes, and release/tag guidance.
  • Add VS Code/Cursor recommendations and update dependency lockfile entries from the current package resolution.
  • Remove the stale sqlite3 system-source hook from pubspec.yaml so the project follows the default dependency strategy.

Testing

  • Not run (not requested).
  • Workflow logic was added for CI validation paths, including analysis, tests, platform builds, artifact packaging, and release publication checks.

- Add GitHub Actions workflow for multi-platform builds and releases (Windows, macOS, Linux, Android, iOS, Web)
- Add PowerShell setup script for Windows development environment initialization
- Add VS Code configuration files for Dart/Flutter development
- Rewrite README with comprehensive quick start guide, platform notes, and release procedures
- Update dependencies (meta 1.17.0 → 1.18.0, test_api 0.7.10 → 0.7.11)
- Remove sqlite3 system source configuration from pubspec.yaml to use precompiled binary
Improve GitHub Actions release workflow: include workflow name in concurrency group and only cancel in-progress runs for pull_request events; skip full platform builds (android/windows/linux/macos/ios) during pull_request runs. Add robust tag verification using gh CLI to ensure a remote tag exists and resolves to the exact commit targeted by the workflow (fail if mismatched) before uploading release assets. Other edits: remove hardcoded dart.flutterSdkPath from .vscode settings, clarify Flutter SDK path and CI-fixed version in README, and adjust setup.ps1 log text for Drift code generation. These changes prevent accidental release-asset overwrites and make local SDK config guidance clearer.

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: cef296b8bb

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

run: flutter pub get

- name: Build Web release
run: flutter build web --release

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Disable the web build until web imports are conditional

This step now runs for every PR/main push, but the app still has unconditional dart:io imports on the web entry path (lib/app.dart imports LogProvider, whose file starts with import 'dart:io';; AppNavigation also imports BackupScreen -> BackupService with dart:io). Because the Dart web compiler rejects dart:io, flutter build web --release will fail before CI or release artifacts can complete unless those imports are made conditional or the web job is gated off.

Useful? React with 👍 / 👎.

Comment thread .github/workflows/release.yml Outdated
Comment on lines +125 to +126
if [[ "$tag_name" =~ -(alpha|beta|rc)([.-]|$) ]]; then
is_prerelease=true

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Mark every accepted prerelease tag as prerelease

The tag validation accepts any semver prerelease suffix, but this check only sets IS_PRERELEASE for alpha, beta, or rc. A tag such as v0.1.0-preview.1 or v0.1.0-dev.1 therefore passes validation and then publishes as a normal GitHub Release because --prerelease is omitted; either mark any hyphenated semver prerelease as prerelease or reject suffixes outside the intended set.

Useful? React with 👍 / 👎.

Merge main into the release-workflow branch, combine the trilingual README
with onboarding/CI docs, gate the web build behind ENABLE_WEB_BUILD until
unconditional dart:io imports are fixed, and treat any hyphenated semver
tag as a prerelease.

Co-authored-by: ALPACA LI <liyuanstudio273@gmail.com>
Existing prefer_interpolation / avoid_print / use_build_context_synchronously
infos were failing `flutter analyze` and blocking the new release workflow.

Co-authored-by: ALPACA LI <liyuanstudio273@gmail.com>
@cursor
cursor Bot merged commit 597c7d2 into main Jul 11, 2026
18 checks passed
@Alpaca233114514
Alpaca233114514 deleted the codex/打包工作流 branch July 11, 2026 07:04
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.

2 participants