Skip to content

ci: streamline release builds on GitHub-hosted runners#138

Merged
CodeNinjaEvan merged 2 commits into
tronprotocol:release_0.8.31from
yanghang8612:ci/trim-release-build-targets
Jul 22, 2026
Merged

ci: streamline release builds on GitHub-hosted runners#138
CodeNinjaEvan merged 2 commits into
tronprotocol:release_0.8.31from
yanghang8612:ci/trim-release-build-targets

Conversation

@yanghang8612

@yanghang8612 yanghang8612 commented Jul 21, 2026

Copy link
Copy Markdown

Summary

  • disable test targets and build only the release compiler target on native platforms
  • migrate Windows, macOS, Linux AMD64, Linux ARM64, and Emscripten builds to GitHub-hosted runners
  • pin the Windows runner to windows-2022
  • pin macOS to macos-15, Xcode 16.4, CMake 3.29.3, and a cached universal Boost 1.84 build
  • run Linux AMD64 and Emscripten builds on ubuntu-24.04 and Linux ARM64 on ubuntu-24.04-arm
  • transfer build outputs with Actions artifacts and gather them on the self-hosted Linux runner
  • keep only the S3 packaging/upload job on [self-hosted, Linux]

Why

The release workflow only consumes solc and soljson, so compiling test executables and auxiliary targets wastes build time. The platform builds no longer need persistent self-hosted machines once their dependencies and toolchains are prepared explicitly.

The S3 job remains self-hosted to preserve the existing production credentials and bucket-access environment.

Impact

  • Windows builds solc.exe with TESTS=OFF on windows-2022.
  • macOS builds the existing x86_64 + arm64 universal solc on macos-15.
  • Linux AMD64 and ARM64 build their static solc binaries on native GitHub runners.
  • Emscripten continues to build only soljson.
  • Artifact executable bits are restored before packaging on Linux.
  • The packaging job extracts the version from the Linux AMD64 binary instead of trying to run the macOS binary on Linux.

Validation

The fork did not expose the production S3 secrets during the migration rehearsal. The S3 upload path remains on the repository's self-hosted Linux runner and will be exercised by the production workflow after merge.

@github-actions

Copy link
Copy Markdown

Thank you for your contribution to the Solidity compiler! A team member will follow up shortly.

If you haven't read our contributing guidelines and our review checklist before, please do it now, this makes the reviewing process and accepting your contribution smoother.

If you have any questions or need our help, feel free to post them in the PR or talk to us directly on the #solidity-dev channel on Matrix.

@yanghang8612 yanghang8612 changed the title ci: build release compiler targets only ci: streamline release builds on GitHub-hosted runners Jul 22, 2026
@yanghang8612
yanghang8612 marked this pull request as ready for review July 22, 2026 04:00
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.

2 participants