<commit_before># On the End of Each Milestone

1.  Close milestone using [GitHub UI](https://github.com/swcarpentry/amy/milestones).

2.  Write down release notes and add it to the repository in `docs/releases` directory.
    Release notes should have two sections: new features and bugfixes, each one enumerating changes and mentioning their authors.
    Base your work on the list of all closed pull requests for given milestone, available on GitHub.

3.  Follow [Release Procedure](#release-procedure).

4.  Follow Deployment Procedure (either
    [manual method](#deployment-procedure---manual-method) or using
    [Ansible Playbook](#deployment-procedure-using-ansible)).

5.  Write to <<EMAIL>> mailing list.
    The suggested subject of the new thread is "[AMY] New release v2.X.Y".

# Release Procedure

We assume that you want to release AMY v2.X.Y.

Execute the following commands on your local machine, not production.

1.  Move to AMY root directory (the one with `manage.py` file) using `cd` command.

2.  Make sure you have configured repositories:

    - `origin` for your repository on GitHub
    - `upstream` for [`swcarpentry/amy` repo on GitHub](https://github.com/swcarpentry/amy)

    For example, this is the correct configuration for `chrismedrela`:

        $ git remote -v
        origin	<EMAIL>:chrismedrela/amy.git (fetch)
        origin	git<EMAIL>:chrismedrela/amy.git (push)
        upstream	<EMAIL>:swcarpentry/amy.git (fetch)
        upstream	<EMAIL>:swcarpentry/amy.git (push)

3.  Make sure your local `develop` and `master` branches are up to date:

        $ git checkout develop
        $ git pull upstream develop
        $ git push origin develop

        $ git checkout master
        $ git pull upstream master
        $ git push origin master
<commit_msg>Update repository links in procedures.md<commit_after># On the End of Each Milestone

1.  Close milestone using [GitHub UI](https://github.com/carpentries/amy/milestones).

2.  Write down release notes and add it to the repository in `docs/releases` directory.
    Release notes should have two sections: new features and bugfixes, each one enumerating changes and mentioning their authors.
    Base your work on the list of all closed pull requests for given milestone, available on GitHub.

3.  Follow [Release Procedure](#release-procedure).

4.  Follow Deployment Procedure (either
    [manual method](#deployment-procedure---manual-method) or using
    [Ansible Playbook](#deployment-procedure-using-ansible)).

5.  Write to <<EMAIL>> mailing list.
    The suggested subject of the new thread is "[AMY] New release v2.X.Y".

# Release Procedure

We assume that you want to release AMY v2.X.Y.

Execute the following commands on your local machine, not production.

1.  Move to AMY root directory (the one with `manage.py` file) using `cd` command.

2.  Make sure you have configured repositories:

    - `origin` for your repository on GitHub
    - `upstream` for [`carpentries/amy` repo on GitHub](https://github.com/carpentries/amy)

    For example, this is the correct configuration for `chrismedrela`:

        $ git remote -v
        origin	git<EMAIL>:chrismedrela/amy.git (fetch)
        origin	git@github.com:chrismedrela/amy.git (push)
        upstream	<EMAIL>:carpentries/amy.git (fetch)
        upstream	<EMAIL>:carpentries/amy.git (push)

3.  Make sure your local `develop` and `master` branches are up to date:

        $ git checkout develop
        $ git pull upstream develop
        $ git push origin develop

        $ git checkout master
        $ git pull upstream master
        $ git push origin master

{'fraction_non_alphanumeric': 0.08411472697186984, 'fraction_numerical': 0.005515719801434087, 'mean_word_length': 3.292307692307692, 'pattern_counts': {'":': 0, '<': 14, '<?xml version=': 0, '>': 14, 'https://': 4, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 1, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2179211', 'n_tokens_mistral': 1082, 'n_tokens_neox': 1007, 'n_words': 420}