Commit Graph

63 Commits

Author SHA1 Message Date
Ivan Kuchin 131e5369db don't install foreman using bin/dev, as overmind is now available as gem too 2024-06-24 15:54:37 +02:00
ulferts 3b2121f733 Revert "Merge remote-tracking branch 'origin/release/13.4' into dev"
This reverts commit 40b2bbeb09, reversing
changes made to b4c6cb17cc.
2024-03-21 11:31:17 +01:00
Ivan Kuchin 7787e457a3 Revert "Merge branch 'dev' into release/13.4"
This reverts commit a901541269, reversing
changes made to e573ca00b7.
2024-03-20 20:19:08 +01:00
Christophe Bliard 91333f6d73 Fix dirty-rubocop script to work with latest rubocop 2024-03-07 17:46:04 +01:00
Oliver Günther 337eda7dfa Revert "Revert "Merge pull request #12998 from opf/task/48717-replace-delayedjob""
This reverts commit dfa75621ea.
2024-03-07 13:59:24 +01:00
Markus Kahl dfa75621ea Revert "Merge pull request #12998 from opf/task/48717-replace-delayedjob"
This reverts commit 9f3e4c48ea, reversing
changes made to 10412f7c85.
2024-03-07 12:40:15 +00:00
Pavel Balashou 2267a0a1e3 React on comments from review.
- Do not use string literals for job class names. Use `class.name` instead.
- Rename `ApplicationJob#good_job_scheduled_at` to `ApplicationJob#job_scheduled_at` to be backend agnostic.
- update queries in bin/check-worker-liveness to use good_jobs table
- Set good_job config options through appropriate OpenProject::Configuration
- Remove delayed_jobs table.
- Update health_check docs.
2024-02-27 22:35:33 +01:00
Pavel Balashou fd6a899b29 [#48717] Replace DelayedJob with GoodJob.
https://community.openproject.org/work_packages/48717
2024-02-14 10:18:27 +01:00
Dombi Attila d57aaa9022 Merge branch 'dev' into fix-merge-conflicts 2024-02-01 15:37:33 +01:00
Dombi Attila 41cef956a3 Use DIR instead of FileUtils in bin/setup script 2024-02-01 14:23:28 +02:00
Dombi Attila aec8707d29 Update the rest of the config files from bin/rails app:update. 2024-02-01 14:22:04 +02:00
Oliver Günther ed4749a66d Set +x bit 2024-01-31 14:55:54 +01:00
Markus Kahl dc2fc1b1d9 scripts to check for worker readiness and liveness 2024-01-31 14:55:54 +01:00
Cyril Rohr 32ce2600af Smaller CI image and parallelise setup commands (#14227) 2023-11-23 15:07:17 +01:00
Cyril Rohr dfc5448d72 Save/Load CI docker image from cache (#14211) 2023-11-22 17:41:55 +01:00
Cyril Rohr 78a0cf052a Improve CI cache support (#14022)
Improve CI cache support
2023-10-27 18:30:14 +02:00
Aaron Contreras 9f132264bb Add ./bin/rubocop
* Run `bundle exec spring binstub rubocop`
2023-08-22 12:35:57 -05:00
Dombi Attila 0ecc2614af Fix missing 18n export (#13256)
* Replace the i18n:js:export task with assets:export_locales

* Update the package-lock.json to fix bin/setup_dev errors
2023-07-26 16:45:21 +02:00
Aaron Contreras 42172a15df Replace foreman with overmind
Updates bin/dev and documentation to incentivize the use of
overmind over foreman.
2023-05-25 07:29:31 +02:00
Klaus Zanders 7f3beb447c Add bin/dev command from Rails 2023-05-17 15:29:11 +02:00
Markus Kahl da1a30bd8d use compose exec variable 2023-04-17 14:57:51 +02:00
Markus Kahl a4f488c986 fix docker dev quickstart 2023-04-17 12:15:38 +02:00
Christophe Bliard 8bcbf705b2 Use one of docker-compose/docker compose (#11889) 2023-01-09 10:58:59 +00:00
Christophe Bliard d1ce52f9f0 Run rubocop with lefthook only on modified lines
Inspired and adapted from
  https://gist.github.com/skanev/9d4bec97d5a6825eaaf6
  https://gist.github.com/MaxLap/ea4b6d1df81de3024562798b5501b9c8
2022-07-11 10:09:51 +02:00
Oliver Günther a38fe3c067 Remove lefthook automatic install on setup_dev 2022-06-23 16:53:27 +02:00
Christophe Bliard 957e95268c add instructions to run Delayed Job worker in bin/setup_dev 2022-04-08 15:17:47 +02:00
Christophe Bliard d6de01e192 Set up git commit hooks when running bin/setup_dev
with lefthook
2022-04-08 15:17:47 +02:00
Markus Kahl 8b82b5e8be migrate db because why would't you? 2021-12-10 10:39:53 +00:00
Henriette Darge 52503ab5db Script to make it easier to test Safari on BrowserStack 2021-09-15 08:04:22 +02:00
Henriette Darge 878e90467b Update setup_dev script to remove manually build public assets as they interfere with lazy loaded modules 2021-08-03 09:46:56 +02:00
Oliver Günther ab940052b7 Rename shrinkwrap to package-lock and fix version (#9471) 2021-07-19 08:29:44 +02:00
Patrick Helm 5810190995 Speed up bin/compose setup significantly (#9404)
With the proposed changes the time required to run `./bin/compose setup`
is being reduced from ~18 minutes down to ~7 minutes on my machine.
In addition a workaround is applied to reduce the size of the images.

== Changes

=== Speed-Up `bundle install`

The time spent withing `bundle install` takes a significant amount time
during the `./bin/compose setup`.
We could make use of two improvements, which both allows us to
utitlize multiple CPU cures:

* Make use of the bundle `--jobs` argument
* Make use of the lesser known/used `MAKE` environment variable

A significant amount of time spent during `bundle install` is actually
compiling C-extensions, that's why the usage of the `MAKE` variable will
drastically improve performence.

=== `useradd --no-log-init`

Unfortunately there is a nasty bug when running `useradd` for a huge
`uid`, which could result in excessive image sizes. See attached links
for more information.

=== BuildKit

BuildKit is the default builder toolkit for Docker on Windows and
DockerDesktop on Macs. Using BuildKit will greatly improve performance
when building docker images.

== Links

=== Speed-Up `bundle install`

* [One Weird Trick That Will Speed Up Your Bundle Install](https://build.betterup.com/one-weird-trick-that-will-speed-up-your-bundle-install/)

=== BuildKit

* [Build images with BuildKit](https://docs.docker.com/develop/develop-images/build_enhancements/)
* [Faster builds in Docker Compose 1.25.1 thanks to BuildKit Support](https://www.docker.com/blog/faster-builds-in-compose-thanks-to-buildkit-support/)

=== `useradd --no-log-init`

* Best practices for writing Dockerfiles: [User](https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#user)
* golang/co: [archive/tar: add support for writing tar containing sparse files](https://github.com/golang/go/issues/13548)
2021-07-13 16:01:59 +02:00
Markus Kahl c375646dc0 docker dev and test setup fixes (#9135)
* docker dev and test setup fixes

* added missing >

* include test instructions in quickstart

* fixed typo

Co-authored-by: Philipp Tessenow <tessi@bitcrowd.net>

* removed obsolete comment

Co-authored-by: Philipp Tessenow <tessi@bitcrowd.net>

* amendments

Co-authored-by: Benjamin Bädorf <b.baedorf@openproject.com>
Co-authored-by: Philipp Tessenow <tessi@bitcrowd.net>
2021-04-06 13:35:32 +01:00
ulferts 1bdd2ab9ae safe automatic fixes by rubocop (#8994) 2021-02-11 16:02:18 +01:00
luz paz 3683042c9b Fix typos in user facing and non-user facing code
Found via `codespell v2.1.dev0`
2021-01-24 15:08:21 +01:00
Markus Kahl cc3a43ec70 make sure to remove dangling server.pid; remove one-off containers 2020-12-03 13:15:20 +00:00
Markus Kahl be2c5ed347 Made docker dev setup more accessible, added Quickstart to docs. 2020-11-27 14:07:58 +00:00
ulferts c383c5821f Fix/remove cucumber (#8847)
* replace very last cuke with spec

* remove cuke support files

* remove cucumber gems

* remove traces of cucumber

* remove no longer required route

* forcefully clear parallel_test features task

* attempt removal of binstub

* attempt to stabilize spec
2020-11-16 09:20:51 +00:00
Benjamin Bädorf 5f45ee07ab Move development docker-compose file to the main directory (#8798)
* Move development docker-compose file to the main directory

This requires us to move some other files around, like the pullpreview and example docker-compose file for production
setups. This commit also does some housekeeping, like removing some old files and deduping configuration.

* Updated to selenium grid

* Fix in-Docker Selenium tests

The Selenium tests now run inside a Docker Chrome Container. Backwards compatability with non-docker setups is not
guaranteed, though it should not be hard to implement with a couple of small fixes.

* Updated docker development documentation

* Improved test timings, changed the documentation

* Updated docker testing again

* Run npm in the frontend directory

* Really run npm in the frontend directory

* Also run npm in frontend when setting up travis cache

* Change directory for one command only

* Change default test driver name

* CI test change fixes

* Fixed syntax error

* Added dev check

* Trying to fix firefox resizing

* Trying to get tests running

* Stop resizing firefox

* Fixed apple icon spec

* fix host in url helpers for omniauth spec

* Fix omniauth specs

* Fix docs

* Small fixes to docker tests

* Added package.json back in

* Change env variables

Co-authored-by: Markus Kahl <machisuji@gmail.com>
2020-11-12 14:05:03 +00:00
Benjamin Bädorf 8b74bffac7 Revert changes to setup_dev
They were unnecessary, and were not backwards-compatible with non-docker development
2020-10-05 15:26:27 +02:00
Benjamin Bädorf a8dfb55345 Updated local development docker setup
There are now separate containers for testing purposes, and the frontend container is a node-only image. Containers run
with a user that has the current user id and gid, making sure that any files that are installed by bundler or npm are
user-owned.

Selenium tests can be ran, but not all of them work yet.
2020-10-05 15:04:33 +02:00
Oliver Günther 9a938042fe Add export of JS locales to setup_dev script\n\nThis will make it easier to run tests locally by simply running this script beforehand 2020-09-15 09:52:49 +02:00
Oliver Günther 10e21154f7 Move asset pipeline javascripts to frontend (#8482)
* ove reporting and reporting_engine js to frontend page

* Replace webhook assets javascript

* Add path augment service to dynamically load scripts

* Remove JS-Files that are not used/not needed any more

* Include AugmentingModule correctly

* Remove special handling for checkbox selection which is outdated and two jquery libs that are not used any more

* Load scripts dynamically that are not needed globally

* Move plugin JS to frontend

* Move toggable fieldsets to global listeners

* Move top-menu to global listeners and convert to TS

* Move action_menu to frontend and port to TS

* Move settings listener to frontend

* Remove global js assets that were not used anyway

* Move date range to timelog dynamic script where it's still used until removed

* Move colors to global-listeners and port to TS

* Replace tooltip with simple form instructions on the one place used

Tooltips were only used at the one place in our application, when changing a users password.
We can simply remove it there and use a modern solution the next time we need a tooltip

* Move danger zone validation to frontend and port to TS

* Move colorcontrast to backlogs vendor where it's used now

* Remove contents of application.js.erb

* Move project and user scripts to dynamically loaded

* Move onboarding tour to dynamically loaded

* Use correct syntax for jQuery so that $ is  known keyword within this function

* Fix onboarding tour

* Fix onboarding tour for scrum tour

* Fix specs after moving JS

* Remove application.js.erb

* Move locales and ckeditor to the frontend to dynamically load

* Remove bundles caches

These are no longer being used since angular cli

* Ensure locales are exported before angular

Co-authored-by: Henriette Darge <h.darge@openproject.com>
2020-07-09 11:02:43 +02:00
Markus Kahl 5c07f7bd95 docker-based dev environment 2020-03-30 14:50:48 +01:00
Oliver Günther 756b364547 Fix bundle binstub to let parallel_test run locally 2020-02-21 08:45:55 +01:00
Oliver Günther 8e32895ce3 Remove legacy frontend 2019-07-01 20:08:06 +02:00
Jens Ulferts 3fd2909217 add spring to decrease test startup time 2019-01-11 10:34:27 +01:00
Oliver Günther e374528f64 Merge pull request #6814 from opf/bump/rails5-2
[28338] Upgrade to Rails 5.2

[ci skip]
2019-01-08 14:21:59 +01:00
Oliver Günther 30f7de8108 Skip updating shrinkwrap in helper scripts
[ci skip]
2018-12-12 15:29:32 +01:00
Oliver Günther 4bb14e2a62 Upgrade to Rails 5.2 2018-12-03 10:29:18 +01:00