swiftlang / swiftlang/github-workflows

Add an opt-in check for only linking FoundationEssentails on Linux

Open
#136 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Swift
Stars
115
Forks
57
Avg merge
1d 8h
Merged PRs (30d)
3

Description

In some Swift Server libraries, we're trying to minimize which individual Foundation sub-modules we link, and it'd be useful to have a CI check to avoid a PR accidentally regressing it.

Roughly could work like this:

  • a script temporarily adds an extra executable product to the package that imports the library in the package that we want to test for not linking full Foundation on Linux
  • swift build that product
  • run ldd on that product in the .build directory
  • ensure that libFoundation.so is not present in there, otherwise fail the CI job

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No file or test is named; start by locating the repository's existing CI workflows and scripts. Use the proposed swift build and ldd steps as the entry points, and verify that the opt-in check builds the temporary executable and fails when libFoundation.so appears in its linked libraries.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, linux, swift
Domain
build-system, ci-cd
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.