Skip to content

[WIP] Install OpenSSL and pkg-config dependencies in Linux CI workflow#93

Open
HsiangNianian wants to merge 11 commits intomainfrom
dev
Open

[WIP] Install OpenSSL and pkg-config dependencies in Linux CI workflow#93
HsiangNianian wants to merge 11 commits intomainfrom
dev

Conversation

@HsiangNianian
Copy link
Member

@HsiangNianian HsiangNianian commented Feb 10, 2026

Summary by Sourcery

Update CI workflow to ensure required system dependencies are installed for Linux and musl-based builds.

CI:

  • Install OpenSSL development package in the CI workflow for Linux runners.
  • Install pkg-config alongside musl tools for musl-target builds.
  • Adjust the musl Linux matrix entry to keep target args aligned with musl tool installation.

HsiangNianian and others added 4 commits February 10, 2026 13:28
Co-authored-by: NtskwK <natsukawa247@outlook.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Added installation of pkg-config and libssl-dev for musl target.
Removed installation of Musl tools for musl target and added installation of OpenSSL dev package.
Added installation steps for Musl tools in CI workflow.
Copilot AI review requested due to automatic review settings February 10, 2026 05:59
@vercel
Copy link

vercel bot commented Feb 10, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
drop-out-docs Ready Ready Preview, Comment Feb 15, 2026 8:38am

@sourcery-ai
Copy link
Contributor

sourcery-ai bot commented Feb 10, 2026

Reviewer's guide (collapsed on small PRs)

Reviewer's Guide

Adds a new multilingual documentation site (English and Chinese) using Fumadocs/React Router, updates top-level project docs for i18n and contribution info, and adjusts the semifold CI workflow to ensure required OpenSSL and musl tooling is installed for Linux builds.

File-Level Changes

Change Details Files
Improve Linux build reliability in the semifold CI workflow by ensuring OpenSSL dev libraries and musl-related tools are explicitly installed.
  • Reordered Linux musl matrix configuration to keep musl target args associated with the musl job configuration.
  • Added a dedicated step to install libssl-dev via apt-get before other steps run.
  • Expanded the Linux dependency installation step to include libssl-dev and other GUI-related libraries.
  • Updated the musl tools installation step to also install musl-dev and pkg-config.
.github/workflows/semifold-ci.yaml
Introduce a Fumadocs-based multilingual documentation app with English and Chinese content and i18n-aware routing/layout.
  • Added a new docs package configured with Fumadocs and React Router for the documentation site.
  • Implemented i18n-aware home/docs routes, shared layout, localized navigation, and error handling for the docs app.
  • Created English and Chinese documentation content covering getting started, features, architecture, development, troubleshooting, and feature-specific guides (auth, Java management, mod loaders).
  • Documented the docs package structure, development workflow, and i18n strategy in a new docs README.
docs/README.md
docs/** (routes, layout components, and content files)
Update top-level project documentation for multilingual support and contributor guidance.
  • Updated the main README with language-switch links, roadmap URL, contribution note, and license placement cleanup.
  • Added a Chinese README providing a localized project overview and usage instructions.
README.md
README.zh-CN.md

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@github-actions
Copy link
Contributor

github-actions bot commented Feb 10, 2026

Workspace change through: d4cf233

0 changesets found

Planned changes to release
Package Bump Level Current Version Next Version

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates the Semifold CI workflow configuration (likely as part of a branch sync) by adjusting build-matrix entries and Linux package installation steps.

Changes:

  • Reorders the musl matrix entry fields (moves args below install-musl).
  • Adds an OpenSSL dev package install step and tweaks musl tooling installation (adds pkg-config).
  • Minor whitespace adjustments in the workflow.

Comment on lines 76 to +77
sudo apt-get install -y musl-tools musl-dev

sudo apt-get install pkg-config
Copy link

Copilot AI Feb 10, 2026

Choose a reason for hiding this comment

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

sudo apt-get install pkg-config is missing -y, which can cause the workflow to prompt for confirmation and hang in CI. Use the non-interactive flag (and ideally install it in the same apt invocation as the other packages).

Copilot uses AI. Check for mistakes.
Copy link
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

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

Hey - I've found 2 issues, and left some high level feedback:

  • The new 'Install OpenSSL dev package' step will run on all matrix platforms; consider adding an if: runner.os == 'Linux' guard (or similar) so apt-get isn’t invoked on non-Linux runners.
  • You now install libssl-dev both in the dedicated OpenSSL step and again in the 'Install Dependencies (Linux x86_64)' step; consolidating this into one place will simplify the workflow and avoid redundant package installs.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The new 'Install OpenSSL dev package' step will run on all matrix platforms; consider adding an `if: runner.os == 'Linux'` guard (or similar) so `apt-get` isn’t invoked on non-Linux runners.
- You now install `libssl-dev` both in the dedicated OpenSSL step and again in the 'Install Dependencies (Linux x86_64)' step; consolidating this into one place will simplify the workflow and avoid redundant package installs.

## Individual Comments

### Comment 1
<location> `.github/workflows/semifold-ci.yaml:64-65` </location>
<code_context>
     runs-on: ${{ matrix.platform }}
     steps:
       - uses: actions/checkout@v6
+      - name: Install OpenSSL dev package
+        run: sudo apt-get update && sudo apt-get install -y libssl-dev

       - name: Install Dependencies (Linux x86_64)
</code_context>

<issue_to_address>
**issue (bug_risk):** Running apt-get unconditionally in this step will fail on non-Linux runners and duplicates the Linux dependency install logic.

This step runs on all matrix platforms but assumes a Debian-based system with `apt-get`, so it will fail on macOS/Windows (and non-apt Linux images). It also duplicates the `libssl-dev` install already covered in the Linux dependencies step. Please either gate this with `if: runner.os == 'Linux'` and merge it into `Install Dependencies (Linux x86_64)`, or remove it and rely on the existing Linux install command to include `libssl-dev`.
</issue_to_address>

### Comment 2
<location> `.github/workflows/semifold-ci.yaml:73-77` </location>
<code_context>
         run: |
           sudo apt-get install -y musl-tools musl-dev
-
+          sudo apt-get install pkg-config
+          
       - name: Install pnpm
</code_context>

<issue_to_address>
**suggestion:** Consider combining pkg-config installation with the previous apt-get invocation and using non-interactive flags.

This adds a second `apt-get install` and drops the `-y` flag, which may trigger interactive prompts depending on the image. Please add `pkg-config` to the existing `apt-get install -y musl-tools musl-dev` line (e.g., `musl-tools musl-dev pkg-config`) so the step stays idempotent and non-interactive.

```suggestion
      - name: Install Musl Tools (for musl target)
        if: matrix.install-musl == true
        run: |
          sudo apt-get install -y musl-tools musl-dev pkg-config
```
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Comment on lines 73 to +77
- name: Install Musl Tools (for musl target)
if: matrix.install-musl == true
run: |
sudo apt-get install -y musl-tools musl-dev

sudo apt-get install pkg-config
Copy link
Contributor

Choose a reason for hiding this comment

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

suggestion: Consider combining pkg-config installation with the previous apt-get invocation and using non-interactive flags.

This adds a second apt-get install and drops the -y flag, which may trigger interactive prompts depending on the image. Please add pkg-config to the existing apt-get install -y musl-tools musl-dev line (e.g., musl-tools musl-dev pkg-config) so the step stays idempotent and non-interactive.

Suggested change
- name: Install Musl Tools (for musl target)
if: matrix.install-musl == true
run: |
sudo apt-get install -y musl-tools musl-dev
sudo apt-get install pkg-config
- name: Install Musl Tools (for musl target)
if: matrix.install-musl == true
run: |
sudo apt-get install -y musl-tools musl-dev pkg-config

HsiangNianian and others added 2 commits February 12, 2026 15:23
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@HsiangNianian
Copy link
Member Author

@SourceryAI title

@sourcery-ai sourcery-ai bot changed the title chore: sync to main [skip ci] (#91) Install OpenSSL and pkg-config dependencies in Linux CI workflow Feb 15, 2026
@HsiangNianian HsiangNianian changed the title Install OpenSSL and pkg-config dependencies in Linux CI workflow [WIP] Install OpenSSL and pkg-config dependencies in Linux CI workflow Feb 15, 2026
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