Commit Graph

135 Commits

Author SHA1 Message Date
Maikel Linke
5a4efdbce3 Separate DFC API swagger config
This allows us to run the specs separately to generate the
documentation. It's more efficient this way and the separate swagger doc
file is easier to read.

The engine-specific swagger helper also allows us to simplify the spec
files.

Added an exception to our styleguide because it's intended and useful to
have a complete (lengthy) description of the API in one block.
2023-07-03 12:37:23 +10:00
Maikel Linke
db77d1591c Add test examples to DFC API documentation
In other API specs, you provide example values in the schema. So the
specs contain examples which can be used for the documentation. But
instead of defining example data separately, we can use the generated
data by the specs. This way we document real output and don't have to
double up on documentation.

Note that we don't have schema definitions for the DFC API yet. And it
wouldn't make sense to replicate the DFC Ontology manually in JSON
Schema for this purpose. The DFC Connector ensures already that we
comply with the ontology. But I hope that we can use a tool at some
point to generate JSON Schema from the DFC Ontology which would add more
detail to the Swagger docs, I think.
2023-06-28 13:50:54 +10:00
Maikel Linke
de51a7833d Add script to swaggerize DFC API in its engine
Rswag doesn't look for specs in engines by default. We haven't added any
Rswag specs in the dfc_provider engine yet but that will come.

The generated API schema has some superfluous whitespace removed due to
a fix in the rswag gems.
2023-06-28 13:50:54 +10:00
Maikel Linke
de8f5e13b3 Explain gotcha in case it breaks one day 2023-04-24 09:39:21 +10:00
Maikel Linke
1955a6719c Fix commit message formatting
Git needs a blank line between the summary and the longer description.
And `echo` doesn't interpret `\n` by default.
2023-04-20 11:19:32 +10:00
Maikel Linke
f71e5ee43c Limit number of rubocop autocorrect runs
The typical use case is to create a small number of commits for a pull
request to ease the review. And you can still run it for all cops with
`-n 999` or `-n -0`.
2023-04-20 11:19:32 +10:00
Maikel Linke
0ac2358f2c Regenerate Rubocop's TODO file without timestamp 2023-04-20 10:34:35 +10:00
Maikel Linke
c08e264afa Add script for bulk autocorrect with Rubocop
We also had an old script which wasn't used and needed manual steps.
2023-04-19 15:35:29 +10:00
Maikel Linke
da0ef8531b Install our used bundler version 2023-04-03 14:37:31 +10:00
Maikel Linke
08f2254a0e Leverage bin/setup within script/setup
And remove duplicate output. `bin/setup` is the Rails default for
updating your environment after code updates and `script/setup` is our
convenience script for the initial setup and starting with sample data.
2023-04-03 14:37:31 +10:00
Maikel Linke
477524039f Update bundler version when necessary
Not just when it's missing.
2023-04-03 14:37:31 +10:00
Maikel Linke
e5e5bf8c17 Install ruby automatically if rbenv is available
People may use other ways to provide the right Ruby version but if they
use rbenv then we can use it automatically.
2023-04-03 14:37:30 +10:00
David Cook
8f67e9839d Apply code suggestion
Avoids an error:
./script/nodenv-install.sh: line 13: brew: command not found

Co-authored-by: Maikel <maikel@email.org.au>
2023-03-10 13:38:59 +11:00
David Cook
d377300f32 Support installations with homebrew (macOS)
The officially recommended installation for Mac is via Homebrew.
2023-02-17 10:36:10 +11:00
David Cook
b7a3f7263b Add script to install current node version
The API is conveniently exactly the same as rbenv.
2023-02-17 10:17:48 +11:00
Pipo Bimbo
d413a39c3c grep option -x does not work on windows installation due to EOL characters 2023-01-23 14:10:41 +01:00
Jean-Baptiste Bellet
3ff1cd0793 Prefer to killall descendants instead of just killing yes processes 2022-10-31 16:11:32 +01:00
Jean-Baptiste Bellet
b93f6dfdad Add convenient logging when failing 2022-10-31 16:11:32 +01:00
Jean-Baptiste Bellet
9ba0695652 Trap CTRL+C to exit all yes commands 2022-10-31 16:11:31 +01:00
Jean-Baptiste Bellet
0eff4d3906 Add some comment on the purpose 2022-10-31 10:19:36 +01:00
Jean-Baptiste Bellet
84831266f1 Remove useless information 2022-10-31 10:19:14 +01:00
Jean-Baptiste Bellet
bbf400a83b /proc/cpuinfo is not available on Darwin arch (ie. mac) 2022-10-27 11:19:55 +02:00
Maikel Linke
3496b57942 Add convencience script to test flaky specs 2022-10-13 16:28:09 +11:00
Maikel
6783e7f74c Fix typo 2022-09-27 12:37:08 +10:00
David Cook
96d1616b70 Update for compatibility with macOS (BSD grep)
The --max-count option tells grep to stop reading lines after the first matching line. We're looking for the line AFTER the first matching line.
2022-09-21 12:22:21 +10:00
David Cook
086cde83db Script to easily generate ERD
The generated date is included for reference.
Stored in new 'doc/' directory.
2022-09-21 12:21:49 +10:00
Adrien Chauve
051950e04c Remove references to deprecated application.yml config file.
Point to .env and other .env.* config files.
2021-11-24 15:11:00 +01:00
Pau Pérez Fabregat
f071ab2038 Merge pull request #7807 from mkllnk/rbenv-install
Add convenience script to install Ruby
2021-07-01 13:53:54 +02:00
Maikel Linke
a6753b832c Add example script for importing customers 2021-06-22 13:46:34 +10:00
Maikel Linke
2c8bead8a0 Add convenience script to update Ruby 2021-06-18 15:13:00 +10:00
Matt-Yorkley
0ede0acc6a Remove DelayedJob references 2021-06-03 12:45:23 +01:00
Mathieu Lovato Stumpf Guntz
ccef65039a Remove all material related to Zeus 2021-05-13 12:21:58 +02:00
Mathieu Lovato Stumpf Guntz
a4d6e69309 Replace nmp with yarn, remove newrelic 2021-05-07 21:10:55 +02:00
Mathieu Lovato Stumpf Guntz
5a8e271037 Update .node-version to last LTS and drop setup tests 2021-05-07 15:54:15 +02:00
Maikel Linke
6c1139c296 Add script to draft release notes 2020-10-16 16:03:26 +11:00
Luis Ramos
92d0a5b735 Change default user from spree@example.com to ofn@example.com 2020-05-03 10:12:43 +01:00
Kristina Lim
7c985f39ab Fix script for syncing public/ in AWS bucket to local 2020-04-28 13:22:48 +08:00
Maikel Linke
b5d159e163 Add cache to mirror_db script
Also added some better error handling around image syncing.
2020-04-17 16:09:22 +10:00
Pau Pérez Fabregat
1b532f995c Merge pull request #3919 from mkllnk/db-mirror-script
Db mirror script
2019-07-03 16:24:01 +02:00
Pau Pérez Fabregat
f5544494f0 Merge pull request #3997 from mkllnk/remove-ng-test-script
Remove obsolete Javascript test script
2019-07-03 16:23:41 +02:00
Pau Pérez Fabregat
2de32b54ba Merge pull request #3995 from mkllnk/how-to-not-archive-branches
Remove obsolete script to archive branches
2019-07-03 16:23:15 +02:00
Maikel Linke
b23489fa40 Remove obsolete Javascript test script
This script has been replaced by a rake task a long time ago:

  bundle exec rake karma:run   # to run the specs once
  bundle exec rake karma:start # to run the spec after each change

We don't need it any more and it doesn't work on my machine.
2019-07-03 14:50:33 +10:00
Maikel Linke
503658f930 Remove obsolete backup script
This script doesn't work anymore. It was written for old an Australian
production server. We have automatic backups now. And if we wanted to
take a backup manually, we should probably give it a meaningful name,
not using a script.
2019-07-03 14:46:56 +10:00
Maikel Linke
24bf5f0fea Remove obsolete script to archive branches
Apparently, there was a practice to archive branches by tagging them
"archive/branch-name" and then deleting them. We don't practice that
anymore and I would suggest to not start doing it again. Our setup is a
bit different now.

We now use our own forks for feature branches and can have our own,
individual archiving practices in our forks. There is no need to have a
central graveyard of people's "work after progress".

The old feature branches we used to have in the central repository got
archived in another fork:
https://github.com/openfoodfoundation/openfoodnetwork-archive/

Branches associated to pull requests should be deleted after the pull
request has been closed. Github keeps a reference to those branches in
the pull request which is like an archive.

Special branches we still have and delete from time to time:

- transifex: Created for new translations, deleted afterwards.
- dependabot/*: Dependabot always creates pull requests. See above.
- 1-31-1-stable etc: They only live as long as they are supported.

I would also like to delete the old `archive/*` tags. They are in the
openfoodnetwork-archive repository and could confuse developers in the
main repository. Let's keep it clean.
2019-07-03 14:36:16 +10:00
Jon Leighton
150310bf67 Exit script/setup if node is not found
This mirrors what the script already does if ruby is not found
2019-06-17 11:26:54 +10:00
Maikel Linke
76d77ceb51 Update and generalise database mirror script
The old script was specfic to the use in Australia and out of date. The
new version isn't perfect but works well for me.
2019-06-12 10:19:56 +10:00
Maikel Linke
38e9976ce4 Make inserting delayed jobs from cron quiet
`config/schedule.rb` defines entries for cron jobs. Every five minutes
it insert several delayed jobs via `script/enqueue`. A recent upgrade of
Postgresql (a year or two ago) made that script noisy. Every time we
insert a delayed job with that script it outputs:

  INSERT 0 1

Standard output like this is seen as error message by cron an forwarded
to the unix user's local mailbox in `/var/mail/openfoodnetwork`. This
file grows over time and accumulates tens of thousands of error
messages, hiding any important failures.

This patch makes inserting delayed jobs quiet. A failure is still
reported.
2019-05-22 03:36:07 +10:00
Kristina Lim
6f5a024be2 Update script/setup to create default newrelic.yml 2019-04-12 13:57:50 +08:00
Maikel Linke
7a723d9061 Use new sample data during setup 2019-02-05 16:24:30 +11:00
Jefferson Faseler
d4d0489328 Update name spaces for rake tasks to shorter 'ofn'. 2019-01-30 17:14:00 -05:00