Go to file
Steve Haffenden f66028109e
Added a small amount of text for people looking to get started but are not aware of gitflow (#3707)
* Added a small amount of text for people looking to get started who might not be used to the Gitflow process

* Updated the readme to include a little more information for people that are not full time developers

* Fix reStructuredText formatting

There needs to be an empty line between the heading and the next paragraph. Otherwise, the markup isn’t rendered correctly.

---------

Co-authored-by: Till Prochaska <1512805+tillprochaska@users.noreply.github.com>
2024-05-16 17:01:02 +02:00
.github Pin discourse action to latest full length SHA 2024-05-13 16:25:34 +02:00
.tx Update Transifex config to work with the latest version of the tx CLI 2023-06-23 12:52:55 +02:00
aleph bugfix: Use default language when Accept-Language header is '*' 2024-05-07 18:25:19 +02:00
contrib chore: use pytest instead of 👃 2024-04-04 11:57:19 +02:00
docs Fix broken link 2024-04-23 11:00:13 +02:00
e2e feat: Keep Dependabot versions in sync 2024-04-22 12:13:28 +02:00
helm Fix documentation links (#3667) 2024-04-04 13:03:38 +02:00
mappings Fix documentation links (#3667) 2024-04-04 13:03:38 +02:00
site/aleph.occrp.org/pages Fix documentation links (#3667) 2024-04-04 13:03:38 +02:00
ui Change label for email address facets and statistics to remove ambiguity (#3671) 2024-04-04 14:03:06 +02:00
.bumpversion.cfg Bump version: 3.15.5-rc3 → 3.15.5 2024-01-22 16:21:38 +02:00
.dockerignore Update some housekeeping docs 2021-05-07 11:24:35 +02:00
.flake8 Rosencrantz/2359 flake black conflict (#2561) 2022-10-07 09:21:08 +02:00
.gitattributes Fix additional scripts for Docker on Windows 2020-08-09 19:08:29 -07:00
.gitignore added ignored settings test (#3379) 2023-12-07 16:17:00 +02:00
CHANGELOG.md Add CHANGELOG entry for 3.15.4 2023-11-02 14:38:45 +01:00
CODE_OF_CONDUCT.md Contribution guide and Code of Conduct for the Aleph community (#2326) 2022-06-15 12:20:26 +05:30
CONTRIBUTING.md Added a small amount of text for people looking to get started but are not aware of gitflow (#3707) 2024-05-16 17:01:02 +02:00
Dockerfile Fix default Dockerfile command (#3608) 2024-02-05 10:19:51 +01:00
LICENSE.txt Link up policy documents 2020-08-10 12:47:44 +02:00
Makefile Add playwright version build arg to run step 2024-04-22 19:35:21 +02:00
README.rst Added a small amount of text for people looking to get started but are not aware of gitflow (#3707) 2024-05-16 17:01:02 +02:00
SECURITY.md Update SECURITY.md (#3218) 2023-07-20 18:11:47 +02:00
SUPPORT.md Update SECURITY.md (#3218) 2023-07-20 18:11:47 +02:00
aleph.env.tmpl More specific options for scaling, added link to docs 2023-11-09 15:13:53 +01:00
babel.cfg Remove Jinja2 extensions 2022-07-04 11:17:08 +02:00
docker-compose.dev.yml Document how to enable postgres query logging 2024-02-28 13:38:36 +01:00
docker-compose.e2e.yml Disable single user mode and authenticate thyself 2023-04-21 11:34:50 +02:00
docker-compose.yml Upgrade to latest ingest-file release (#3581) 2024-01-31 12:00:56 +01:00
gunicorn.conf.py Metrics (#3216) 2024-01-16 16:44:53 +01:00
requirements-dev.txt Bump the dev-dependencies group across 1 directory with 3 updates 2024-05-01 11:27:18 +00:00
requirements.txt Bump flask and authlib (as required to run flask 3+) 2024-05-13 11:10:58 +02:00
ruff.toml Update ruff.toml syntax and update list of excluded folders 2024-04-05 15:29:36 +02:00
setup.py Fix documentation links (#3667) 2024-04-04 13:03:38 +02:00

README.rst

.. epigraph::

  Truth cannot penetrate a closed mind. If all places in the universe are in
  the Aleph, then all stars, all lamps, all sources of light are in it, too.

  -- `The Aleph <http://www.phinnweb.org/links/literature/borges/aleph.html>`_,
  Jorge Luis Borges

**Aleph** is a tool for indexing large amounts of both documents (PDF, Word,
HTML) and structured (CSV, XLS, SQL) data for easy browsing and search. It is
built with investigative reporting as a primary use case. Aleph allows
cross-referencing mentions of well-known entities (such as people and
companies) against watchlists, e.g. from prior research or public datasets.

For further details on the software, how to use it, install it or manage data
imports, please check the documentation at: 

* https://docs.aleph.occrp.org
* Installation: https://docs.aleph.occrp.org/developers/installation


Support
-------

Aleph is used and developed by multiple organisations and interested individuals.
If you're interested in participating in this process, please read the support
policy (`SUPPORT.md`), the contribution rules (`CONTRIBUTING.md`), and the code of conduct (`CODE_OF_CONDUCT.md`) and then get
in touch:

* https://docs.aleph.occrp.org/get-in-touch

Aleph Development
-----------------

If you're looking to get involved with the development of Aleph, please check the `CONTRIBUTING.md` file for details on how to get started.

⚠️ **IMPORTANT** ⚠️ 
The default branch in this GitHub repository is "develop". The develop branch contains unreleased, unstable code. For stable releases, please check out the `list of releases <https://github.com/alephdata/aleph/releases>`_ or switch to the `main branch <https://github.com/alephdata/aleph/tree/main>`_.

Release process
---------------

If you are interested in, or have been tasked with releasing a new version of Aleph. The following steps should be followed:

Overview
--------

The basic process for releasing Aleph is this:

1. Check internal libraries for updates and merge. Release our libraries in the following order
  1. servicelayer
  2. followthemoney
  3. ingest-file
  4. react-ftm
2. Ensure that all libraries for a release are up to date in aleph and merged to the develop branch.
3. Ensure that any features, bugfixes are merged into develop and that all builds are passing
4. Ensure that the CHANGELOG.md file is up to date on the develop branch. Add information as required.
5. Create a RC release of Aleph.
6. Test and verify the RC. Perform further RC releases as required.
7. Merge all changes to main
8. Create a final version of Aleph

As far as possible apply the rules of semantic versioning when determining the type of release to perform.

Technical process
-----------------

RC releases
-----------

If you need to perform an RC release of Aleph, follow these steps:

1. Ensure that the `CHANGELOG`` is up to date on the develop branch and that all outstanding PR's have been merged
2. From the develop branch run bump2version (major, minor, patch) this will create a x.x.x-rc1 version of aleph
3. push the tags to the remote with git push --tags
4. push the version bump with git push
5. If there are problems with the RC you can fix them and use bump2version build to generate new rc release


Major, minor, patch releases
----------------------------

1. switch to `main` and pull from remote
2. If not already done merge `develop` into `main`
3. Update translations using `make translate` 
4. If you get npm errors, go into the ui folder and run `npm install`
5. commit translations to `main` and push to remote
6. run `bump2version --verbose --sign-tags release`. Note that bump2version won't show changes when you make the change, but it will work (see `git log` to check)
7. push the tags to the remote with `git push --tags`
8. push version bump to remote with `git push`
9. merge `main` back into `develop`. Slightly unrelated to the release process but this is a good time to do it so that the new version numbers appear in `develop` as well