Skip to content
This repository was archived by the owner on Jan 28, 2020. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
103 commits
Select commit Hold shift + click to select a range
0181281
Pinned PyTest to a version < 2.8
Sep 22, 2015
6207164
Merge pull request #704 from mitodl/tests/gdm/pin_pydev
giocalitri Sep 22, 2015
6c23b0b
Bulk insert of static assets during import
Sep 21, 2015
17d3586
Merge pull request #705 from mitodl/bug/gdm/slow_import
giocalitri Sep 22, 2015
727433d
Static assets are served again using local storage
Sep 22, 2015
40f2246
Implemented verification of resource types on models
Sep 22, 2015
c94fbc4
Merge pull request #703 from mitodl/rc/0.11.0
pwilkins Sep 23, 2015
77594fd
Fixed missing test module
Sep 22, 2015
d5cd575
Configured newrelic python agent
bdero Sep 23, 2015
3b9d895
Review changes
Sep 23, 2015
c4ac633
Pylint
Sep 23, 2015
6b82c7e
Remove unused method
Sep 23, 2015
aa0cc0f
Merge pull request #708 from mitodl/fix/gs/xml_tests
noisecapella Sep 23, 2015
7a28aaa
Put update in transaction
Sep 23, 2015
5f83ccf
Fix test failure
Sep 23, 2015
e03d345
Merge pull request #709 from mitodl/bug/gdm/698_static_assets
giocalitri Sep 23, 2015
fc426a8
Added filtering on vocabulary and learning resource type for learning…
Sep 23, 2015
ce34dcf
Unused import
Sep 23, 2015
a0fd84a
Merge pull request #711 from mitodl/fix/gs/update_term_resource_links
noisecapella Sep 23, 2015
51bba90
Fixed id attribute for vocab and term select
Sep 23, 2015
b6c9e6c
Removed ? from URL if empty query
Sep 17, 2015
1d5140a
Merge pull request #682 from mitodl/fix/gs/no_question_mark
noisecapella Sep 23, 2015
56f168e
Replace Haystack queryset and facet counts with elasticsearch-dsl.
ShawnMilo Sep 18, 2015
5fe11c5
Cleared message box on changes to the UI
Sep 10, 2015
52eb041
minor cleanup
ShawnMilo Sep 24, 2015
f4b0b2d
Cleaned up unnecessary defaults.
ShawnMilo Sep 24, 2015
d84897c
Merge pull request #715 from mitodl/feature/bdero/newrelic
bdero Sep 24, 2015
8aad1ed
Changed get_or_create to create
Sep 24, 2015
77f978a
Replaced default missing title and updated description path
Sep 21, 2015
9ab11c1
Fixed newrelic not reporting
bdero Sep 24, 2015
b5d37d0
Create index & mapping upon connection creation.
ShawnMilo Sep 24, 2015
1e3ebc9
Merge pull request #716 from mitodl/feature/gs/filter_vocabulary_reso…
noisecapella Sep 24, 2015
0e06249
Implemented editing vocabulary in taxonomy panel
amir-qayyum-khan Aug 17, 2015
33362cf
Merge pull request #522 from mitodl/feature/aq/edit_vocabulary
noisecapella Sep 24, 2015
766b79a
Updated .jsx files.
ShawnMilo Sep 24, 2015
52ac58d
Merge branch 'master' into feature/skm/680_query_converters
ShawnMilo Sep 24, 2015
cc11a5c
Added refresh_index management command.
ShawnMilo Sep 24, 2015
c21be74
Merge pull request #722 from mitodl/feature/bdero/newrelic
bdero Sep 25, 2015
0fa953b
Merge pull request #707 from mitodl/fix/gdm/604_ellipsis
giocalitri Sep 25, 2015
5a9fdde
Merge branch 'master' into feature/skm/680_query_converters
ShawnMilo Sep 25, 2015
08c102a
Fixed JavaScript test.
ShawnMilo Sep 25, 2015
1e8119d
Added re-mapping migration.
ShawnMilo Sep 25, 2015
75539c8
Adds recreate_index, changes refresh_index to only update, not delete.
ShawnMilo Sep 25, 2015
5528266
Merge pull request #721 from mitodl/performance/gs/remove_get_or_create
noisecapella Sep 25, 2015
35054a8
Merge branch 'master' into feature/skm/680_query_converters
ShawnMilo Sep 25, 2015
85a06a7
Merge pull request #717 from mitodl/fix/gs/fix_ids
noisecapella Sep 25, 2015
e63f369
Fixed mouse pointer on edit and delete links
Sep 25, 2015
27e5010
Merge pull request #643 from mitodl/feature/gs/update_message_status
noisecapella Sep 25, 2015
e2b1deb
Added test coverage for management commands.
ShawnMilo Sep 25, 2015
544325a
Merge branch 'master' into feature/skm/680_query_converters
ShawnMilo Sep 25, 2015
2d075de
Merge pull request #731 from mitodl/fix/gs/cursor
noisecapella Sep 25, 2015
e4159e1
Fixing memory usage in transaction
Sep 25, 2015
a896eaf
Fixed collapse behavior
Sep 25, 2015
c830ae2
Memory efficient command
Sep 25, 2015
66b3b92
Merge pull request #729 from mitodl/fix/gdm/migration
giocalitri Sep 25, 2015
498bac5
Merge pull request #728 from mitodl/fix/gs/collapse
noisecapella Sep 25, 2015
ec7f25d
Merge pull request #733 from mitodl/optimization/gdm/update_desc_path
giocalitri Sep 28, 2015
7d0c972
Merge branch 'master' into feature/skm/680_query_converters
ShawnMilo Sep 28, 2015
62d5d4d
Moved reindexing to Celery.
ShawnMilo Sep 28, 2015
39efd15
Removed no-longer-used code.
ShawnMilo Sep 29, 2015
238c6e2
Moved refresh_index to search/tasks.py.
ShawnMilo Sep 30, 2015
5e2ca26
fixed connection creation in tasks
ShawnMilo Sep 30, 2015
7a54fb5
remove logging statements
ShawnMilo Sep 30, 2015
728cf6b
Added debug_toolbar
Sep 25, 2015
75ce622
fixed whitespace
ShawnMilo Sep 30, 2015
82a988b
Merge pull request #732 from mitodl/feature/gs/debug_toolbar
noisecapella Sep 30, 2015
c0d7c50
Added documentation for LORE release workflow
pwilkins Sep 2, 2015
bc66a80
Merge branch 'master' into feature/skm/680_query_converters
ShawnMilo Sep 30, 2015
02a80a4
removed unused import
ShawnMilo Sep 30, 2015
19e4948
Fixed resource ids
Oct 1, 2015
2c78640
Merge pull request #718 from mitodl/feature/skm/680_query_converters
ShawnMilo Oct 1, 2015
455e427
Merge pull request #735 from mitodl/tests/gs/fix_lid
noisecapella Oct 1, 2015
2c3a032
Added limit to memory for Docker
Oct 2, 2015
8fb3e01
Updated status tests to use settings context
Oct 5, 2015
c4b29b9
Merge pull request #740 from mitodl/docker_memory_limit
Oct 6, 2015
85b1f42
Merge pull request #745 from mitodl/tests/gs/refactor_status
Oct 6, 2015
f47d90f
Fixed reindexing for edited vocabularies
Oct 6, 2015
40c4e4f
Chunked bulk indexing to lower memory footprint
Oct 2, 2015
81e47bf
Merge pull request #747 from mitodl/fix/gs/vocab_indexing
Oct 7, 2015
4350f8b
Merge pull request #739 from mitodl/feature/gs/elasticsearch_dsl
Oct 7, 2015
7ba38f3
Added delete term functionality in taxonomy panel
amir-qayyum-khan Sep 14, 2015
5235903
Merge pull request #648 from mitodl/feature/aq/delete_term
Oct 7, 2015
e32e0f2
Moved Pagination inside Listing React component
Oct 6, 2015
c6c889e
Merge pull request #748 from mitodl/refactor/gs/pagination_in_listing
Oct 7, 2015
89b938c
Wrapped description text to 2 lines and added expand collapse descrip…
amir-qayyum-khan Sep 21, 2015
b8dd60f
Merge pull request #694 from mitodl/enhancement/aq/less_desc_lr
amir-qayyum-khan Oct 8, 2015
d1ea12b
Updated Django to 1.8.5 due to a bugfix release.
ShawnMilo Oct 8, 2015
e88952e
Removed haystack
Oct 7, 2015
3e2a818
Merge pull request #636 from mitodl/feature/pw/add_release_process_notes
pwilkins Oct 8, 2015
93ef219
Merge pull request #753 from mitodl/refactor/gs/remove_haystack
Oct 8, 2015
c7e2f89
Added spin.js
Oct 6, 2015
780fa44
Limited vocabularies to repository being searched
Oct 9, 2015
39d9660
Added loader to listing, resource panel and taxonomy panel
Oct 6, 2015
e906937
Merge pull request #759 from mitodl/fix/gs/repo_vocab_search
Oct 9, 2015
aa517e3
Merge pull request #754 from mitodl/update/skm/django-1.8.5
ShawnMilo Oct 9, 2015
58cdabd
Merge pull request #750 from mitodl/feature/gs/loader
Oct 9, 2015
a51cd33
Added remove_content_xml flag and updated resource panel to use it
Oct 9, 2015
0c2e342
Wrapped course imports in transaction
Oct 16, 2015
d5c5de2
Merge pull request #762 from mitodl/performance/gs/content_xml_param
Oct 19, 2015
7af5b0f
Merge pull request #766 from mitodl/fix/gs/transaction
Oct 19, 2015
a90dc56
Removed 'empty' term, reindexing after vocab create
Oct 14, 2015
e58eab5
Merge pull request #768 from mitodl/fix/gs/slow_taxonomy_add
Oct 21, 2015
2e94636
Release 0.12.0
pwilkins Oct 22, 2015
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Procfile
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
web: uwsgi uwsgi.ini
web: newrelic-admin run-program uwsgi uwsgi.ini
worker: celery -A lore worker
37 changes: 37 additions & 0 deletions RELEASE.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,43 @@
Release Notes
-------------

Version 0.12.0
==============

- Added task to index resources via Celery.
- Wrapped course imports in transaction.
- Limited vocabularies to repository being searched.
- Updated Django to 1.8.5 due to a bugfix release.
- Removed Haystack.
- Moved Pagination inside Listing React component.
- Fixed reindexing for edited vocabularies.
- Updated status tests to use settings context.
- Added limit to memory for Docker.
- Added loader to listing, resource panel and taxonomy panel.
- Chunked bulk indexing to lower memory footprint.
- Fixed resource ids.
- Added debug_toolbar.
- Fixed mouse pointer on edit and delete links.
- Fixed memory usage in migration.
- Fixed collapse behavior.
- Fixed NewRelic not reporting.
- Added bulk insert of static assets during import.
- Changed ``get_or_create`` to ``create``.
- Replaced Haystack queryset and facet counts with elasticsearch-dsl.
- Fixed ``id`` attribute for vocab and term select.
- Added filtering on vocabulary and learning resource type for learning
resources.
- Configured NewRelic Python agent.
- Implemented verification of resource types on models.
- Static assets are served again using local storage.
- Fixed missing test module.
- Replaced default missing title and updated description path.
- Pinned PyTest to a version < 2.8.
- Wrapped description text to 2 lines and added expand collapse description
functionality.
- Added vocabulary editing in the taxonomy panel.
- Added documentation for LORE release workflow.

Version 0.11.0
==============

Expand Down
14 changes: 7 additions & 7 deletions bower.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,17 @@
"license": "AGPLv3",
"dependencies": {
"bootstrap": "~3.3.5",
"requirejs": "~2.1.17",
"icheck": "~1.0.2",
"components-font-awesome": "~4.3.0",
"history.js": "~1.8.0",
"icheck": "~1.0.2",
"lodash": "~3.9.3",
"modernizr": "~2.8.3",
"retina.js": "~1.3.0",
"react": "0.13.3",
"react-infinite": "~0.4.1",
"requirejs": "~2.1.17",
"retina.js": "~1.3.0",
"select2": "~4.0.0",
"select2-bootstrap-theme": "~0.1.0-beta.4",
"lodash": "~3.9.3",
"react-infinite": "~0.4.1",
"uri.js": "~1.16.0",
"history.js": "~1.8.0"
"uri.js": "~1.16.0"
}
}
3 changes: 3 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,10 @@ stats:
- "8071:80"
web:
build: .
mem_limit: 384m
command: >
/bin/bash -c '
export HOST_IP=$(netstat -nr | grep ^0\.0\.0\.0 | awk "{print \$2}") &&
sleep 3 &&
npm install --production --no-bin-links &&
python manage.py migrate &&
Expand Down Expand Up @@ -52,6 +54,7 @@ web:
- stats
celery:
image: lore_web
mem_limit: 384m
command: >
/bin/bash -c '
sleep 3;
Expand Down
5 changes: 3 additions & 2 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
#pylint: skip-file

sys.path.insert(0, os.path.abspath('..'))
from lore.settings import VERSION

# django-specific configuration
os.environ['DJANGO_SETTINGS_MODULE'] = 'lore.settings'
Expand All @@ -31,8 +32,8 @@
project = u'LORE'
copyright = u'2015, MIT Office of Digital Learning'

version = '0.11.0'
release = '0.11.0'
version = VERSION
release = VERSION

exclude_patterns = ['_build']
pygments_style = 'sphinx'
Expand Down
1 change: 1 addition & 0 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ Contents:

api
release
release_process

Indices and tables
==================
Expand Down
195 changes: 195 additions & 0 deletions docs/release_process.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,195 @@
=====================
LORE Release Workflow
=====================

Quick Start
-----------

prerequisites:
- ``git-release-notes`` - https://www.npmjs.com/package/git-release-notes
- ``git-flow`` - https://github.com/nvie/gitflow
- You've configured Git-Flow to use LORE branch naming scheme.
(See Git-Flow_ section below)

These instructions presume you're releasing LORE version 0.10.0.

.. code-block:: bash

git fetch
git checkout master
git pull
git flow release start 0.10.0
vi lore/settings.py # change version number
git-release-notes v0.9.0..master util/release_notes_rst.ejs
vi RELEASE.rst # paste results of prior command at top of file, updating the release number
git add RELEASE.rst lore/settings.py
git commit -m "Release 0.10.0"
git flow release publish 0.10.0
# Verify that the Travis-ci build succeeds
git-release-notes v0.9.0..master util/release_notes.ejs
# Create PR on the ``release-candidate`` branch named ``rc/0.10.0`` (The
# PR description isn't important)
# Merge this PR immediately to kick off the build
# Create PR on the ``release`` branch named ``rc/0.10.0`` using the
# console output from git-release-notes v0.9.0..master util/release_notes.ejs
# as the PR description
# Once the ``release`` branch deploys on https://lore-rc.herokuapp.com ,
# Instruct developers to view the ``release`` branch PR description and
# validate their commits on https://lore-rc.herokuapp.com
# Wait for all checkboxes to be checked
# Check with Dev-Ops buddy whether migrations need to be run for this release
git flow release finish 0.10.0
git push --tags
# Send release notification to LORE mailing list - odl-lore-announce@mit.edu

Detailed Instructions
----------------------

Create, commit, and push release candidate branch
=================================================

.. code-block:: bash

git fetch
git checkout master
git pull
git flow release start 0.10.0

Update the ``VERSION`` number in ``lore/settings.py`` following Semantic
numbering practice.

.. code-block:: bash

vi lore/settings.py # change version number

Generate the `release notes`_ in reStructuredText format:

.. code-block:: bash

git-release-notes v0.9.0..master util/release_notes_rst.ejs

Update ``release.rst`` with this version's release notes (the console output
generated by running ``release_notes_rst.ejs``). Edit the new
release notes to correct the release number, make each statement in the
past tense, capitalize the first word, and end sentences with a period.

.. code-block:: bash

vi RELEASE.rst

Add, commit, and push the two files you have updated to publish
the release.

.. code-block:: bash

git add RELEASE.rst lore/settings.py
git commit -m "Release 0.10.0"
git flow release publish 0.10.0

The "release publish" (push) will trigger a build on Travis CI.
https://travis-ci.org/mitodl/lore/builds For each commit throughout
the release, it's good practice to check that the build succeeded
before proceeding.

Create Pull Requests
====================

Developers will start their verification tests as soon as
they learn that you've created the PR with the checkboxes. Since
the deployment to ``lore-rc`` can take a while, merge the
``release-candidate`` branch PR as soon as you create it to move
its deployment off the critical path.

Make three PRs based on the release branch you just published:

- One to the ``release-candidate`` branch named ``rc/0.10.0``
- Merge this PR immediately to kick off the build.
- One to the ``release`` branch named ``rc/0.10.0`` containing a checklist of commits
- one to the ``master`` branch named ``Release 0.10.0``

Run ``git-release-notes`` with the other template to create the
Pull Request descriptions for the ``release`` branch.

.. code-block:: bash

git-release-notes v0.9.0..master util/release_notes.ejs

and paste the Markdown output as the description of the PR to the release
branch ``rc/0.10.0`` (This is the one with the checkboxes.)

Tell developers to test their changes on the LORE release candidate
server, http://lore-rc.herokuapp.com
and then bug team members until all the check boxes are checked.

Finish the release
==================

When all the boxes are checked finish the release.

.. code-block:: bash

git flow release finish 0.10.0
git push --tags

Follow this by merging the remaining PRs and sending a release notice
to LORE users.

The email address of the LORE mailing list we use for release notification
is odl-lore-announce@mit.edu It is a mailman list located here:
https://mailman.mit.edu:444/mailman/admin/odl-lore-announce/general
The list is set to hold all emails for review by list moderators who
are notified by email when an email is received.

Release Process Roles
=====================

the important piece for the dev-ops person is migrations
so the devops person should actually do the merge to release so they can run
migrations before they do so which means we are almost exactly following the
edX release strategy, where there is a release master and "dev-ops buddy".

.. _release notes:

``git-release-notes``
=====================

Create the release notes with a utility called ``git-release-notes``.
https://www.npmjs.com/package/git-release-notes Its output is written
to the console.

``git-release-notes`` takes two command line arguments. The first argument
takes a range of git references to determine which commits to include in
the release. In the example given it is all commits from the last release
to what is in ``master``.

The second command argument specifies a template to format the output.
LORE has two templates.

- ``util/release_notes_rst.ejs`` formats the output as
reStructuredText for inclusion in ``RELEASE.rst``.

- ``util/release_notes.ejs`` formats the output as Markdown so as to
precede each commit with a checkbox, and follow each with a link to
the developer's commit history. Add these release notes as the
description for the GitHub PR to the ``release`` branch.

.. _Git-Flow:

Git-Flow
========

The LORE project uses a different branch naming scheme than is the
Git-Flow default. The easiest way to configure this alternate scheme
is to add this block to your ``~/.gitconfig`` file.

.. code-block:: bash

[gitflow "branch"]
master = release
develop = master
[gitflow "prefix"]
feature = feature/
release = rc/
hotfix = hotfix/
support = support/
versiontag = v
Loading