-
Notifications
You must be signed in to change notification settings - Fork 275
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 overhaul #638
Labels
🧽 chore
Administrative task: documentation, build, test, release, git, etc.
Milestone
Comments
rgoldberg
added
the
🧽 chore
Administrative task: documentation, build, test, release, git, etc.
label
Nov 15, 2024
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Nov 16, 2024
Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Nov 16, 2024
…sistent with the shebangs that are used throughout. Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Nov 16, 2024
…sion values. It only seems to be used for testing with `act`. `event.json` should either be generated or be manually created; in either case, it should reside somewhere that is ignored by git, as the only source of version info in git should be version tags. Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Nov 16, 2024
Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Nov 16, 2024
Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Nov 16, 2024
Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Nov 16, 2024
Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Nov 16, 2024
Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Nov 16, 2024
…mmand substitutions, respectively. Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Nov 16, 2024
Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Nov 16, 2024
Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Nov 16, 2024
…g it. Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Nov 16, 2024
Remove commented code. Improve step name. Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Nov 16, 2024
…b instead of once per each step of that job. Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Nov 16, 2024
…per the linked documentation (https://docs.github.com/en/actions/using-workflows/workflow-commands-for-github-actions#setting-an-environment-variable). Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Nov 16, 2024
Change YAML emoji to fix spacing issue. Move YAML lint before Git lint to keep the names getting progressively shorter. Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Nov 16, 2024
We shouldn't need to delete `Brewfile.lock.json` because it doesn't actually lock anything; it just records versions that were installed. If we don't delete it, new `brew bundle install` run just adds info about what was installed during its run to the existing info about previous bundle installs. By not deleting, the code can be simplified as per this commit. Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Nov 16, 2024
Remove mise. Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Nov 16, 2024
Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Nov 16, 2024
…same OS, then a checksum is required only for the oldest OS version that shares that bottle/checksum; all later versions of the OS will use that checksum. Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Nov 16, 2024
Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Nov 16, 2024
Fix acceptable argument count. Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Nov 16, 2024
Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Nov 16, 2024
Use braces around bash variable uses. Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Nov 16, 2024
Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Nov 16, 2024
Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Nov 16, 2024
Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Nov 16, 2024
Ensure no newlines at beginning of any file. Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Dec 14, 2024
…` target has been merged into `mas` target. Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Dec 14, 2024
Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Dec 14, 2024
Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Dec 14, 2024
…to 0.43.0. Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Dec 14, 2024
… tag & current revision for local (i.e. non-release builds), since releases should all be for a version tagged revision. Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Dec 14, 2024
Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Dec 14, 2024
Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Dec 14, 2024
Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Dec 14, 2024
Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Dec 14, 2024
Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Dec 14, 2024
…format`. Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Dec 14, 2024
Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Dec 14, 2024
Remove useless `--strict` from `swiftlint` in `script/format`. Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Dec 14, 2024
Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Dec 14, 2024
Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Dec 14, 2024
Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Dec 14, 2024
Allow `script/bootstrap` to accept any arguments for `brew bundle install`. Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Dec 14, 2024
Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Dec 14, 2024
Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Dec 14, 2024
Update shebangs. Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Dec 14, 2024
Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Dec 14, 2024
… comments & improve spacing. Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Dec 14, 2024
Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Dec 14, 2024
Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Dec 14, 2024
- Remove `--universal` argument. - Do not disable sandbox. - Do not disable manifest cache. - Pass script arguments to `swift build`. Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Dec 14, 2024
Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Dec 14, 2024
Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Dec 14, 2024
…ease.yml`. Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
rgoldberg
added a commit
to rgoldberg/mas
that referenced
this issue
Dec 14, 2024
Partial mas-cli#638 Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Release Workflow
The automated release workflow shouldn't be kicked off when a release has been published (
on: release: types: published
), because the release will have then already been made available to the public.If anything fails or is suboptimal (like poorly worded generated release notes) in the workflow, we'd need to either delete, modify, or supersede the botched release, all of which are suboptimal.
It's best to split the release process into 3 stages:
Stage 1: Generate Draft
v\d+\.\d+\.\d+(?:-(?:alpha|beta|rc)\.\d+)?
) is pushed to themain
branch of themas-cli/mas
repo, run a workflow that will:*.pkg
(s)-
.homebrew-core
formula).*.pkg
(s) to the draftmas-cli/tap/mas
formula bump PRStage 2: Manual Draft Inspection / Modification
After inspecting everything created in stage 1, the releaser may then either:
Stage 3: Publish Release / Delete Draft
If the releaser deletes the GitHub Release draft in stage 2, then an
on: release: types: deleted
workflow will close the related external PRs & remove as much stuff as possible.If the releaser publishes the draft, then an
on: release: types: published
workflow will:homebrew-core
mas
formula.pr-pull
label to themas-cli/tap/mas
formula bump PR, which will generate & publish bottles stored in a new GitHub Release for the new version inmas-cli/homebrew-tap
for:The custom tap bottle generation & publishing process will be as follows (I hope it will work; if it doesn't, I'll devise a workaround & let you know):
mas-cli/tap
, thetests.yml
workflow will:arm64
&x86_64
onmacos-15
*sequoia*
to the macOS version name for the oldest supported macOS version for each platform (i.e.*big_sur*
forarm64
&*high_sierra*
forx86_64
)el_capitan
bottle forx86_64
from the 1.8.6 releasepr-pull
, thepublish.yml
workflow will:Legacy Version Patch Branches
If we ever release patches for legacy mas versions, they should be done in a legacy version patch branch.
Given that we aren't patching legacy versions right now, the first revamp of the new release system doesn't need to support it, but we might want to think through the workflow to support it in the future.
See #655 for details about legacy version patch branches & other git-related proposals.
Current Work
mas.pkg
filename.mas-cli/tap/mas
:brew bump-formula-pr
probably won't do that.homebrew-core
?mas-cli/homebrew-tap
instead of inmas-cli/mas
Possible Future Tasks
build-test.yml
asbuild-test-lint.yml
.actions/checkout@v4
output:git config --global init.defaultBranch main
git config --global advice.detachedHead false
Dangerfile.swift
appears to be used only for PRs made directly onmas-cli/mas
, not for those via forks:release.yml
:env
variables to specific steps?.github/*.yml
into.github/workflows
?Distribution.plist
; replace with a heredoc / process substitution inscript/package
#677Completed
mas-cli/mas
repo:Makefile
.github/event.json
homebrew/homebrew-core
ormas-cli/tap
homebrew-core
&mas-cli/tap/mas
formulae in taps instead of locally generating / modifying them.Sources/mas/Package.swift
mas-cli/mas
on release.mas-cli/mas
repo only in version tag, not in any files or in any branch names.brew bump-formula-pr
) instead of reinventing the wheel./bin/bash
is used everywhere instead of some places usingbash
from the$PATH
.sd
: script that used it was deleted, but if script had been kept, should use shell scripting insteadmise
: usebrew bundle
insteadscript/version --write
&script/version_bump
withscript/generate_version_info_for_swift
Sources/mas/Package.swift
) for revisions that aren't directly tagged with a version tag are now specified by the fullgit describe --tags
output, which includes the current revision & the number of commits since the tag.release.yml
jobs into one.cd
into project root at beginning of every script.-Ndfgku
in all shebangs (add-e
to all shebangs except forlint
's).printf
instead ofecho
..editorconfig
.script/test
boilerplate output.mas-cli/tap/mas
tap URLs..actrc
& act brew dependencyResolve:
readlink
doesn't accept-f
flag #636script/test
#628The text was updated successfully, but these errors were encountered: