Skip to content

Conversation

neilberkman
Copy link

@neilberkman neilberkman commented Sep 5, 2025

Fixes #1182

Summary

This PR significantly expands the CI/CD pipeline to build, test, and generate downloadable artifacts across multiple platforms.

Changes

  • Expanded Linux coverage: Ubuntu (22.04, latest), Fedora, Debian, Alpine, Rocky Linux
  • macOS support: macOS 13 and latest with gcc and clang compilers
  • Windows builds: MinGW and MSVC (Visual Studio 2019) configurations
  • Architecture testing: PowerPC64 and MIPS32 (big-endian)
  • Build artifacts: Generate downloadable artifacts for all platforms
  • Automatic releases: Create GitHub Releases with pre-built binaries

Coverage

  • ~90% of Linux distribution market share
  • All major operating systems (Linux, macOS, Windows)
  • Both little-endian and big-endian architectures
  • Multiple compiler toolchains (gcc, clang, MSVC)

Features

  • Downloadable artifacts for each platform
  • Automatic nightly releases on master commits
  • SHA256 checksums for verification
  • Continues release even if some builds fail

Known Issues

Fedora tests fail due to buffer overflow detection. See issue #1183.

Testing

Latest run: https://github.com/neilberkman/libredwg/actions/runs/17511355855

- Comprehensive CI for Ubuntu, Fedora, Debian, CentOS, Alpine, macOS, Windows
- Automatic nightly releases with artifacts for all platforms
- FORTIFY_SOURCE disabled in Fedora to avoid false buffer overflow detection
- Creates releases on master pushes and tags
- Uploads platform-specific artifacts (Linux, macOS, Windows MinGW/MSVC)
@neilberkman
Copy link
Author

@rurban this should be clean now. You can see a sample release from the most recent build here: https://github.com/neilberkman/libredwg/releases/tag/0.13.3.7835.5_b068c.7492

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add multi-platform build support and artifacts
2 participants