2
0
mirror of https://github.com/frappe/bench.git synced 2024-11-16 01:57:08 +00:00
Commit Graph

2165 Commits

Author SHA1 Message Date
Gavin D'souza
203f41e405 test: Skip deps resolution for non develop branches 2022-07-28 13:35:04 +05:30
Gavin D'souza
22294fce5b ci: Add PY3.10 to runner matrix
Reduce existing runners based on lesser variance to breakages
2022-07-28 11:50:10 +05:30
Gavin D'souza
5515b0f4ca ci: Update pip, wheel, setuptools explicitly in install 2022-07-28 11:37:16 +05:30
Gavin D'souza
38fa45607d build: Bump python-crontab dependency
Package v2.4.2 leads to a build error on PY 3.7, 3.8

ref: https://app.travis-ci.com/github/frappe/bench/jobs/577932789
2022-07-28 11:24:29 +05:30
Gavin D'souza
86c3c90fd9 build: Retire setup.py + reqs.txt to use pyproject.toml 2022-07-27 18:40:17 +05:30
Gavin D'souza
1badfa8da4 ci: Update conditions for FRAPPE_BRANCH 2022-07-27 16:54:46 +05:30
gavin
e66fe9ca02
Merge pull request #1333 from lhjt/patch-1
fix(nginx): set `proxy_http_version` to `1.1`
2022-07-27 15:34:37 +05:30
Orsiris de Jong
94a25d3da7
fix(config): Fix fail2ban filter (#1308)
* Add missing nginx-proxy filter

* Add all nginx log files to fail2ban filter, regardless of frappe site

* Adds per site nginx logs in /var/log
2022-07-27 14:58:53 +05:30
gavin
1e0054bc14
Merge pull request #1335 from gavindsouza/pre-commit-files
feat!: Add auto-formatting & linting via pre-commit
2022-07-27 14:45:58 +05:30
Gavin D'souza
af46fedc28 refactor(minor): Use more readable alternatives 2022-07-27 14:39:32 +05:30
Gavin D'souza
a84239d6ab refactor: Bench
* Drop patches of v3 & v4
* Re-write buggy / broken code wrt hints by pre-commit checks
* Auto-format and transform code
* Remove re-written & mutable function defaults
2022-07-27 14:39:22 +05:30
Gavin D'souza
b1b8d70055 feat: Add pre-commit checks
* Base pre-commit checks for trailing whitespces, valid files, etc
* pyupgrade with PY37+ syntax
* Aditya's black fork for codebases with tabs
* Flake8 with Frappe's config
2022-07-27 14:38:17 +05:30
gavin
a481934d53
Merge pull request #1334 from gavindsouza/better-cli-resolution
refactor(cli): Commands Resolution
2022-07-27 14:37:16 +05:30
gavin
41b9deb66a
Merge pull request #1336 from gavindsouza/reinstall-app-fix
fix: get-app on existing apps
2022-07-27 14:34:45 +05:30
Gavin D'souza
e03f597ac6 fix: get-app on existing apps
get-app to replace existing folder would fail due to bad url generation.

Changes
* Archive old repo instead of overwritting
* Resetting flags in App instance
2022-07-27 14:24:10 +05:30
Gavin D'souza
8a0b78451b fix: Add support for options on bench main group
Options like --use-feature, --version are tested and support maintained
by the changes defined in this commit
2022-07-27 14:23:16 +05:30
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
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
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
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
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
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
Aradhya
19f932513f feat: verbose error messages 2022-05-15 23:20:15 +05:30
Aradhya
cb2b0b0d7c feat: using gitpython for branch validation 2022-05-15 17:26:05 +05:30