mirror of
https://github.com/actualbudget/actual.git
synced 2026-05-07 20:38:54 -05:00
Compare commits
1 Commits
master
...
worktree-m
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1984a9c63b |
1
.github/workflows/cut-release-branch.yml
vendored
1
.github/workflows/cut-release-branch.yml
vendored
@@ -26,7 +26,6 @@ permissions:
|
||||
jobs:
|
||||
cut-release-branch:
|
||||
runs-on: ubuntu-latest
|
||||
environment: release
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
|
||||
1
.github/workflows/docker-edge.yml
vendored
1
.github/workflows/docker-edge.yml
vendored
@@ -32,7 +32,6 @@ jobs:
|
||||
if: github.event_name == 'workflow_dispatch' || !github.event.repository.fork
|
||||
name: Build Docker image
|
||||
runs-on: ubuntu-latest
|
||||
environment: release
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu, alpine]
|
||||
|
||||
1
.github/workflows/docker-release.yml
vendored
1
.github/workflows/docker-release.yml
vendored
@@ -27,7 +27,6 @@ jobs:
|
||||
build:
|
||||
name: Build Docker image
|
||||
runs-on: ubuntu-latest
|
||||
environment: release
|
||||
steps:
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
with:
|
||||
|
||||
2
.github/workflows/electron-master.yml
vendored
2
.github/workflows/electron-master.yml
vendored
@@ -21,7 +21,6 @@ jobs:
|
||||
# this is so the assets can be added to the release
|
||||
permissions:
|
||||
contents: write
|
||||
environment: release
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
@@ -124,7 +123,6 @@ jobs:
|
||||
publish-microsoft-store:
|
||||
needs: build
|
||||
runs-on: windows-latest
|
||||
environment: release
|
||||
if: ${{ github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') }}
|
||||
steps:
|
||||
- name: Install StoreBroker
|
||||
|
||||
1
.github/workflows/netlify-release.yml
vendored
1
.github/workflows/netlify-release.yml
vendored
@@ -19,7 +19,6 @@ concurrency:
|
||||
jobs:
|
||||
build-and-deploy:
|
||||
runs-on: ubuntu-latest
|
||||
environment: release
|
||||
steps:
|
||||
- name: Repository Checkout
|
||||
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
|
||||
1
.github/workflows/publish-flathub.yml
vendored
1
.github/workflows/publish-flathub.yml
vendored
@@ -21,7 +21,6 @@ concurrency:
|
||||
jobs:
|
||||
publish-flathub:
|
||||
runs-on: ubuntu-22.04
|
||||
environment: release
|
||||
steps:
|
||||
- name: Resolve version
|
||||
id: resolve_version
|
||||
|
||||
@@ -27,7 +27,6 @@ jobs:
|
||||
- windows-latest
|
||||
- macos-latest
|
||||
runs-on: ${{ matrix.os }}
|
||||
environment: release
|
||||
if: github.event.repository.fork == false
|
||||
steps:
|
||||
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
||||
|
||||
2
.github/workflows/publish-npm-packages.yml
vendored
2
.github/workflows/publish-npm-packages.yml
vendored
@@ -87,7 +87,6 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
name: Publish npm packages
|
||||
needs: build-and-pack
|
||||
environment: release
|
||||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
@@ -106,7 +105,6 @@ jobs:
|
||||
node-version: 24
|
||||
check-latest: true
|
||||
registry-url: 'https://registry.npmjs.org'
|
||||
cache: false
|
||||
|
||||
- name: Publish Core
|
||||
run: |
|
||||
|
||||
@@ -68,3 +68,46 @@ Finally, a draft GitHub release should be automatically created; confirm [on the
|
||||
- [ ] Un-draft the GitHub release which will send announcement notifications to all apps and create a PR to the [Actual Flathub Repository](https://github.com/flathub/com.actualbudget.actual/pulls).
|
||||
- [ ] Send an announcement on Discord and Twitter.
|
||||
- [ ] Approve and merge the [Flathub Release PR](https://github.com/flathub/com.actualbudget.actual/pulls) to master. After merge, it can take anywhere from hours to a few days before the app will be available in the Flathub Store.
|
||||
|
||||
## Cutting a patch release
|
||||
|
||||
Patch releases (e.g. `v26.5.1`) ship a small, targeted set of fixes on top of an existing release. Unlike monthly releases, the release branch is built by cherry-picking specific commits from `master` onto the previous release tag, so unrelated in-progress work on `master` is not pulled in.
|
||||
|
||||
### Build the release branch
|
||||
|
||||
- [ ] Identify the commits on `master` that should be included in the patch release and note their commit hashes.
|
||||
- [ ] Check out the previous release tag and create a new release branch from it:
|
||||
```bash
|
||||
git checkout v26.5.0
|
||||
git checkout -b release/v26.5.1
|
||||
```
|
||||
- [ ] Cherry-pick each commit onto the new branch, in the same order they were merged to `master`:
|
||||
```bash
|
||||
git cherry-pick <commit-sha>
|
||||
```
|
||||
- [ ] Push the release branch. This is the branch that will be tagged later — **do not tag it yet**:
|
||||
```bash
|
||||
git push -u {remote} release/v26.5.1
|
||||
```
|
||||
|
||||
### Open the release PR against master
|
||||
|
||||
The release branch is what gets tagged, but the version bump, release notes cleanup, and blog post still need to land on `master` so future releases pick them up.
|
||||
|
||||
- [ ] Check out `master` and create a new branch from it (e.g. `release-notes/v26.5.1`).
|
||||
- [ ] In this branch:
|
||||
- Bump the version in the relevant `package.json` files.
|
||||
- Delete the `upcoming-release-notes/*.md` files that correspond to the cherry-picked commits.
|
||||
- Add a new blog post under `packages/docs/blog/` (see [`2026-02-22-release-26-2-1.md`](https://github.com/actualbudget/actual/blob/master/packages/docs/blog/2026-02-22-release-26-2-1.md) for an example).
|
||||
- [ ] Commit the changes and open a PR against `master`. Include a link to the previously pushed release branch (e.g. `release/v26.5.1`) in the PR description so reviewers can see exactly what is shipping.
|
||||
|
||||
### Tag the release
|
||||
|
||||
- [ ] Once the PR has been approved and merged, tag the **release branch** (not `master`) and push the tag:
|
||||
```bash
|
||||
git checkout release/v26.5.1
|
||||
git tag v26.5.1
|
||||
git push {remote} v26.5.1
|
||||
```
|
||||
|
||||
From here the rest of the release pipeline (NPM, Docker, Desktop, GitHub draft release) runs automatically. Follow the [Verify the release](#verify-the-release) and [Finalize the release](#finalize-the-release) steps above to complete the rollout.
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
---
|
||||
category: Maintenance
|
||||
authors: [MikesGlitch]
|
||||
---
|
||||
|
||||
Improve Github workflows with suggestions from the code scan.
|
||||
Reference in New Issue
Block a user