Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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: 2 additions & 0 deletions .env
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# TODO: do not commit
INVENIO_THEME_FRONTPAGE=False
6 changes: 3 additions & 3 deletions .tx/config
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,8 @@
[main]
host = https://app.transifex.com

[o:inveniosoftware:p:invenio:r:invenio-github-messages]
file_filter = invenio_github/translations/<lang>/LC_MESSAGES/messages.po
source_file = invenio_github/translations/messages.pot
[o:inveniosoftware:p:invenio:r:invenio-vcs-messages]
file_filter = invenio_vcs/translations/<lang>/LC_MESSAGES/messages.po
source_file = invenio_vcs/translations/messages.pot
source_lang = en
type = PO
15 changes: 15 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,21 @@
Changes
=======

Version v4.0.0 (release 2025-XX-XX)

- global!: renamed package to `invenio-vcs` to reflect the extended functionality.
- models!: renamed tables to `vcs_` instead of `github_`, and added columns to identify the provider (e.g. `github`)
- Created an Alembic migration to automate this upgrade. Please note that on large instances (i.e. more than ~50k repos) this migration is likely to lead to severe stability issues and a full lock on a number of tables for several minutes. Instead of the automated migration, please refer to the upgrade guide in this module's documentation.
- models!: moved the user's full list of repositories from the `extra_data` column of `oauthclient_remoteaccount` to `vcs_repositories`, even for non-activated repos. Activated repos are instead signified by non-null `hook` and `enabled_by_id` values. User access to repos is stored in the new `vcs_repository_users` table with the access rights propagated during the sync.
- The Alembic migration also moves the JSON data into the table automatically, but this is a slow operation that scales linearly with the size of the `oauthclient_remoteaccount`. If it is too slow, please refer to the upgrade guide for a manual faster method.
- refactor!: support for multiple VCS providers through a refactored module architecture. Contrib providers can now be created by implementing abstract classes `RepositoryServiceProviderFactory` and `RepositoryServiceProvider`. Other than the contrib provider implementations, this module is now fully provider-agnostic.
- New provider implementations may be created either in this module or anywhere else in the codebase by implementing the relevant abstract classes.
- feat: support for GitHub and GitLab via provider implementations.
- config!: moved provider-specific config options into the constructor arguments of the relevant class. Providers can now be declared as a list of class instances.
- Please see the documentation for details on the new configuration format.

BREAKING CHANGE: various major updates will require changes to the database tables and the config. Please see the upgrade guide for more details.

Version v3.0.1 (released 2025-07-30)

- api: fix set alternate zipball URL when tag and branch having same name
Expand Down
16 changes: 8 additions & 8 deletions MANIFEST.in
Original file line number Diff line number Diff line change
Expand Up @@ -47,12 +47,12 @@ recursive-include docs *.py
recursive-include docs *.rst
recursive-include docs *.txt
recursive-include docs Makefile
recursive-include invenio_github *.html
recursive-include invenio_github *.js
recursive-include invenio_github *.json
recursive-include invenio_github *.less
recursive-include invenio_github *.mo
recursive-include invenio_github *.po
recursive-include invenio_github *.pot
recursive-include invenio_github *.py
recursive-include invenio_vcs *.html
recursive-include invenio_vcs *.js
recursive-include invenio_vcs *.json
recursive-include invenio_vcs *.less
recursive-include invenio_vcs *.mo
recursive-include invenio_vcs *.po
recursive-include invenio_vcs *.pot
recursive-include invenio_vcs *.py
include .git-blame-ignore-revs
2 changes: 1 addition & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
as an Intergovernmental Organization or submit itself to any jurisdiction.

================
Invenio-GitHub
Invenio-VCS
================

.. image:: https://img.shields.io/travis/inveniosoftware/invenio-github.svg
Expand Down
36 changes: 0 additions & 36 deletions RELEASE-NOTES.rst

This file was deleted.

8 changes: 4 additions & 4 deletions docs/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -87,9 +87,9 @@ qthelp:
@echo
@echo "Build finished; now you can run "qcollectiongenerator" with the" \
".qhcp project file in $(BUILDDIR)/qthelp, like this:"
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Invenio-GitHub.qhcp"
@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Invenio-VCS.qhcp"
@echo "To view the help file:"
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Invenio-GitHub.qhc"
@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Invenio-VCS.qhc"

applehelp:
$(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp
Expand All @@ -104,8 +104,8 @@ devhelp:
@echo
@echo "Build finished."
@echo "To view the help file:"
@echo "# mkdir -p $$HOME/.local/share/devhelp/Invenio-GitHub"
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Invenio-GitHub"
@echo "# mkdir -p $$HOME/.local/share/devhelp/Invenio-VCS"
@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Invenio-VCS"
@echo "# devhelp"

epub:
Expand Down
22 changes: 3 additions & 19 deletions docs/api.rst
Original file line number Diff line number Diff line change
@@ -1,25 +1,9 @@
..
This file is part of Invenio.
Copyright (C) 2016 CERN.
Copyright (C) 2025 CERN.

Invenio is free software; you can redistribute it
and/or modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.

Invenio is distributed in the hope that it will be
useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License
along with Invenio; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
MA 02111-1307, USA.

In applying this license, CERN does not
waive the privileges and immunities granted to it by virtue of its status
as an Intergovernmental Organization or submit itself to any jurisdiction.
Invenio is free software; you can redistribute it and/or modify it
under the terms of the MIT License; see LICENSE file for more details.


API Docs
Expand Down
23 changes: 3 additions & 20 deletions docs/authors.rst
Original file line number Diff line number Diff line change
@@ -1,25 +1,8 @@
..
This file is part of Invenio.
Copyright (C) 2016 CERN.

Invenio is free software; you can redistribute it
and/or modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.

Invenio is distributed in the hope that it will be
useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License
along with Invenio; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
MA 02111-1307, USA.

In applying this license, CERN does not
waive the privileges and immunities granted to it by virtue of its status
as an Intergovernmental Organization or submit itself to any jurisdiction.
Copyright (C) 2025 CERN.

Invenio is free software; you can redistribute it and/or modify it
under the terms of the MIT License; see LICENSE file for more details.

.. include:: ../AUTHORS.rst
23 changes: 3 additions & 20 deletions docs/changes.rst
Original file line number Diff line number Diff line change
@@ -1,25 +1,8 @@
..
This file is part of Invenio.
Copyright (C) 2016 CERN.

Invenio is free software; you can redistribute it
and/or modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.

Invenio is distributed in the hope that it will be
useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License
along with Invenio; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
MA 02111-1307, USA.

In applying this license, CERN does not
waive the privileges and immunities granted to it by virtue of its status
as an Intergovernmental Organization or submit itself to any jurisdiction.
Copyright (C) 2025 CERN.

Invenio is free software; you can redistribute it and/or modify it
under the terms of the MIT License; see LICENSE file for more details.

.. include:: ../CHANGES.rst
30 changes: 14 additions & 16 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@

"""Sphinx configuration."""

from invenio_github import __version__
from invenio_vcs import __version__

# -- General configuration ------------------------------------------------

Expand Down Expand Up @@ -61,8 +61,8 @@
master_doc = "index"

# General information about the project.
project = "Invenio-GitHub"
copyright = "2016, CERN"
project = "Invenio-VCS"
copyright = "2025, CERN"
author = "CERN"

# The version info for the project you're documenting, acts as replacement for
Expand Down Expand Up @@ -123,15 +123,15 @@
html_theme = "alabaster"

html_theme_options = {
"description": "Invenio module that adds GitHub integration to the platform.",
"description": "Invenio module that adds VCS integration to the platform.",
"github_user": "inveniosoftware",
"github_repo": "invenio-github",
"github_repo": "invenio-vcs",
"github_button": False,
"github_banner": True,
"show_powered_by": False,
"extra_nav_links": {
"invenio-github@GitHub": "https://github.com/inveniosoftware/invenio-github",
"invenio-github@PyPI": "https://pypi.python.org/pypi/invenio-github/",
"invenio-vcs@GitHub": "https://github.com/inveniosoftware/invenio-github",
"invenio-vcs@PyPI": "https://pypi.python.org/pypi/invenio-github/",
},
}

Expand Down Expand Up @@ -236,7 +236,7 @@
# html_search_scorer = 'scorer.js'

# Output file base name for HTML help builder.
htmlhelp_basename = "invenio-github_namedoc"
htmlhelp_basename = "invenio-vcs_namedoc"

# -- Options for LaTeX output ---------------------------------------------

Expand All @@ -257,8 +257,8 @@
latex_documents = [
(
master_doc,
"invenio-github.tex",
"invenio-github Documentation",
"invenio-vcs.tex",
"invenio-vcs Documentation",
"CERN",
"manual",
),
Expand Down Expand Up @@ -289,9 +289,7 @@

# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
(master_doc, "invenio-github", "invenio-github Documentation", [author], 1)
]
man_pages = [(master_doc, "invenio-vcs", "invenio-vcs Documentation", [author], 1)]

# If true, show URL addresses after external links.
# man_show_urls = False
Expand All @@ -305,10 +303,10 @@
texinfo_documents = [
(
master_doc,
"invenio-github",
"Invenio-GitHub Documentation",
"invenio-vcs",
"Invenio-VCS Documentation",
author,
"invenio-github",
"invenio-vcs",
"Invenio module that adds GitHub integration to the platform.",
"Miscellaneous",
),
Expand Down
23 changes: 3 additions & 20 deletions docs/contributing.rst
Original file line number Diff line number Diff line change
@@ -1,25 +1,8 @@
..
This file is part of Invenio.
Copyright (C) 2016 CERN.

Invenio is free software; you can redistribute it
and/or modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.

Invenio is distributed in the hope that it will be
useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License
along with Invenio; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
MA 02111-1307, USA.

In applying this license, CERN does not
waive the privileges and immunities granted to it by virtue of its status
as an Intergovernmental Organization or submit itself to any jurisdiction.
Copyright (C) 2025 CERN.

Invenio is free software; you can redistribute it and/or modify it
under the terms of the MIT License; see LICENSE file for more details.

.. include:: ../CONTRIBUTING.rst
25 changes: 5 additions & 20 deletions docs/index.rst
Original file line number Diff line number Diff line change
@@ -1,25 +1,9 @@
..
This file is part of Invenio.
Copyright (C) 2016 CERN.
Copyright (C) 2025 CERN.

Invenio is free software; you can redistribute it
and/or modify it under the terms of the GNU General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.

Invenio is distributed in the hope that it will be
useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License
along with Invenio; if not, write to the
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston,
MA 02111-1307, USA.

In applying this license, CERN does not
waive the privileges and immunities granted to it by virtue of its status
as an Intergovernmental Organization or submit itself to any jurisdiction.
Invenio is free software; you can redistribute it and/or modify it
under the terms of the MIT License; see LICENSE file for more details.


.. include:: ../README.rst
Expand All @@ -28,13 +12,14 @@ User's Guide
------------

This part of the documentation will show you how to get started in using
Invenio-GitHub.
Invenio-VCS.

.. toctree::
:maxdepth: 2

installation
usage
upgrading


API Reference
Expand Down
Loading
Loading