Skip to content
This repository has been archived by the owner on Jan 5, 2022. It is now read-only.

Commit

Permalink
Add Release files. Update documentation.
Browse files Browse the repository at this point in the history
  • Loading branch information
BrunoBernardino committed Sep 14, 2021
1 parent 8535343 commit 638444b
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 36 deletions.
24 changes: 8 additions & 16 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -28,26 +28,18 @@ lint:
pretty:
npm run pretty

.PHONY: deploy/mas
deploy/mas:
.PHONY: build/macos
build/macos:
npm run make/mas

.PHONY: deploy/snap
deploy/snap:
.PHONY: build/snap
build/snap:
npm run make/snap

.PHONY: deploy/win
deploy/win:
.PHONY: build/win
build/win:
npm run make/win

.PHONY: deploy/mas/prod
deploy/mas/prod:
@test -n "$(OSX_SIGN_IDENTITY)" || (echo "Please define an OSX_SIGN_IDENTITY variable" ; exit 1)
@test -n "$(OSX_FLAT_IDENTITY)" || (echo "Please define an OSX_FLAT_IDENTITY variable" ; exit 1)
npm run sign -- --identity=$(OSX_SIGN_IDENTITY)
npm run flat -- --identity=$(OSX_FLAT_IDENTITY)
@# npm run publish -- not really used

.PHONY: deploy/snap/prod
deploy/snap/prod:
.PHONY: deploy/snap
deploy/snap:
snapcraft upload --release=stable dist/budgetzen-desktop_*.snap
26 changes: 9 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@

[![](https://github.com/BrunoBernardino/budgetzen-desktop/workflows/Run%20Tests/badge.svg)](https://github.com/BrunoBernardino/budgetzen-desktop/actions?workflow=Run+Tests)

This is the repo for the desktop electron app (macOS via App Store and Linux via Snapcraft). Website is at https://budgetzen.net
This is the repo for the desktop electron app (macOS via local build, Linux via Snapcraft, Windows via download). Website is at https://budgetzen.net

**NOTE**: The app is no longer available in the App Store for ideological reasons. You can still build it from this repo yourself, or download + install the EXE from the [Releases page](https://github.com/BrunoBernardino/budgetzen-desktop/releases). Personally, I'm using the [web app version](https://app.budgetzen.net) now for both mobile and desktop, though.

## Development

Expand All @@ -15,39 +17,29 @@ make test # runs lint + tests

## Deployment (macOS)

Make sure you've downloaded the appropriate `*.provisionprofile` from https://developer.apple.com/account/resources/profiles/list, save it as `BudgetZen-macOS.provisionprofile`

```bash
make deploy/mas # packages to try locally
OSX_SIGN_IDENTITY=X OSX_FLAT_IDENTITY=Y make deploy/mas/prod # signs app to upload via Transporter (the generated .pkg inside the app folder, not `make` — that one's not signed, intentionally)
make build/macos # packages to try locally and upload to releases (generated .pkg file)
```

`OSX_SIGN_IDENTITY` is the distribution/application identity, and the `OSX_FLAT_IDENTITY` is the installer identity.

To find available identities, run:

```bash
security find-identity -v
```
See [an older commit](https://github.com/BrunoBernardino/budgetzen-desktop/tree/85353436fc79eaa594b6f2500fbadc06d238a638#deployment-macos) for other commands, related to publishing to the Mac App Store.

## Deployment (Linux)

```bash
make deploy/snap # packages to try locally and upload (generated .snap file)
make build/snap # packages to try locally and upload to snap store (generated .snap file)
sudo snap install dist/budgetzen-desktop_*.snap # installs app locally to try
make deploy/snap/prod # uploads app via snapcraft to https://snapcraft.io/budgetzen/listing
make deploy/snap # uploads app via snapcraft to https://snapcraft.io/budgetzen/listing
```

## Deployment (Windows)

```bash
make deploy/win # packages to try locally and upload (generated .exe file) -- requires `wine` to be installed (`brew install --cask wine-stable`) if running on macOS
make build/win # packages to try locally and upload (generated .exe file) -- requires `wine` to be installed (`brew install --cask wine-stable`) if running on macOS
wine install dist/Budget*.exe # installs app locally to try
```

Upload file to [Budget Zen's website](https://budgetzen.net/Budget Zen Setup.exe).

## TODOs:

- [ ] Create script/command to build a .appimage for linux in addition to snap store
- [ ] When running `make deploy`, update/write the package.json:buildHash and version properties automatically
- [ ] Properly tweak UI for dark/light mode
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 0 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@
"make/mas": "npm run clean && electron-forge make --platform=mas",
"make/snap": "npm run clean && electron-builder --linux snap",
"make/win": "npm run clean && electron-builder --win nsis",
"sign": "electron-osx-sign 'out/Budget Zen-mas-x64/Budget Zen.app' --provisioning-profile='BudgetZen-macOS.provisionprofile' --entitlements='entitlements.plist' --platform=mas --version=10.1.3 --type=distribution",
"flat": "electron-osx-flat 'out/Budget Zen-mas-x64/Budget Zen.app' --platform=mas",
"publish": "electron-forge publish",
"test": "jest",
"lint": "eslint --ext .js,.jsx,.ts,.tsx src/ *.js",
Expand Down

0 comments on commit 638444b

Please sign in to comment.