Skip to content

Prepare managed runtime and test package builds - #45

Merged
mleem97 merged 31 commits into
mainfrom
feat/jenkins-ci-cd
Nov 7, 2026
Merged

mleem97 merged 31 commits into
mainfrom
feat/jenkins-ci-cd

Conversation

@mleem97

@mleem97 mleem97 commented Nov 7, 2026 •

Copy link
Copy Markdown
Owner

Summary

Rust workspace
├── managed runtime, workspace, reporting and UI changes
├── Windows and Linux installers and in-app update checks
└── Jenkins quality checks and opt-in test package builds

This branch also contains the earlier development changes shown in the diff against main. Release publication is blocked while the Alpine APK remains incompatible.

Evidence

  • Before: The release pipeline could not archive test packages from feature branches.
    After: BUILD_TEST_PACKAGES archives them without publishing a release; Jenkinsfile Groovy syntax and package checksums pass locally.
  • Linux release build, format, Clippy and workspace tests passed locally; one optional .NET SDK test was skipped.
  • Windows installers were built and exercised under Wine; Ubuntu 24.04 DEB installation and UI startup were checked in a container.
  • Native Windows, RPM/Arch installation, Steam/game integration, and the Jenkins pipeline have not been verified end to end.

Merge Danger

Door: Two-way

Blast Radius: Broad

This branch includes substantial changes relative to main, including managed runtime, UI, CI, packaging and update behavior. The Alpine package is known not to run; do not publish a release until it is fixed and all target-platform checks are complete.

GitHub Actions builds Linux and Windows test artifacts for this PR while Jenkins is inactive; it does not publish a release. The guarded GitHub dev-to-staging promotion and its tests are retained from main.

The feature branch also integrates PR #44 (zip 9 and rustls) and PR #43 (promotion gate fixes); additional ZIP entry-name handling covers the feature branch.

mleem97 and others added 26 commits October 15, 2026 15:49
- Add `coverage` job to .forgejo/.gitea/workflows/rust.yml: generates a
  workspace-wide LCOV report via cargo-tarpaulin and uploads it to Codacy
  using the Codacy Coverage Reporter (get.sh) on push/PR.
- Mirror workflows to .gitea/workflows/ (byte-identical, parity job).
- Add build/scripts/linux/coverage-codacy.sh for local coverage generation
  and upload (matches CI job; supports --partial/--final, --force-language).
- Document in TOOLS.md, CHANGELOG.md, EXTERNAL_DEPENDENCIES.md.
…unch

After starting the game the modmanager became unusable because there was
no way to stop the game from the UI. stop_game() kills running Data Center
processes and reconnects Steamworks; the Stop button replaces the Start
buttons while a game is running; game-running state is set on launch and
cleared on stop.

- stop_game(): kills game processes, restores parked Mods folder,
  reconnects Steamworks, sets game-running false
- start_game(): sets game-running=true via set_game_ui on successful launch
- UI: Stop button appears when game-running, Start/With Mods buttons hidden
- Bump version to 1.7.5
- new central Report tab (category, description, category-specific
  fields, generated sanitized Markdown preview) via page-report.slint
- new greg-core::report domain: categories, validation, redaction,
  truncation, Markdown generation with unit tests
- actions/state/main wiring: report_open, report_generate, report_cancel
  and nav entry; end-to-end flow test

Phase-2 foundation of the Universal Report Assistant; GitHub submission,
identities and KI providers follow in later phases.
Add bash scripts covering recurring local contributor workflows:
- scripts/check.sh: quality gate (rustfmt + clippy -D warnings + tests, all crates)
- scripts/build.sh: dev/debug build (all crates)
- scripts/run-app.sh: build app from source and start (debug, incl. Steam lib setup)
- scripts/run-cli.sh: run headless CLI from source
- scripts/build-release.sh: release build + package (host, --target/--out pass-through)
- scripts/build-windows.sh: cross-build Windows x64 via xtask dist --target x86_64-pc-windows-gnu
- scripts/build-linux.sh: release build for Linux host
- scripts/build-macos.sh: release build for macOS host (Apple SDK required)

Add AUDIT_LOCAL_DEV_WORKFLOWS.md inventorying recurring local dev
activities (quality gate, dev build, app build+start, CLI, release builds for
Windows/Linux/macOS) and crate coverage. Update scripts/README.md and CHANGELOG.
…csharp tooling

- Devcontainer, release workflows, docs and build scripts aligned to the
  Rust (Slint + cargo + xtask) workspace after the full-Rust migration.
- Remove obsolete .NET/Avalonia build scripts (builder menus, PowerShell
  build helpers, Avalonia package scripts, apt/local-test/Linux-package
  scripts) that referenced projects outside the Rust workspace.
- Reduce quality gates (scripts/greg-gates.sh) to the Rust toolchain path
  and switch version consistency to VERSION vs workspace Cargo.toml.
- Switch Codacy language/tool configuration from C# to Rust.
- Align Windows installer signing and Inno Setup documentation with the
  current Rust-era scripts.
- Refresh changelog under [Unreleased].
…rt flow

- add versioned shared report schema (schema version, report id, created
  timestamp, source product, transmission mode, submission state, issue ref)
- add typed transmission modes (user_direct / operator_service / local_export)
  and submission lifecycle (draft / in_progress / submitted / failed / cancelled)
- auto-collect environment context (OS + app version) for new report drafts
- add sanitized local Markdown export via user-chosen save location
- surface submission state, attachment intake and submission confirmation in
  the Report tab; local export writes sanitized issue body to disk
- keep direct/operator submission unclaimed until backend intake is deployed

Refs: AUDIT_REPORT_ASSISTANT_PLAN.md, AUDIT_OPEN_QUESTIONS.md
- add GitHub Issues API delivery path (env-gated token + target repo):
  GREG_GITHUB_TOKEN, GREG_GITHUB_ISSUE_TARGET_REPO, GREG_GITHUB_API_URL
- deliver confirmed reports as GitHub issues via POST /repos/{repo}/issues
  using the sanitized Markdown body; result surfaced via new UiEvent
- keep local export delivery as fallback when GitHub credentials are unset
- add committed .env.example documenting GREG_* configuration for builds
  and CI (secrets stay out of git)

Refs: AUDIT_REPORT_ASSISTANT_PLAN.md, AUDIT_OPEN_QUESTIONS.md
chore: repo cleanup
Add declarative Jenkins pipeline with OS matrix (linux, windows, macos)
covering Checkout, Rust-Toolchain, Format, Clippy, Test and Build stages,
plus Jenkins CI documentation and external dependency inventory entry.

Release automation stays with the existing Forgejo/Gitea workflows
(build-and-release, rust, promote, linux-packages).
Bumps the cargo group with 2 updates in the / directory: [zip](https://github.com/zip-rs/zip2) and [rustls](https://github.com/rustls/rustls).


Updates `zip` from 2.4.2 to 9.0.5
- [Release notes](https://github.com/zip-rs/zip2/releases)
- [Changelog](https://github.com/zip-rs/zip2/blob/master/CHANGELOG.md)
- [Commits](zip-rs/zip2@v2.4.2...v9.0.5)

Updates `rustls` from 0.23.45 to 0.23.46
- [Release notes](https://github.com/rustls/rustls/releases)
- [Changelog](https://github.com/rustls/rustls/blob/main/CHANGELOG.md)
- [Commits](rustls/rustls@v/0.23.45...v/0.23.46)

---
updated-dependencies:
- dependency-name: zip
  dependency-version: 9.0.5
  dependency-type: direct:production
  dependency-group: cargo
- dependency-name: rustls
  dependency-version: 0.23.46
  dependency-type: indirect
  dependency-group: cargo
...

Signed-off-by: dependabot[bot] <support@github.com>
@codacy-production

Copy link
Copy Markdown
Contributor

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@mleem97
mleem97 marked this pull request as ready for review November 7, 2026 13:17
@mleem97
mleem97 merged commit e5956c5 into main Nov 7, 2026
4 checks passed
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 7, 2026 •

Copy link
Copy Markdown
Codex Review Summary: ✅ Completed

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
🔒 Security Review ✅ Completed 2026-11-07T13:19:02.930249Z 385080a Draft marked ready
ℹ️ 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" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@mleem97
mleem97 deleted the feat/jenkins-ci-cd branch November 7, 2026 13:18
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.

1 participant