Skip to content

chore: switch to shared ioplane-base image - #1

Open
dantte-lp wants to merge 29 commits into
mainfrom
chore/ioplane-base-containerfile
Open

chore: switch to shared ioplane-base image#1
dantte-lp wants to merge 29 commits into
mainfrom
chore/ioplane-base-containerfile

Conversation

@dantte-lp

Copy link
Copy Markdown
Member

Summary

  • Rewrite Containerfile as thin layer on localhost/ioplane-base:latest
  • Add iohttpparser and liboas as installed ioplane ecosystem libraries
  • Remove ~250 lines of duplicated base tooling
  • Update CLAUDE.md with base image reference

Test plan

  • Build base then project image
  • Verify all tools present

Add CODEOWNERS, dependabot config, issue templates (bug report,
feature request), and pull request template.
…codeql, trivy, sonarcloud)

Add GitHub Actions workflows for the full CI/CD pipeline:
- Release gate: build + quality pipeline on push/PR
- Coverage: lcov report + Codecov upload
- Release: tag-triggered build, asset packaging, GitHub release
- OpenSSF Scorecard: weekly security posture analysis
- CodeQL: semantic code analysis for C/C++
- Trivy: container image vulnerability scanning
- SonarCloud: code quality and security scanning
…iagtool, WORKDIR

Add missing development tools to the Containerfile:
- ccache 4.11.3 for build acceleration with compression defaults
- lcov 2.3 for code coverage reporting
- hyperfine 1.19.0 for benchmarking
- uftrace 0.19 for function-level profiling
- ftracer for lightweight tracing with GDB integration
- jq to base dnf install for JSON processing
- diagtool and clang-tidy helper scripts from LLVM distribution
- WORKDIR /workspace before CMD
…uild-release-assets, render-release-notes scripts
- Rewrite Containerfile as thin layer on localhost/ioplane-base:latest
- Add iohttpparser and liboas as installed ioplane ecosystem libraries
- Move yyjson before liboas (build dependency order)
- Remove duplicated base tooling (cmake, clang, gcc, gdb, valgrind, etc.)
- Update CLAUDE.md with base image build instructions

@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: 88a2572f9d

ℹ️ 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".

Comment thread .github/workflows/ci.yml
- uses: actions/checkout@v6

- name: Build dev image
run: docker build -t iohttp-dev:ci -f deploy/podman/Containerfile .

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 Build shared base image before CI container build

This workflow now runs docker build -f deploy/podman/Containerfile ., but that Containerfile starts from localhost/ioplane-base:latest; no prior step in the job creates or pulls that base image. On GitHub-hosted runners the tag is absent, so image build fails before any checks run (the same pattern is used in the new coverage/release/trivy workflows).

Useful? React with 👍 / 👎.

Comment thread scripts/run-coverage.sh Outdated
REPORT_DIR="${BUILD_DIR}/coverage"
PROFILE_DIR="${BUILD_DIR}/profiles"

cmake --preset clang-coverage

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 Use a defined CMake preset in coverage script

The script configures with cmake --preset clang-coverage, but the repository has no clang-coverage preset in CMakePresets.json. This exits immediately with “No such preset”, so scripts/run-coverage.sh cannot generate coverage output and the new coverage workflow cannot succeed.

Useful? React with 👍 / 👎.

Comment thread scripts/lint-docs.py
Comment on lines +31 to +32
if BOX_DRAWING_RE.search(text):
fail(f"{path}: contains box-drawing characters; use Mermaid for diagrams")

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 Don’t fail docs lint on existing box-drawing content

This check unconditionally fails when any box-drawing glyph is present, but current numbered docs already contain those characters (for example docs/en/01-architecture.md and docs/ru/01-architecture.md). Since scripts/quality.sh now runs this linter in step 3, the quality/release gate fails on unchanged documentation and blocks CI until all affected docs are rewritten.

Useful? React with 👍 / 👎.

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