diff --git a/.gitattributes b/.gitattributes index 3ad91aa898..ad84fe7c7b 100644 --- a/.gitattributes +++ b/.gitattributes @@ -8,6 +8,8 @@ # Declare files that will always have LF line endings on checkout. *.js text eol=lf +*.ts text eol=lf +*.sh text eol=lf yarn.lock text eol=lf # Denote all files that are truly binary and should not be modified. diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index f315aa7ec8..47475a636d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -45,20 +45,26 @@ jobs: name: actual-web path: packages/desktop-client/build - # TODO: re-enable after solving https://github.com/actualbudget/actual/issues/468 - # electron: - # # As electron builds take longer, we only run them in master. - # if: github.event_name != 'pull_request' - # strategy: - # matrix: - # os: - # - ubuntu-latest - # - windows-latest - # - macos-latest - # runs-on: ${{ matrix.os }} - # steps: - # - uses: actions/checkout@v3 - # - name: Set up environment - # uses: ./.github/actions/setup - # - name: Build Electron - # run: ./bin/package + electron: + # As electron builds take longer, we only run them in master. + strategy: + matrix: + os: + - ubuntu-latest + - windows-latest + - macos-latest + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v3 + - name: Set up environment + uses: ./.github/actions/setup + - name: Build Electron + run: ./bin/package-electron + - name: Upload Build + uses: actions/upload-artifact@v3 + with: + name: actual-electron-${{ matrix.os }} + path: | + packages/desktop-electron/dist/*.dmg + packages/desktop-electron/dist/*.exe + packages/desktop-electron/dist/*.AppImage diff --git a/bin/make-release b/bin/make-release index 0792b60bd7..db4b5de279 100755 --- a/bin/make-release +++ b/bin/make-release @@ -42,7 +42,7 @@ git tag -a "$VERSION" -m "$NOTES" git push origin "$VERSION" # Make a macOS version -./bin/package --release --version "$VERSION" +./bin/package-electron --release --version "$VERSION" # TODO: browser version diff --git a/bin/package b/bin/package-electron similarity index 92% rename from bin/package rename to bin/package-electron index 84ca81157d..81509a1cf6 100755 --- a/bin/package +++ b/bin/package-electron @@ -74,19 +74,15 @@ if [ "$OSTYPE" == "msys" ]; then fi fi -# We only need to run linting once (and this doesn't seem to work on -# Windows for some reason) -if [[ $CI != true && "$OSTYPE" == "darwin"* ]]; then - yarn lint -fi - yarn patch-package +yarn rebuild-electron + yarn workspace loot-core build:node yarn workspace @actual-app/web build -yarn workspace Actual update-client +yarn workspace desktop-electron update-client ( cd packages/desktop-electron; @@ -103,7 +99,7 @@ yarn workspace Actual update-client echo "\nCreated release $VERSION with release notes \"$RELEASE_NOTES\"" elif [ "$RELEASE" == "beta" ]; then yarn build --publish never --arm64 --x64 - + echo "\nCreated beta release $VERSION" else SKIP_NOTARIZATION=true yarn build --publish never --x64 diff --git a/package.json b/package.json index 1091833580..66d3788892 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "start:desktop": "npm-run-all --parallel 'start:desktop-*'", "start:desktop-node": "yarn workspace loot-core watch:node", "start:desktop-client": "yarn workspace @actual-app/web watch", - "start:desktop-electron": "yarn workspace Actual watch", + "start:desktop-electron": "yarn workspace desktop-electron watch", "start:browser": "npm-run-all --parallel 'start:browser-*'", "start:browser-backend": "yarn workspace loot-core watch:browser", "start:browser-frontend": "yarn workspace @actual-app/web start:browser", diff --git a/packages/desktop-client/src/browser-preload.browser.js b/packages/desktop-client/src/browser-preload.browser.js index 41695b0f4d..c1c02b882d 100644 --- a/packages/desktop-client/src/browser-preload.browser.js +++ b/packages/desktop-client/src/browser-preload.browser.js @@ -110,7 +110,6 @@ global.Actual = { applyAppUpdate: () => {}, updateAppMenu: isBudgetOpen => {}, - ipcConnect: () => {}, getServerSocket: async () => { return worker; }, diff --git a/packages/desktop-client/src/components/manager/ConfigServer.js b/packages/desktop-client/src/components/manager/ConfigServer.js index 99e4819b31..b2c88e7717 100644 --- a/packages/desktop-client/src/components/manager/ConfigServer.js +++ b/packages/desktop-client/src/components/manager/ConfigServer.js @@ -5,6 +5,7 @@ import { useHistory } from 'react-router-dom'; import { createBudget } from 'loot-core/src/client/actions/budgets'; import { signOut, loggedIn } from 'loot-core/src/client/actions/user'; import { isNonProductionEnvironment } from 'loot-core/src/shared/environment'; +import { isElectron } from 'loot-core/src/shared/environment'; import { useSetThemeColor } from '../../hooks'; import { colors } from '../../style'; @@ -165,17 +166,19 @@ export default function ConfigServer() { ) : ( <> - + {!isElectron() && ( + + )}