-
-
Notifications
You must be signed in to change notification settings - Fork 624
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
Release Automation #1254
Merged
Merged
Release Automation #1254
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
art-divin
added
the
automated release
Tasks related to release process automation
label
Jan 10, 2024
art-divin
force-pushed
the
automate_release
branch
from
January 13, 2024 20:45
3a57ddd
to
e5f5996
Compare
art-divin
force-pushed
the
automate_release
branch
from
January 14, 2024 12:54
075bcc2
to
9731e6e
Compare
art-divin
added a commit
that referenced
this pull request
Jan 15, 2024
commit dfe4023 Author: art-divin <[email protected]> Date: Mon Jan 15 19:22:10 2024 +0000 Update Docs commit 38a6731 Author: Ruslan Alikhamov <[email protected]> Date: Mon Jan 15 14:14:13 2024 -0500 Release Automation (#1254) * new GH actions for release automation * updated Xcode version for macOS * updated actions * added pull request trigger [no-ci] * adjusted pull_request requirement for actions [no-ci] * fixed build errors for release builds * added libcurl4 dependency * added custom swift installation for lcurl issue * enabled fat binary for macOS release build * fixed typo * removed redundant spaces * fixed wrong reference * updated actions for ubuntu * fixed folder paths * fixed typo * debug - print build_dir * fixed build path for linux * fixed path for release binary * attempt to build on aarch64 * removed attempt for aarch64 * changed event type release created for artifacts * excluded *_Linux.swift files from documentation * added jazzy action * renamed actions * added test dependencies for release jobs * removed pull_request trigger for jazzy * added missing jazzy dependency * allow test actions to be called * adjusted workflow name * testing * renamed release filename for ubuntu * disabled workflow_run for test * disabled on tags for testing * disabled check for test * removed apostrophes * added ls for test * test generating docs * fixed wrong variable * added job dependency * fixed wrong copy * install tac * exported variables between steps * migrated docs job into build * debugging ls * test run * debug ls * renamed archive file * moved final archive to ~ * moved files to ~ * flatten archive on ubuntu * flattened archives; fixed artifactbundle * changed packaging * removed redundant mv * fixed typo * replaced mv with cp * last test with docset * added missing jazzy setup * changed attributes for compiled binary * compressing before packaging * removed test triggers * enabled tests for PRs * renamed file
art-divin
added a commit
that referenced
this pull request
Mar 17, 2024
* new GH actions for release automation * updated Xcode version for macOS * updated actions * added pull request trigger [no-ci] * adjusted pull_request requirement for actions [no-ci] * fixed build errors for release builds * added libcurl4 dependency * added custom swift installation for lcurl issue * enabled fat binary for macOS release build * fixed typo * removed redundant spaces * fixed wrong reference * updated actions for ubuntu * fixed folder paths * fixed typo * debug - print build_dir * fixed build path for linux * fixed path for release binary * attempt to build on aarch64 * removed attempt for aarch64 * changed event type release created for artifacts * excluded *_Linux.swift files from documentation * added jazzy action * renamed actions * added test dependencies for release jobs * removed pull_request trigger for jazzy * added missing jazzy dependency * allow test actions to be called * adjusted workflow name * testing * renamed release filename for ubuntu * disabled workflow_run for test * disabled on tags for testing * disabled check for test * removed apostrophes * added ls for test * test generating docs * fixed wrong variable * added job dependency * fixed wrong copy * install tac * exported variables between steps * migrated docs job into build * debugging ls * test run * debug ls * renamed archive file * moved final archive to ~ * moved files to ~ * flatten archive on ubuntu * flattened archives; fixed artifactbundle * changed packaging * removed redundant mv * fixed typo * replaced mv with cp * last test with docset * added missing jazzy setup * changed attributes for compiled binary * compressing before packaging * removed test triggers * enabled tests for PRs * renamed file
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Context
This MR addresses #1247 in a way that macOS and Ubuntu release process is based on new GH actions:
Missing Parts
Pt. 3 means that to make successful release,
rake release:update_metadata
needs to be run manually before creating new tagThere's a new GH action called
rake docs
which is triggered for everymaster
branch merge event. It generates new documentation and makes commit & push tomaster
branch directly right from GH action.To streamline, the following is the current release process:
CHANGELOG.md
has all entries for the new versionbundle install && rake release:update_metadata
and after checking what was committed,git push
release_macOS
andrelease_ubuntu
actions6.1 (Manual) download macOS artifacts, unzip them, re-zip using
zip -r -X <target.zip> <folder>
- this is due to "double zip" in GH action6.2 (Manual) download ubuntu artifact, simply unzip it once to have
tar.xz
archive on handSequencing
release_Ubuntu
will start when:-- new tag is pushed to remote
--
test_Ubuntu
is completed with success---
test_Ubuntu
is triggered whenrelease_Ubuntu
startsrelease_macOS
will start when:-- new tag is pushed to remote
--
test_macOS
is completed with success---
test_macOS
is triggered whenrelease_macOS
startsDetails
Artifacts
Note
The artifacts are zip-ed additionally upon downloading (more info).
⚠️ Double-zipping is required in order to preserve
To correctly post artifacts in a new
release
, it is important to download them, unpack and re-zip again.a+x
permission onsourcery
binary