Skip to content

fix(ci): use --workspace so release builds darktide-ffi artifacts - #26

Merged
ModifAmorphic merged 1 commit into
mainfrom
fix/release-workspace-build
Jun 15, 2026
Merged

fix(ci): use --workspace so release builds darktide-ffi artifacts#26
ModifAmorphic merged 1 commit into
mainfrom
fix/release-workspace-build

Conversation

@ModifAmorphic

Copy link
Copy Markdown
Owner

Summary

Hotfix for the v0.2.0 release failure. The packaging step failed with:

tar: target/release/libdarktide_ffi.so: Cannot stat: No such file or directory
tar: target/release/libdarktide_ffi.a: Cannot stat: No such file or directory

Root cause

This repo has a root [package] (darktide-extractor-cli) plus a [workspace] declaration. In that layout, plain cargo build defaults to building only the root package and its dependencies (darktide-bundle). darktide-ffi is a sibling workspace member that nothing depends on, so cargo silently skips it. The dtex binary builds fine, but no FFI artifacts are produced.

Reproduced locally before fixing:

$ cargo build --release
   Compiling darktide-bundle v0.2.0
   Compiling darktide-extractor-cli v0.2.0
    Finished `release` profile [optimized] target(s) in 0.83s
$ ls target/release/libdarktide_ffi.*
ls: cannot access 'target/release/libdarktide_ffi.*': No such file or directory

Fix

Add --workspace to force cargo to build every workspace member, including darktide-ffi's cdylib + staticlib + rlib targets:

run: cargo build --release --workspace

Verified locally that the expected artifacts (libdarktide_ffi.so, libdarktide_ffi.a, dtex) are produced.

Note on v0.2.0

v0.2.0 was already tagged and a (prerelease) GitHub Release was created with zero assets. This fix unblocks future releases but does not retroactively backfill v0.2.0. Recovery options for v0.2.0 specifically will be discussed separately — likely either delete the v0.2.0 release+tag and let release-please re-cut on the next feat/fix commit, or leave v0.2.0 as a prerelease with no assets and let v0.2.1 be the first properly-shipped release.

Verification

  • cargo build --release --workspace produces target/release/libdarktide_ffi.so, target/release/libdarktide_ffi.a, and target/release/dtex.
  • YAML validates cleanly.
  • No code changes; CI-only fix.

The v0.2.0 release failed because the packaging step could not find
libdarktide_ffi.so / libdarktide_ffi.a in target/release/.

Root cause: this repo has a root [package] (darktide-extractor-cli)
plus a [workspace] declaration. In that layout, plain 'cargo build'
only builds the root package and its dependencies (darktide-bundle).
darktide-ffi is a sibling workspace member that nothing depends on,
so cargo silently skips it. The dtex binary builds fine, but no FFI
artifacts are produced.

Fix: add --workspace to force cargo to build every workspace member,
including darktide-ffi's cdylib + staticlib + rlib targets. Verified
locally that the expected artifacts (libdarktide_ffi.so,
libdarktide_ffi.a, dtex) are produced.
@ModifAmorphic
ModifAmorphic merged commit 8c23aa6 into main Jun 15, 2026
3 checks passed
@ModifAmorphic
ModifAmorphic deleted the fix/release-workspace-build branch June 15, 2026 16:54
ModifAmorphic pushed a commit that referenced this pull request Jun 15, 2026
🤖 I have created a release *beep* *boop*
---


##
[0.2.1](v0.2.0...v0.2.1)
(2026-06-15)


### Bug Fixes

* **ci:** use --workspace so release builds darktide-ffi artifacts
([#26](#26))
([8c23aa6](8c23aa6))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
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