summaryrefslogtreecommitdiff
path: root/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* switch to GradleRobert Newson2023-05-101-7/+7
|
* maven batch modeRobert Newson2023-04-271-3/+3
|
* capture warn/error in entiretyRobert Newson2023-04-271-4/+4
|
* Add log dumping to build-report make targetNick Vatamaniuc2023-04-271-1/+5
|
* Import nouveau (#4291)Robert Newson2023-04-221-1/+42
| | | Nouveau - a new (experimental) full-text indexing feature for Apache CouchDB, using Lucene 9. Requires Java 11 or higher (19 is preferred).
* Bind python-black to specific version (#4528)Ronny Berndt2023-04-131-1/+1
|
* Improve documentation of source code format checksGabor Pali2023-03-091-5/+6
| | | | | | | | | - Add `python-black-update` for `make help`. - In the output of `make help`, diffentiate between Erlang and Python source code checks. - Include the use of `black` in the developer documentation. - Hide `erlfmt` commands for the respective targets. This makes the targets consistent with their Windows versions.
* Consolidate Mango integration testsGabor Pali2023-02-211-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit groups a couple of major changes that aim to amend many pain points in making the Mango integration test suites more accessible. - The test framework behind the Mango integration test suite provides a lot of flags that are not currently exposed on the level of the main `Makefile`. Change this for the greater flexilibility. - Mango's test suite documentation is buried in the source tree, which is not common for other kind of tests. To increase its visibility and unify the style, move the contents of this file over to the general developer documentation. - Promote the use of the `mango-test` target instead of setting up the related machinery manually. The commands recorded in the original documentation are out of date and only minor implementation details anyway. - Retire the explicit control over the activation of Mango integration tests that require support for text indexes. Instead learn the availability of this feature from the current CouchDB instance and run tests based on that. This effectively makes the activation automated, which could be controlled implicitly by either hooking up of a Clouseau instance or not. - Running the Mango integration tests do not remove the databases on their completion, which can inadvertently pollute the local data store. To avoid this, enforce removal of test databases but allow it to be disabled on demand.
* Fix the `list-eunit-apps` targetGabor Pali2023-02-161-2/+2
| | | | | | | Due to the double slash in the path that is generated by the invocation of `find(1)`, the wrong part of the path is going to be cut. This mistake does not cause trouble for `list-eunit-suites`, adjusted for consistency only.
* Remove the inactive uploader action from `build-report`Gabor Pali2023-02-161-1/+0
| | | | | | The report uploads are still broken and the help message for the target does not either indicate that is happening. This can be re-introduced later once fixed.
* Clean up `make help` outputGabor Pali2023-02-161-6/+10
| | | | | | | - Turn some of the comments above targets into target descriptions so that the `help` target could display them. - Rename `xref` to `find_bugs` as that is the real name. - Fix rendering of the help message for `install`.
* Move elixir search tests to be with other elixir testsJay Doane2023-02-151-10/+6
| | | | | | Now that dreyfus is integrated into CouchDB, its elixir tests can be moved to be with the other elixir integration tests. As a bonus, remove some unnecessary configuration.
* Fix Dreyfus Elixir test suiteGabor Pali2023-02-091-0/+12
| | | | | Remove the old shell script that would drive the testing process and rather integrate it as a dedicated `make` target, `dreyfus-test`.
* Disable execution of ExUnit testsGabor Pali2023-02-091-1/+0
| | | | Currently, there are no ExUnit tests so do not try to run them.
* Elixir >= 1.14 doesn't support rebar2 - Remove initializationJuanjo Rodriguez2023-01-101-1/+1
|
* add find_bugs makefile target for undefined functionsRobert Newson2023-01-041-0/+5
|
* Move elixir source checks to a separate stepNick Vatamaniuc2022-12-211-13/+9
| | | | | This is to help unblock 3.3 windows build so make check doesn't choke on re-formatting elixir files for Windows.
* Reuse installed rebar and rebar3 for mixNick Vatamaniuc2022-12-201-1/+1
| | | | Instead of having it download its own every time
* Return back to allowing offline configure and make releaseNick Vatamaniuc2022-12-191-1/+1
| | | | | | | | | At some point it broke - it looks like rebar3, erlfmt and python-black usage ended up needing the network to install/update themselves. Make sure rebar3 and erlfmt is in bin/ alongside rebar, and make python-black is in a separate source formatting stage step in CI and remove it from `make check`.
* fix(3517): super-simplistic fix to avoid costly AST transforms when t… (#4292)Jan Lehnardt2022-12-131-1/+1
| | | | | * fix(3517): super-simplistic fix to avoid costly AST transforms when they are not needed Co-authored-by: Ronny Berndt <ronny@apache.org>
* Upgrade to latest Sphinx 5.1.1 and fix the top Edit on Github linkNick Vatamaniuc2022-09-121-1/+1
| | | | | | | | | | | | | | | | | | | "Edit on Github" link wasn't working and pointing to a non-existent "index" file. This was most likely because we override the index.html template, so the source renderer doesn't know what to link it to. Instead opt to make the top level "Edit on Github" point the docs readme page. Individual doc pages will point to their respective source pages. In addition, we were quite a bit behind on on the sphinx version 1.5 vs 5.1.1 this has caused quite a bit of headaches over the years as we had to pin jinja2, docutils and other libraries versions to avoid breaking things. The main issue after the upgrade was that the http domain became a bit more strict. After vendoring it in, we had to make a few multipart http examples use plaintext. On the positive side, it found broken references in the admin guide, so those were fixed. Since we're using the latest 5.1.1 opt to just use a python3 venv with a short setup.sh script. That should make it easier for contributors to build docs locally.
* Skip uploading build logs for nowNick Vatamaniuc2022-07-091-1/+1
| | | | It broke at some point so no need to keep trying to upload them
* Bump jiffy to 1.1.1 and b64url to 1.0.3Nick Vatamaniuc2022-05-101-1/+1
| | | | | jiffy changelog: https://github.com/davisp/jiffy/compare/1.0.9...1.1.1 b64url changelog: https://github.com/apache/couchdb-b64url/compare/1.0.2...1.0.3
* nose->nose2 deps upgrade for mango testsWill2022-03-301-1/+1
|
* Enable exunit in check targetJay Doane2022-01-201-0/+2
| | | | Also `export COUCHDB_TEST_ADMIN_PARTY_OVERRIDE=1` so couch will start.
* Remove ERL_OPTSncshaw2021-12-171-1/+1
|
* Port erlfmt formatting to 3.xNick Vatamaniuc2021-11-221-2/+9
| | | | | | | | | | | | | | | | | | From PR: #3568 A few changes to the formatting logic compared to `main`: * rebar3 and `erlfmt` don't work with Erlang 20, so added an OTP version check to skip formatting for Erlang 20 * `make erlfmt-*` commands are faster. Instead of spawning an `erlfmt` process per-file, spawn one per `directory/*.erl` pattern. * Remove the non-0 return code work-around. `erlfmt` was returning an error on `main` because the line width option used for formatting was different than the one used during format checking. Making both the default removed all the spurious non-0 exits with the current version of `erlfmt`. Thanks to Adam Kocoloski for pointing out the issue.
* Bump version to 3.2.0 and update dependencies3.2.0-RC1Nick Vatamaniuc2021-09-271-1/+1
| | | | | | Fauxton was failing so we backported the fix from main https://github.com/apache/couchdb/commit/f85cff669f20cee0a54da7bb8c645dfc4d2de5c9 for it.
* Use elixir-suiteILYA Khlopotov2021-09-161-1/+1
|
* Add ability to control which Elixir integration tests to runILYA Khlopotov2021-09-161-0/+11
| | | | | | | | | | | | | | | | New `elixir-suite` Makefile target is added. It runs a predefined set of elixir integration tests. The feature is controlled by two files: - test/elixir/test/config/suite.elixir - contains list of all available tests - test/elixir/test/config/skip.elixir - contains list of tests to skip In order to update the `test/elixir/test/config/suite.elixir` when new tests are added. The one would need to run the following command: ``` MIX_ENV=integration mix suite > test/elixir/test/config/suite.elixir ```
* Disable running ibrowse testsNick Vatamaniuc2021-08-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | They used to be disabled before the last major ibrowse upgrade. On MacOS and FreeBSD the following tests fails periodically: ``` ibrowse_tests: running_server_fixture_test_ (Pipeline too small signals retries)...*failed* in function ibrowse_tests:'-small_pipeline/0-fun-5-'/1 (test/ibrowse_tests.erl, line 150) in call from ibrowse_tests:small_pipeline/0 (test/ibrowse_tests.erl, line 150) **error:{assertEqual,[{module,ibrowse_tests}, {line,150}, {expression,"Counts"}, {expected,"\n\n\n\n\n\n\n\n\n\n"}, {value,"\t\n\n\n\n\t\t\n\n\t"}]} output:<<"Load Balancer Pid : <0.494.0> ``` But seems to pass more reliable on Linux for some reson. It would be nice to run the tests of course but having a passing full platsform suite is more important.
* Contribute Custom Erlang network protocol to Apachejiahuili2021-07-281-0/+1
|
* Build and escriptize weatherreportweatherreportJay Doane2021-04-201-1/+18
|
* feat: work around get_stacktrace deprecation/removalJan Lehnardt2021-03-171-1/+1
| | | | | | | | | | | This patch introduces a macro and inserts it everywhere we catch errors and then generatre a stacktrace. So far the only thing that is a little bit ugly is that in two places, I had to add a header include dependency on couch_db.erl where those modules didn’t have any ties to couchdb/* before, alas. I’d be willing to duplicate the macros in those modules, if we don’t want the include dependency.
* Simplify and speedup dev node startup (#3337)Adam Kocoloski2021-01-211-1/+1
| | | | | | | | | | | | | | | | | | | | * Simplify and speedup dev node startup This patch introduces an escript that generates an Erlang .boot script to start CouchDB using the in-place .beam files produced by the compile phase of the build. This allows us to radically simplify the boot process as Erlang computes the optimal order for loading the necessary modules. In addition to the simplification this approach offers a significant speedup when working inside a container environment. In my test with the stock .devcontainer it reduces startup time from about 75 seconds down to under 5 seconds. * Rename boot_node to monitor_parent * Add formatting suggestions from python-black Co-authored-by: Paul J. Davis <paul.joseph.davis@gmail.com>
* Remove JS tests + support for harness (#3197) (#3203)Joan Touzet2020-10-071-51/+2
|
* Remove javascript tests from main build processJuanjo Rodriguez2020-10-071-1/+0
|
* Update Makefile.win to Include locad configs and clean configs in devcleanJuanjo Rodriguez2020-09-241-1/+1
|
* allow to run 'javascript' target with other test targets in the same 'make' ↵Juanjo Rodriguez2020-04-301-1/+3
| | | | process
* Ensure python black runs on all .py files (#2827)Joan Touzet2020-04-271-2/+2
|
* 3.x merge - Port elixir proxyauth tests from js to elixir (#2660)Juanjo Rodriguez2020-03-171-1/+4
| | | | | * Port elixir proxyauth tests from js to elixir (#2660) * Add support for specify a custom config file for CouchDB startup during testing
* Fix Windows build (#2534)3.0.0-RC1Joan Touzet2020-02-081-4/+1
| | | | | | | | | | | | | | | | | | | | * Allows `configure.ps1` to correctly pull and build `rebar` on Windows * Removes the static declarations in `rebar.config.script` on specific, pre-determined paths to various includes/libraries necessary for NIFs and external binaries (expectation is these are passed in env vars INCLUDE, LIB and LIBPATH) * fixes the SM60 `couchjs` build by telling `windows.h` not to redefine min and max as macros through a `#define` * fixes the `make eunit` target on Windows * Adds the missing `EXE_LINK_CXX_TEMPLATE` that our rebar doesn't have, but `enc` has today, which is also causing a failed `couchjs` (C++) build on Windows * Causes `make python-black` to correctly cause failure in `make check` if it finds problems * fixes Mango tests on Python 3.8 by bumping the hypothesis dependency * fixes one Elixir test on Windows (incorrect calculation of `now(:ms)` due to Erlang clock precision difference) * a little bit of python black cleanup (mango tests)
* Makefile parity; remove [un]install tgts (#2512)Joan Touzet2020-02-061-20/+4
|
* Stop propagating RC tags into dist archive (#2506)Joan Touzet2020-01-311-5/+17
|
* python-black style cleanup (#2505)Joan Touzet2020-01-311-2/+2
|
* Remove EUnit retries on failureNick Vatamaniuc2020-01-091-10/+1
| | | | | | | Since we switched from Travis to Jenkins, let's see how tests run without retries in the new environment. For reference, retries were introduced in: https://github.com/apache/couchdb/commit/220462a1dd2d921fc4ecba3488f5fedefb75217f
* Generate test results on build failuresPaul J. Davis2020-01-091-0/+6
|
* feat: remove couchup (#2399)Jan Lehnardt2020-01-071-2/+2
| | | | Co-authored-by: Joan Touzet <wohali@users.noreply.github.com>
* Multi/elixir 3 (#2394)Jan Lehnardt2020-01-041-35/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add auth cache test into elixir test suite * Port cookie_auth test suite into elixir * Remove conflicting functions * remove debug log level config * Port users_db from js test suite to elixir * WIP: make test more robust * WIP: increase default timeout, revert to fail when login error * Auth cache test fixes * Cookie auth test fixes * Cookie auth test fixes * Correct test name * Correct test name * Disable all JS tests that have Elixir test counterparts. * Convert test setup/teardown logic into idiomatic ExUnit and use @moduletag config * Disable auth_cache_test * auth cache test is disabled * Update elixir test suite README.md with missing ported stuff * Port UTF8 js test suite to elixir * fix: losen assertion * disable more JS tests Co-authored-by: Juanjo Rodriguez <jjrodrig@gmail.com> Co-authored-by: Alessio Biancalana <dottorblaster@gmail.com>
* Port erlang views tests into elixir test suite (#2237)Juanjo Rodriguez2020-01-041-1/+1
| | | | | | | | | * Port erlang views tests into elixir test suite * Enable erlang views in elixir testing * Support nil or :null in response