Commit Graph

25 Commits

Author SHA1 Message Date
Matiss Janis Aboltins
df45b50412 [AI] DX: scope CI Lage cache key per job (#8311)
* [AI] DX: scope CI Lage cache key per job

The Lage cache key was shared across every job in the Build and Test
workflows. The `setup` job (a dependency that finishes first) runs no
Lage task, so it persisted an empty cache under the shared key; every
other job then saw the key already existed and skipped saving its real
cache. The next run restored that empty cache, causing a 100% cache miss.

Key the cache per job so each job restores and persists its own Lage
cache.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GsWzGLUnt9TWkmNVDiYTof

* [AI] DX: remove comment and shorten release note

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GsWzGLUnt9TWkmNVDiYTof

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-06-22 22:09:46 +00:00
Matiss Janis Aboltins
2825f52138 [AI] DX: fix CI Lage cache (#8305)
* [AI] Fix CI Lage cache to target the real cache directory

The "Cache Lage" step in the shared setup action cached the repo-root
.lage directory, but Lage writes its build/test cache to
node_modules/.cache/lage. The configured directory was always empty
(the step even mkdir -p's it first), so the cache step did nothing and
Lage results only persisted incidentally inside the yarn.lock-keyed
node_modules cache, frozen between lockfile changes.

Point both the mkdir and the cache step at node_modules/.cache/lage so
the existing sha key + prefix restore-key actually roll the cache
forward: each run restores the most recent prior entry and saves a
fresh one, letting CI jobs/shards and reruns reuse earlier build/test
results.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013fQ9w27xTJdsb4Q9QUmHD9

* [AI] Address review: drop comment, use slug release note

Remove the explanatory comment from the Cache Lage step and rename the
release note to a descriptive slug with a shorter, user-facing body, per
the repo's release-note conventions.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013fQ9w27xTJdsb4Q9QUmHD9

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-06-22 21:36:21 +00:00
Matt Fiddaman
d19b4ddb70 improve CI yarn cache to make the fetch step quicker (#8252)
* restore partial yarn caches

* note
2026-06-17 20:20:09 +00:00
Matiss Janis Aboltins
62d7c0e479 [AI] zizmor: fix template injection in setup action's Lage cache step (#7858)
* [AI] Fix template injection in setup action's Lage cache step

The 'Ensure Lage cache directory exists' step expanded
${{ inputs.working-directory }} directly into the shell command via
format(), which zizmor flags as a code-injection risk. Pass the input
through an env var and reference it with shell expansion instead.

* [AI] Add release note for template injection fix

* [AI] Rename release note to match PR #7858

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-05-15 21:34:22 +00:00
Julian Dominguez-Schatz
d3e7c1ee87 Fix some issues caught by zizmor (#7826)
* Fix some issues caught by zizmor

* Add release notes

* Add more cache ignores

* Add comments on reasoning
2026-05-13 13:19:16 +00:00
Copilot
1c97388654 [AI] Consolidate npm release and nightly publishing into one workflow (#7583)
* [AI] Unify npm release and nightly publish workflows

Agent-Logs-Url: https://github.com/actualbudget/actual/sessions/3f8de051-a9a7-4527-88d8-5c44bc06a562

Co-authored-by: jfdoming <9922514+jfdoming@users.noreply.github.com>

* [AI] Harden unified npm publish workflow conditionals

Agent-Logs-Url: https://github.com/actualbudget/actual/sessions/3f8de051-a9a7-4527-88d8-5c44bc06a562

Co-authored-by: jfdoming <9922514+jfdoming@users.noreply.github.com>

* [AI] Clarify nightly install step and add concise release note

Agent-Logs-Url: https://github.com/actualbudget/actual/sessions/af3d68aa-d217-47be-addb-1b40b08f533b

Co-authored-by: jfdoming <9922514+jfdoming@users.noreply.github.com>

* [AI] Revert release note edit and make npm publish workflow ACT-compatible (#7584)

* Initial plan

* [AI] Revert release note edit and validate workflow with act

Agent-Logs-Url: https://github.com/actualbudget/actual/sessions/df98a192-197a-4df4-a804-80b69116f742

Co-authored-by: jfdoming <9922514+jfdoming@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jfdoming <9922514+jfdoming@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: jfdoming <9922514+jfdoming@users.noreply.github.com>
2026-04-22 15:18:29 +00:00
Julian Dominguez-Schatz
29275a573d Run zizmor auto-fix tool (#7533)
* Run `zizmor` auto-fix tool

* Add release notes

* Enable credential persistence for string extraction

Updated workflow to allow pushing extracted strings.

* Enable credential persistence for release notes

Enable credential persistence to allow committing release notes.
2026-04-20 19:40:04 +00:00
Matt Fiddaman
1f821d2849 ⬆️ bump github actions (#7234)
* actions/setup-node

* actions/cache

* actions/checkout

* docker/*

* actions/*-artifact

* actions/stale

* others

* note
2026-03-18 08:53:03 +00:00
Matt Fiddaman
e64a042f0c fix github action version resolution (#6114)
* pin to sha

* note
2025-11-11 23:26:07 +00:00
Matt Fiddaman
25f9ea3f97 ⬆️ bump github action versions (#6014)
* actions/checkout v5

* actions/setup-node v6

* actions/upload-artifact v5

* actions/download-artifact v6

* actions/stale v10

* aidan-mundy/react-to-issue v1

* twk3/rollup-size-compare-action v1

* actions/github-script v8

* dawidd6/action-download-artifact v11

* fountainhead/action-wait-for-check v1

* peter-evans/create-or-update-comment v5

* docker/build-push-action v6

* note
2025-11-05 23:56:17 +00:00
Matiss Janis Aboltins
57d01467ca Refactor test execution to use lage task runner (#5964) 2025-10-21 08:58:26 +02:00
Matt Fiddaman
155558ee62 drop support for node 20 (#5937)
* node 24

* node types

* dockerfiles

* readme

* note
2025-10-18 23:58:27 +01:00
Matiss Janis Aboltins
8ccc1af77e Clean up configuration files (#5181) 2025-06-16 22:22:38 +01:00
Matt Fiddaman
6d921a48b6 change minimum version of Node.js to version 20 (#4978)
* update workflows

* update supported engines in package.json

* .nvmrc

* base yarn cache on node version being used rather than .nvmrc

* note
2025-05-12 13:49:09 -04:00
Julian Dominguez-Schatz
5d91d29d77 Exclude untranslated languages from builds (#4148)
* Add script to remove untranslated language JSON files

* Remove untranslated languages in CI

* Add release notes
2025-01-14 09:57:11 -05:00
Julian Dominguez-Schatz
5a34c06859 Include translations in builds (#4089)
* Pull/push strings via Git instead of via API

This is necessary because the Weblate API doesn't handle stale strings
well. In particular, it won't remove them automatically.

* Schedule workflow instead of running on every commit

This is so we can minimize downtime for Weblate translations.

* Prevent pull requests modifying translations

* Don't commit translations during the merge freeze

* Add release notes

* Undo rename

* Don't commit translations nightly, per feedback

* Include translations just-in-time in builds

* Revert "Prevent pull requests modifying translations"

This reverts commit 8c19a0ce13.

* Re-ignore translations

* Update release notes to be accurate

* Create missing directory

* Fix conditional logic
2025-01-09 20:13:25 -05:00
Julian Dominguez-Schatz
9213ed75b5 Upload translations on builds of master (#4002)
* fix: translations were not being loaded properly

* fix: support running GitHub actions locally with `act`

* feat: upload new strings on master build

* Add release notes

* PR feedback: security
2024-12-24 12:48:41 -05:00
Matiss Janis Aboltins
6ae2047ab8 🔧 upgrade deprecated github actions (#2319) 2024-02-02 20:38:57 +00:00
Jed Fox
15bc3c45a0 Partition GitHub Actions cache based on Node version (#1118)
This should fix the test failures on `master` — currently tests are
failing because the cache was created with an old version of Node.
2023-06-11 13:37:20 -04:00
Jed Fox
c1af40ff5c Update recommended version to Node.js 18 (#1117)
After #1115, new Node.js versions will be able to be used for
development of the frontend. This PR changes the recommended Node.js
version to 18 (the current LTS version). I have also tested with 16 and
20 and it works.

I also took the opportunity to:

- move the build script that was at the project root to the `bin/`
folder
- update the `browserslist` to target Electron 24 (which is the version
we currently build against). This results in a slightly smaller bundle
due to no longer having to transpile optional chaining.
2023-06-10 13:12:42 -04:00
Matiss Janis Aboltins
7d2adfa02e 👷 upgrade github actions (#711)
* 👷  upgrade github actions

* Upgrade actions/checkout
2023-03-02 17:02:50 +00:00
Matiss Janis Aboltins
50a71335e6 test: bare-bones e2e testing with playwright (#416) 2023-01-12 22:43:32 +00:00
Tom French
5a00bf6b43 ci: fix CI to an exact node version (#240) 2022-09-02 20:28:33 +01:00
Tom French
8ae21c9782 ci: re-add runner os specific caches 2022-06-29 13:24:34 -04:00
Tom French
883df58724 ci: turn boilerplate into composite action 2022-06-29 13:24:34 -04:00