[PR #4139] [CLOSED] POC: Merge actual server into actual #5206

Closed
opened 2026-02-28 21:08:04 -06:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/actualbudget/actual/pull/4139
Author: @MikesGlitch
Created: 1/12/2025
Status: Closed

Base: masterHead: merge-actual-server-into-actual


📝 Commits (10+)

  • c8a901d (nordigen) Include hashed IBAN in get-accounts and transactions endpoints (#166)
  • 7713848 Include *.test.js files in test run (#171)
  • 9b2d74c Stream file without loading to memory in /download-user-file (#172)
  • b6073f7 Update docker-compose.yml (#150)
  • cb73109 Add linux/arm/v7 to the list of platforms for the Docker image (#141)
  • c3d89b6 New Docker Hub org in CI and README (#175)
  • bf4319d Add some basic debug logging (#178)
  • 7e88de1 🔖 (23.4.0) (#180)
  • 063d468 Add support for armv6l (alpine based images) (#182)
  • 6f7306c Don’t check for release notes on release/* branches (#181)

📊 Changes

164 files changed (+16563 additions, -66 deletions)

View changed files

📝 .yarnrc.yml (+2 -0)
📝 eslint.config.mjs (+1 -0)
📝 package.json (+2 -1)
packages/sync-server/.dockerignore (+12 -0)
packages/sync-server/.editorconfig (+11 -0)
packages/sync-server/.eslintignore (+6 -0)
packages/sync-server/.eslintrc.cjs (+21 -0)
packages/sync-server/.github-server/FUNDING.yml (+4 -0)
packages/sync-server/.github-server/ISSUE_TEMPLATE/bug-report.yml (+80 -0)
packages/sync-server/.github-server/ISSUE_TEMPLATE/config.yml (+11 -0)
packages/sync-server/.github-server/PULL_REQUEST_TEMPLATE.md (+1 -0)
packages/sync-server/.github-server/workflows/build.yml (+29 -0)
packages/sync-server/.github-server/workflows/docker-edge.yml (+87 -0)
packages/sync-server/.github-server/workflows/docker-release.yml (+88 -0)
packages/sync-server/.github-server/workflows/lint.yml (+29 -0)
packages/sync-server/.github-server/workflows/release-notes.yml (+18 -0)
packages/sync-server/.github-server/workflows/stale.yml (+26 -0)
packages/sync-server/.github-server/workflows/test.yml (+29 -0)
packages/sync-server/.gitignore (+33 -0)
packages/sync-server/.node-version (+1 -0)

...and 80 more files

📄 Description

Current issue: Move the github actions into this repo

This is a test branch

I'm using it to see what issues we could face by merging the repos together. This will be deleted once I've finished testing/documenting.

Steps I've taken:

git remote add --fetch old_server https://github.com/actualbudget/actual-server.git

git fetch old_server

git branch oldservermaster old_server/master

git checkout oldservermaster

<Manually delete node_modules files/anything that doesn't belong in server>

<Manually copy contents of repo into packages/sync-server (create folder for it) - including git workflows but not .git folder and not .yarn folder, or .yarnrc.yml. You should end up with root folder of .git and packages folder only>

git add .
git c -am "Moved actual-server into actual repo"
 git co master
git co -b merge-actual-server-into-actual
git merge --allow-unrelated-histories oldservermaster

Add the following to the root package.json

    "start:server": "yarn rebuild-node && yarn workspace actual-sync start",

Remove the following from the sync-server/package.json:

  "engines": {
    "node": ">=18.0.0"
  },
  "packageManager": "yarn@4.3.1"

Keep the version specifiers in the sync-server/package.json - we'll work out how we want to reference them later - if we choose to add workspace references it will require building the dependencies which is more overhead for users.

Delete node_modules folder and run yarn again:

yarn 
git add .
git c -am "updating yarn lock file for sync-server"

Update load-config.js to point to the new webroot (I added the two '../', '../' to account for the new folder structure):

  webRoot: path.join(
    projectRoot,
    '../',
    '../',
    'node_modules',
    '@actual-app',
    'web',
    'build',
  ),

Notes

  • If this was merged release notes would be merged also. Check that it's OK that release notes are merged (and nested under Actual on the docs website). If it's not alright, think of a new way to do release notes - maybe create new folders upcoming-releases/actual and upcoming-releases/actual-server to allow us to specify more granularly
  • Remember to remove .yarn folder and .yarnrc.yml from the packages/server. If it's not removed yarn will have issues finding packages and server wont start

To merge this - DO NOT SQUASH. We want to keep the commits. Use a merge commit (may need to relax the PR rules for this)


OLD:

Created a separate PR to prep for this - https://github.com/actualbudget/actual/pull/4160:

  • Update eslint file to ignore the sync-server directory (until we fix the code)
  • Update the yarnrc.yml to include enableTransparentWorkspaces: false - this allows us to continue using npm packages when we still use workspaces

Added the following to yarnrc.yml to enable us to use npm packages when the package is also in the workspace:

enableTransparentWorkspaces: false

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/actualbudget/actual/pull/4139 **Author:** [@MikesGlitch](https://github.com/MikesGlitch) **Created:** 1/12/2025 **Status:** ❌ Closed **Base:** `master` ← **Head:** `merge-actual-server-into-actual` --- ### 📝 Commits (10+) - [`c8a901d`](https://github.com/actualbudget/actual/commit/c8a901d3ff69724eaef3a9f31b64230ca5d3324b) (nordigen) Include hashed IBAN in get-accounts and transactions endpoints (#166) - [`7713848`](https://github.com/actualbudget/actual/commit/7713848067002b6c1c06e81016a2e4dddceb3e4d) Include *.test.js files in test run (#171) - [`9b2d74c`](https://github.com/actualbudget/actual/commit/9b2d74c3adbf53357d50cc931055c73742ea6f3f) Stream file without loading to memory in /download-user-file (#172) - [`b6073f7`](https://github.com/actualbudget/actual/commit/b6073f7e6f2568b28f876b481250ebe9e20ae01c) Update docker-compose.yml (#150) - [`cb73109`](https://github.com/actualbudget/actual/commit/cb731099e6cbd197614ee3978bebdf802027652c) Add linux/arm/v7 to the list of platforms for the Docker image (#141) - [`c3d89b6`](https://github.com/actualbudget/actual/commit/c3d89b6509a2ef116e14d01b20b301116ca7bb91) :sparkles: New Docker Hub org in CI and README (#175) - [`bf4319d`](https://github.com/actualbudget/actual/commit/bf4319d978381090ecca8f7692bf9f92f9e1f999) Add some basic debug logging (#178) - [`7e88de1`](https://github.com/actualbudget/actual/commit/7e88de182ef452d84a20b13078354757af17a2b2) :bookmark: (23.4.0) (#180) - [`063d468`](https://github.com/actualbudget/actual/commit/063d468836d8560c4f9390eca9b8380b2887e046) Add support for armv6l (alpine based images) (#182) - [`6f7306c`](https://github.com/actualbudget/actual/commit/6f7306cd37e8372fe9fd8d2f938e53b1f5974d13) Don’t check for release notes on release/* branches (#181) ### 📊 Changes **164 files changed** (+16563 additions, -66 deletions) <details> <summary>View changed files</summary> 📝 `.yarnrc.yml` (+2 -0) 📝 `eslint.config.mjs` (+1 -0) 📝 `package.json` (+2 -1) ➕ `packages/sync-server/.dockerignore` (+12 -0) ➕ `packages/sync-server/.editorconfig` (+11 -0) ➕ `packages/sync-server/.eslintignore` (+6 -0) ➕ `packages/sync-server/.eslintrc.cjs` (+21 -0) ➕ `packages/sync-server/.github-server/FUNDING.yml` (+4 -0) ➕ `packages/sync-server/.github-server/ISSUE_TEMPLATE/bug-report.yml` (+80 -0) ➕ `packages/sync-server/.github-server/ISSUE_TEMPLATE/config.yml` (+11 -0) ➕ `packages/sync-server/.github-server/PULL_REQUEST_TEMPLATE.md` (+1 -0) ➕ `packages/sync-server/.github-server/workflows/build.yml` (+29 -0) ➕ `packages/sync-server/.github-server/workflows/docker-edge.yml` (+87 -0) ➕ `packages/sync-server/.github-server/workflows/docker-release.yml` (+88 -0) ➕ `packages/sync-server/.github-server/workflows/lint.yml` (+29 -0) ➕ `packages/sync-server/.github-server/workflows/release-notes.yml` (+18 -0) ➕ `packages/sync-server/.github-server/workflows/stale.yml` (+26 -0) ➕ `packages/sync-server/.github-server/workflows/test.yml` (+29 -0) ➕ `packages/sync-server/.gitignore` (+33 -0) ➕ `packages/sync-server/.node-version` (+1 -0) _...and 80 more files_ </details> ### 📄 Description <!-- Thank you for submitting a pull request! Make sure to follow the instructions to write release notes for your PR — it should only take a minute or two: https://github.com/actualbudget/docs#writing-good-release-notes --> ## Current issue: Move the github actions into this repo ## This is a test branch I'm using it to see what issues we could face by merging the repos together. This will be deleted once I've finished testing/documenting. ## Steps I've taken: ``` git remote add --fetch old_server https://github.com/actualbudget/actual-server.git git fetch old_server git branch oldservermaster old_server/master git checkout oldservermaster ``` <Manually delete node_modules files/anything that doesn't belong in server> <Manually copy contents of repo into packages/sync-server (create folder for it) - including git workflows but not .git folder and not .yarn folder, or .yarnrc.yml. You should end up with root folder of .git and packages folder only> ``` git add . git c -am "Moved actual-server into actual repo" git co master git co -b merge-actual-server-into-actual git merge --allow-unrelated-histories oldservermaster ``` Add the following to the root package.json ``` "start:server": "yarn rebuild-node && yarn workspace actual-sync start", ``` Remove the following from the sync-server/package.json: ``` "engines": { "node": ">=18.0.0" }, "packageManager": "yarn@4.3.1" ``` Keep the version specifiers in the sync-server/package.json - we'll work out how we want to reference them later - if we choose to add workspace references it will require building the dependencies which is more overhead for users. Delete node_modules folder and run yarn again: ``` yarn git add . git c -am "updating yarn lock file for sync-server" ``` Update load-config.js to point to the new webroot (I added the two '../', '../' to account for the new folder structure): ``` webRoot: path.join( projectRoot, '../', '../', 'node_modules', '@actual-app', 'web', 'build', ), ``` # Notes - If this was merged release notes would be merged also. Check that it's OK that release notes are merged (and nested under Actual on the docs website). If it's not alright, think of a new way to do release notes - maybe create new folders upcoming-releases/actual and upcoming-releases/actual-server to allow us to specify more granularly - Remember to remove .yarn folder and .yarnrc.yml from the packages/server. If it's not removed yarn will have issues finding packages and server wont start ## To merge this - DO NOT SQUASH. We want to keep the commits. Use a merge commit (may need to relax the PR rules for this) ------ # OLD: ## Created a separate PR to prep for this - https://github.com/actualbudget/actual/pull/4160: - Update eslint file to ignore the sync-server directory (until we fix the code) - Update the yarnrc.yml to include ``` enableTransparentWorkspaces: false ``` - this allows us to continue using npm packages when we still use workspaces - Added the following to yarnrc.yml to enable us to use npm packages when the package is also in the workspace: ``` enableTransparentWorkspaces: false ``` --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-02-28 21:08:04 -06:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/actual#5206