Gavin D'souza
a6f196440a
refactor(cli): Commands Resolution
...
The implementations so far were hacks that worked for the most used
commands but broken down when challenged or expected to maintain
documented usages [eg: custom app commands].
The current implementation consists of a two step approach:
1. figure out command name that user is trying to execute
2. pass the directive to the app (bench, frappe or other) that consists of the cmd
---
For tackling #1 , get_cmd_from_sysargv contains exhaustive rules that
cover all (that i know and ive come across) combinations of valid
frappe commands.
For problem #2 , a simple check in click's Group object does the trick.
Tested with possible known commands with combinations of context flags
and params, with bench, frappe & external app's commands
2022-07-27 11:08:19 +05:30
Jared L
7da62f96f2
fix(nginx): set proxy_http_version
to 1.1
...
This sets the `proxy_http_version` to `1.1`.
The reason this change should be implemented is that when this is deployed in a Kubernetes environment with Istio, the proxy request fails with HTTP error 426 as the HTTP version is too low for envoy to handle. Setting it to `1.1` will solve the issue.
2022-07-25 10:38:47 +10:00
semantic-release-bot
aae3ffc34e
chore(release): Bumped to Version 5.12.1
...
## [5.12.1](https://github.com/frappe/bench/compare/v5.12.0...v5.12.1 ) (2022-06-29)
### Bug Fixes
* Use == to define had pinned requirement ([beac865
](beac865153
))
2022-06-29 14:03:37 +00:00
Gavin D'souza
1ff8b05fd8
Merge branch 'staging' into v5.x
2022-06-29 19:32:23 +05:30
Gavin D'souza
db1dc6225f
Merge branch 'develop' into staging
2022-06-29 19:31:54 +05:30
Gavin D'souza
beac865153
fix: Use == to define had pinned requirement
...
This allows one to add a dependency like `PyPika = '5.1.0'` directly
instead of `PyPika = '==5.1.0'`
2022-06-29 19:29:31 +05:30
semantic-release-bot
b2a48f0dba
chore(release): Bumped to Version 5.12.0
...
# [5.12.0](https://github.com/frappe/bench/compare/v5.11.0...v5.12.0 ) (2022-06-29)
### Bug Fixes
* (re)Install every Frappe app even if not installed to env ([ffae670
](ffae670be7
))
* fixed update_app_states call ([#1326 ](https://github.com/frappe/bench/issues/1326 )) ([45267fc
](45267fc897
))
### Features
* Setup dev-dependencies defined via pyproject ([75957a5
](75957a56ee
))
2022-06-29 13:47:53 +00:00
Gavin D'souza
ffc434dfcc
Merge branch 'staging' into v5.x
2022-06-29 19:16:46 +05:30
Gavin D'souza
777ac114cd
Merge branch 'develop' into staging
2022-06-29 19:16:11 +05:30
Aradhya Tripathi
45267fc897
fix: fixed update_app_states call ( #1326 )
2022-06-23 00:10:41 +05:30
gavin
28549ff139
Merge pull request #1323 from gavindsouza/dev-deps-toml
...
feat: Dev Dependencies via pyproject.toml
2022-06-17 18:02:22 +05:30
Gavin D'souza
75957a56ee
feat: Setup dev-dependencies defined via pyproject
...
Since support for pyproject.toml exists, Frappe has gotten rid of
requirements.txt file. However, dev-requirements.txt file still existed
in Frappe & other apps. With this, we can get rid of the separate
dev-reqs file as well and replace it by defining the deps in pyproject
under [tool.bench.dev-dependencies]
Example:
For Frappe, this transition will look like moving the contents of
dev-requirements.txt as follows:
```
\# dev-requirements.txt
coverage==5.5
Faker~=13.12.1
pyngrok~=5.0.5
unittest-xml-reporting~=3.0.4
```
```
\# pyproject.toml
[tool.bench.dev-dependencies]
coverage = "==5.5"
Faker = "~=13.12.1"
pyngrok = "~=5.0.5"
unittest-xml-reporting = "~=3.0.4"
```
Note: If dev-dependencies are defined in pyproject.toml, and a
dev-dependencies.txt file exists - the txt file will be ignored.
2022-06-16 18:16:57 +05:30
Gavin D'souza
ffae670be7
fix: (re)Install every Frappe app even if not installed to env
2022-06-16 17:54:21 +05:30
semantic-release-bot
7ec320fa40
chore(release): Bumped to Version 5.11.0
...
# [5.11.0](https://github.com/frappe/bench/compare/v5.10.1...v5.11.0 ) (2022-06-14)
### Features
* Support Frappe app distributions with pyproject.toml ([800394c
](800394cdda
))
2022-06-14 12:21:06 +00:00
Gavin D'souza
c968c10cde
Merge branch 'staging' into v5.x
2022-06-14 17:50:08 +05:30
Gavin D'souza
3629262543
Merge branch 'develop' into staging
2022-06-14 17:49:01 +05:30
semantic-release-bot
85e3a363ee
chore(release): Bumped to Version 5.10.1
...
## [5.10.1](https://github.com/frappe/bench/compare/v5.10.0...v5.10.1 ) (2022-06-14)
### Bug Fixes
* Bump Nodejs v12 => v14 ([cd0fccf
](cd0fccfdb4
))
2022-06-14 12:17:33 +00:00
Gavin D'souza
2a3cd9dcd2
Merge branch 'staging' into v5.x
2022-06-14 17:46:34 +05:30
Gavin D'souza
d8e6fbe34b
Merge branch 'develop' into staging
2022-06-14 17:46:22 +05:30
gavin
39553b343b
Merge pull request #1322 from gavindsouza/pyproject-toml
...
feat: Support Frappe app distributions with pyproject.toml
2022-06-14 17:44:39 +05:30
Gavin D'souza
800394cdda
feat: Support Frappe app distributions with pyproject.toml
...
Patches get_app_name which reads app name from pyproject's project.name
attribute, setup.cfg's metadata.name or setup.py's name variable.
2022-06-14 16:01:42 +05:30
Gavin D'souza
24e2dd37fe
chore: Remove release related tests
2022-06-14 16:00:50 +05:30
Gavin D'souza
21eceae6ac
chore: Drop dead code
...
tx [vulture](https://pypi.org/project/vulture/ )
2022-06-14 15:48:56 +05:30
Gavin D'souza
4fcda9ae22
chore: Drop release project
...
Release is yet another dead / unmaintained project in bench. It used to
be in action - the tool to release ERPNext & Frappe for years but we've
moved to other automated pipelines (that have been around for a while
too). Time to say good-bye to these commands too 👋
2022-06-14 15:41:22 +05:30
Gavin D'souza
0f64446c17
chore: Drop vm project
...
VM project has been unmaintained and out of date for a long long time
now. The auto-build and publish pipeline has been dead for years and has
been de-listed too from erpnext.org. Nows a better time than ever to get
rid of this unmaintained piece of the project.
2022-06-14 15:36:20 +05:30
gavin
a1a0d5dae4
Merge pull request #1319 from rtdany10/patch-3
...
fix: Bump Nodejs v12 => v14
2022-06-14 11:13:41 +05:30
semantic-release-bot
175eff7bf7
chore(release): Bumped to Version 5.10.0
...
# [5.10.0](https://github.com/frappe/bench/compare/v5.9.0...v5.10.0 ) (2022-06-09)
### Bug Fixes
* using local clones if path is passed in get-app ([5f37135
](5f37135ff2
))
### Features
* get-app ln -s ([e69b612
](e69b612035
))
2022-06-09 05:58:53 +00:00
Gavin D'souza
40da1c5693
Merge branch 'staging' into v5.x
2022-06-09 11:27:49 +05:30
Gavin D'souza
07c3c75cd3
Merge branch 'develop' into staging
2022-06-09 11:27:20 +05:30
gavin
8922e8d35f
Merge pull request #1321 from Aradhya-Tripathi/fixes
...
fix: using local clones if path is passed in get-app
2022-06-09 11:26:29 +05:30
Aradhya Tripathi
dfed5c64a2
Merge branch 'develop' into fixes
2022-06-09 10:29:53 +05:30
Aradhya
011332da14
tests: Updated tests
2022-06-09 10:29:07 +05:30
Aradhya
5f37135ff2
fix: using local clones if path is passed in get-app
2022-06-09 10:27:53 +05:30
gavin
6498bacf07
Merge pull request #1315 from dj12djdjs/feat-softlink-getpp
...
feat: get-app support soft link as alternative to git clone
2022-06-08 13:48:41 +05:30
semantic-release-bot
508df3736f
chore(release): Bumped to Version 5.9.0
...
# [5.9.0](https://github.com/frappe/bench/compare/v5.8.1...v5.9.0 ) (2022-06-08)
### Bug Fixes
* add code removed via erroneous commit ([b28cfab
](b28cfab550
))
* added code removed via erroneous commit ([5b64175
](5b641758cf
))
* added code removed via erroneous commit ([7e28a3d
](7e28a3dd9e
))
* allow bench init with git tags ([c943b30
](c943b30c66
))
* case-insensitive matching ([3f57616
](3f57616803
))
* check current branch ([2287f3f
](2287f3f7ec
))
* Check for unauthorized status code in response ([e9b0112
](e9b0112a9c
))
* check for valid branch in resolve ([79765e6
](79765e6b25
))
* checking status code to determine rate limit ([dbb1904
](dbb19046df
))
* Delete folder if --no-backup is passed ([f7f7459
](f7f7459c51
))
* Don't handle `BaseException`s ([ad000f1
](ad000f1be7
))
* empty states json condition ([67df07b
](67df07b732
))
* fixed app states and checking/updating frappe version on install ([30a4ec3
](30a4ec3b42
))
* fixed app states and checking/updating frappe version on install ([42f4d74
](42f4d74beb
))
* fixed args to sync-states ([c667be9
](c667be9023
))
* fixed frappe branch check ([6c15327
](6c15327348
))
* fixed init in get-app and frappe versions ([88c2367
](88c23673d6
))
* fixed init in get-app and frappe versions ([e3bd34c
](e3bd34c12c
))
* Fixed order of install ([281d96a
](281d96ac16
))
* fixed org, branch for apps mounted on disk ([#1293 ](https://github.com/frappe/bench/issues/1293 )) ([c8ef822
](c8ef8224d4
))
* fixed states sync ([7f37488
](7f374887f4
))
* Handle tag fetching failures of disk mounted App inits ([117d456
](117d456b16
))
* logging when in init-bench ([a26f3ce
](a26f3ce564
))
* logging when in init-bench ([de315f2
](de315f27ad
))
* merge conflicts ([61a864d
](61a864de11
))
* merge conflicts ([ca45305
](ca4530528c
))
* minor fixes ([94105c0
](94105c0aa8
))
* minor fixes ([e629ca6
](e629ca6f86
))
* Misc fixes ([#1294 ](https://github.com/frappe/bench/issues/1294 )) ([eb71573
](eb715735bb
))
* missing installed branch ([af3c871
](af3c871632
))
* print required by in output ([5bb3b52
](5bb3b52f23
))
* Remove virtualenv dependency ([e0f6b17
](e0f6b1735d
))
* **remove-app:** Use App.name instead of App.repo for consistent App name ([a3b859b
](a3b859bf50
))
* removed erroneous file push ([f2fe569
](f2fe56962f
))
* removed erroneous file push ([b7e46aa
](b7e46aab6f
))
* removed unnecessary requests while removing apps ([49900ce
](49900ce74b
))
* replace certbot-auto with certbot ([#1303 ](https://github.com/frappe/bench/issues/1303 )) ([a889325
](a88932592e
))
* reverted changes made by erroneous commit ([b8aa008
](b8aa00898f
))
* reverted erroneous commits ([ff98aaf
](ff98aaf198
))
* support for local and remote apps when looking for dependencies ([2f17da1
](2f17da1bf0
))
* support single required app ([c8205e4
](c8205e485d
))
* updated apps.sync to support new app_name parameter ([7980709
](7980709a20
))
* User messages on get-app actions ([d33d987
](d33d987b2c
))
### Features
* add commit hash and branch in `states.json` ([9004e1d
](9004e1dd6a
))
* add required and order of install ([9ac091b
](9ac091b4d9
))
* Added app states ([fdab757
](fdab757f9b
))
* Added app states ([549e8e2
](549e8e2a1d
))
* Added app_name attribute to App class ([35504f8
](35504f81b3
))
* Added bench command for resolve and install ([cdaeea1
](cdaeea1d4a
))
* Added bench command for resolve and install ([7a311a2
](7a311a242d
))
* Added exception for invalid version ([ddd498e
](ddd498ebd0
))
* Added support for backward compatibility in states ([a1a35ee
](a1a35eed0e
))
* added support for fetching dependencies from hooks.py ([58319a2
](58319a21b7
))
* added support for fetching dependencies from hooks.py ([7f678a3
](7f678a3047
))
* Added support for mounted app in get_dependencies ([0b862c0
](0b862c0745
))
* alternative request to validate branch ([8dd92c3
](8dd92c32b1
))
* **config:** Add IPv6 listener to nginx site configuration ([#1312 ](https://github.com/frappe/bench/issues/1312 )) ([593c7b7
](593c7b737f
))
* Exiting when app does not exist ([fc0be25
](fc0be250c2
))
* introduced simple resolver ([bfd69c3
](bfd69c37eb
))
* introduced simple resolver ([d41e05e
](d41e05e24f
))
* Made dynamic mount path if bench attr is passed to App class ([b36c072
](b36c0723be
))
* mimicking get-app behaviour when app is already installed ([bbca3e9
](bbca3e9fab
))
* printing resolved dependencies when using resolve-deps flag wih get-app ([95b0834
](95b0834932
))
* printing resolved dependencies when using resolve-deps flag wih get-app ([bba4019
](bba4019579
))
* **remove-app:** Options for no backup of app & force removal ([69e14e5
](69e14e512f
))
* slower alternative for get_required_deps ([d0bd294
](d0bd294dc2
))
* using gitpython for branch validation ([cb2b0b0
](cb2b0b0d7c
))
* verbose env setup & checking for compatible versions ([d178b08
](d178b08abb
))
* verbose error messages ([19f9325
](19f932513f
))
### Performance Improvements
* caching deps and orgs, repos to avoid time taking checks & added slower version to check org and repo ([bd105a6
](bd105a6609
))
* Using github API ([b0ae3ae
](b0ae3ae359
))
2022-06-08 08:03:25 +00:00
Gavin D'souza
1519f034b7
Merge branch 'staging' into v5.x
2022-06-08 13:31:59 +05:30
Gavin D'souza
2005fde2cd
Merge branch 'develop' into staging
2022-06-08 13:28:22 +05:30
Dany Robert
cd0fccfdb4
fix: Bump Nodejs v12 => v14
2022-06-06 17:18:54 +05:30
Devin Slauenwhite
e69b612035
feat: get-app ln -s
2022-06-03 04:47:23 +00:00
Orsiris de Jong
593c7b737f
feat(config): Add IPv6 listener to nginx site configuration ( #1312 )
2022-05-30 17:05:08 +05:30
gavin
d194dc8bb1
Merge pull request #1314 from gavindsouza/rm-virtualenv
...
fix: Remove virtualenv dependency
2022-05-30 16:27:18 +05:30
Gavin D'souza
e0f6b1735d
fix: Remove virtualenv dependency
...
Use virtualenv cli only if found in PATH. Else use
venv package of the invoker's Python installation.
venv was added in the std lib since PY33.
ref: https://docs.python.org/3/library/venv.html
2022-05-30 14:32:55 +05:30
Devin Slauenwhite
a88932592e
fix: replace certbot-auto with certbot ( #1303 )
...
* fix: replace certbot-auto references with certbot and add in prerequesites ansile tasks
* fix: config file flag fix
* fix: certbot path using find_executable instead of hardcoded
* fix: remove easy install entry for certbot
* fix: replace find_executable with which
* fix: no need to check and raise.
* fix: provide user with cerbot install instructions"
* fix: return certbot path
* fix: Use get_certbot_path instead of harcoded path
Co-authored-by: Abhishek Balam <abhishekbalam96@gmail.com>
Co-authored-by: gavin <gavin18d@gmail.com>
2022-05-23 12:44:25 +05:30
gavin
6790f6beaa
Merge pull request #1309 from gavindsouza/remove-app
...
feat(remove-app): --no-backup, --force
2022-05-19 15:08:42 +05:30
gavin
f7f7459c51
fix: Delete folder if --no-backup is passed
2022-05-19 13:09:18 +05:30
gavin
69e14e512f
feat(remove-app): Options for no backup of app & force removal
2022-05-19 13:00:09 +05:30
gavin
a3b859bf50
fix(remove-app): Use App.name instead of App.repo for consistent App name
2022-05-19 12:58:24 +05:30
gavin
117d456b16
fix: Handle tag fetching failures of disk mounted App inits
2022-05-19 12:57:05 +05:30
gavin
338df66e48
Merge pull request #1306 from revant/fix-init-for-tag
...
fix: allow bench init with git tags
2022-05-17 14:07:07 +05:30
Aradhya
e7055fc6d9
test: Added tests for frappe tags
2022-05-15 23:58:45 +05:30