From 439ae46cb42ec1883f188949b48ee4135959c1ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kamil=20=C5=9Aliwak?= Date: Thu, 16 Oct 2025 12:39:41 +0200 Subject: [PATCH] Build the source tarball in CI --- .circleci/config.yml | 12 ++++++++++++ ReleaseChecklist.md | 10 ++-------- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 5d3db526ad41..6b596f2b172a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1842,6 +1842,17 @@ jobs: - matrix_notify_failure_unless_pr - matrix_notify_release_unless_pr + c_source_tarball: + <<: *base_ubuntu2404_small + steps: + - checkout + - setup_prerelease + - run: scripts/create_source_tarball.sh + - store_artifacts: + path: upload/ + - matrix_notify_failure_unless_pr + - matrix_notify_release_unless_pr + b_alpine_docker: <<: *base_cimg_small steps: @@ -2017,6 +2028,7 @@ workflows: - b_osx - b_win - b_ems + - c_source_tarball: *requires_nothing nightly: diff --git a/ReleaseChecklist.md b/ReleaseChecklist.md index 727675fce530..fe751e896fc3 100644 --- a/ReleaseChecklist.md +++ b/ReleaseChecklist.md @@ -67,10 +67,7 @@ At least a day before the release: - [ ] Wait for the CI runs on the tag itself. ### Upload Release Artifacts and Publish Binaries -- [ ] Switch to the tag that archives have to be created for. -- [ ] Create the `prerelease.txt` file: `echo -n > prerelease.txt`. -- [ ] Run `scripts/create_source_tarball.sh` to create the source tarball. This will create the tarball in a directory called `upload`. -- [ ] Take the tarball from the upload directory (its name should be `solidity_x.x.x.tar.gz`, otherwise `prerelease.txt` was missing in the step before) and upload it to the release page. +- [ ] Take the source tarball (`solidity_x.x.x.tar.gz`) from `c_source_tarball` run of the tagged commit on Circle CI and upload it to the release page. - [ ] Take the `github-binaries.tar` tarball from `c_release_binaries` run of the tagged commit on Circle CI and add all binaries from it to the release page. Make sure it contains four binaries: `solc-windows.exe`, `solc-macos`, `solc-static-linux` and `soljson.js`. - [ ] Take the `solc-bin-binaries.tar` tarball from `c_release_binaries` run of the tagged commit on Circle CI and add all binaries from it to solc-bin. @@ -135,10 +132,7 @@ At least a day before the release: - Check the `Set as a pre-release` box. - Click the `Publish release` button on the release page, creating the tag. - [ ] Wait for the CI runs on the tag itself. -- [ ] Switch to the tag that archives have to be created for. -- [ ] Create the `prerelease.txt` file: `scripts/prerelease_suffix.sh pre "$(git describe --tags --exact-match)" > prerelease.txt`. -- [ ] Run `scripts/create_source_tarball.sh` to create the source tarball. This will create the tarball in a directory called `upload`. -- [ ] Take the tarball from the upload directory (its name should be `solidity_x.x.x-pre.N.tar.gz`, if `prerelease.txt` was created correctly) and upload it to the release page. +- [ ] Take the source tarball (`solidity_x.x.x-pre.N.tar.gz`) from `c_source_tarball` run of the tagged commit on Circle CI and upload it to the release page. - [ ] Take the `github-binaries.tar` tarball from `c_release_binaries` run of the tagged commit on Circle CI and add all binaries from it to the release page. Make sure it contains four binaries: `solc-windows.exe`, `solc-macos`, `solc-static-linux` and `soljson.js`. - [ ] Take the `solc-bin-binaries.tar` tarball from `c_release_binaries` run of the tagged commit on Circle CI and add all binaries from it to solc-bin.