Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

This PR focuses on documentation updates. All CI requirements have been validated locally where applicable. #809 #810

Open
wants to merge 3 commits into
base: develop
Choose a base branch
from

Conversation

rhuze-emryk
Copy link

Changes
Update iOS build instructions for Xcode 15 compatibility
Add comprehensive Linux development guide (bindings/ergo-lib-ios/LINUX_DEVELOPMENT.md)
Standardize toolchain requirements to nightly-2024-01-26
Improve cross-platform build instructions clarity
CI Requirements Checked
✅ Warnings as errors: No Rust code modified, but ensured all documentation commands follow project standards.
✅ cargo test:

Verified C bindings generation (cargo test -p ergo-lib-c).
Confirmed Swift build steps do not break existing tests.
✅ rustfmt:
No Rust code changes, but ensured code snippets in docs follow rustfmt conventions.
✅ clippy:
Checked existing codebase with cargo clippy post-doc updates (no new warnings).
Local Testing Done
C bindings generation on Linux (Fedora 40).
Header file generation process.
Linux build process (Swift bindings).
Needs Verification
⚠️ iOS/macOS build steps (requires Xcode 15 verification by collaborators).

Related Issues
Closes #759

verify where ergo_lib.h is generated

rhuze-removed note to kick off new build

ergo-lib.h check correction in the build.yml

Update workflow to trigger ios_tests & added GitHub CLI installation step

Fix: Use correct package name for GitHub CLI (gh)

Fix: Use correct workflow filename (ci.yml)

Fix: Trigger workflow using GitHub API-ugh

Trigger ios_tests workflow using GitHub API with correct ID

Fix: Pass GITHUB_TOKEN directly using command substitution

Fix: Use correct workflow ID (141976691)

Fix: Use Bearer token scheme for GITHUB_TOKEN

Trigger ci.yml with workflow_dispatch on rhuze-dev & Add workflow_dispatch trigger to ci.yml

Fix: Added correct damned workspace ID

Moved workflow_dispatch in ci.yml to test

Fix: Use environment variable for GITHUB_TOKEN

Fix: Target forked repo for workflow dispatch

Fix: Use correct cursed workflow ID for forked repo (141976691)

Added a comment to force a refresh

Attempt gh command

Simplify ci.yml to test workflow_dispatch

Attempt gh command

Set default repo for gh CLI and use workflow name

Set GH_TOKEN for GitHub CLI

Try triggering workflow using filename with gh CLI

Use full relative path to workflow file with gh CLI

Restore ci.yml to match upstream develop branch

Integrate ios_tests steps into build.yml

Link against SystemConfiguration.framework

Use -Xswiftc to link against SystemConfiguration.framework

Specify library path and architecture

Build standard library for aarch64-apple-ios

Add rust-src component to nightly toolchain

Fix: Build for aarch64-apple-darwin

Fix: Build for aarch64-apple-ios

Simplify build.yml and verify library path

Use stable Rust and verify build command

Fix: Correct target architecture and library path and contemplate buying cigarettes

Remove -Z build-std flag

Switch to nightly and set RUST_BACKTRACE

Check Rust Version

Add flag to build standard library

Try building with only stable

Add ~/.cargo/bin to PATH

Use Environment Files to add ~/.cargo/bin to PATH

Removed the target from the cargo build command

Add llvm-tools-preview to the Install Rust Toolchain step

docs: enhance Linux development documentation

- Add detailed toolbox setup instructions
- Include toolbox creation and entry steps
- Add repository cloning instructions
- Update troubleshooting with toolbox-specific information

feat: regenerate C bindings with updated toolchain

- Regenerate C bindings using cbindgen 0.28.0
- Use nightly-2024-01-26 toolchain
- Successfully verify binding generation
- Verify library builds correctly

Build verification:
- Generated header: h/ergo_lib.h size: 87503 bytes
- Static library builds successfully
- All required functions and types present in header

docs: comprehensive update to iOS bindings documentation

- Update iOS README with Xcode 15 build instructions
- Add detailed Linux development guide
- Document verified Linux build process
- Update toolchain requirements (nightly-2024-01-26)
- Add cross-references between documents
- Include troubleshooting section
- Note platform-specific limitations

Verified:
- Linux build process
- C bindings generation
- Header file generation

Needs verification:
- iOS-specific build steps
- Xcode 15 configuration
- macOS-specific paths

chore: remove leftover build.yml workflow

docs: update iOS bindings and add Linux development documentation

- Update iOS build instructions for Xcode 15 compatibility
- Add comprehensive Linux development guide (bindings/ergo-lib-ios/LINUX_DEVELOPMENT.md)
- Standardize toolchain requirements to nightly-2024-01-26
- Improve cross-platform build instructions clarity
- Verify C bindings generation on Linux (Fedora 40)

Closes ergoplatform#759
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.

Improve README
1 participant