]> git.lizzy.rs Git - cheatdb.git/commitdiff
Add commit hash to releases
authorrubenwardy <rw@rubenwardy.com>
Sat, 28 Jul 2018 13:48:03 +0000 (14:48 +0100)
committerrubenwardy <rw@rubenwardy.com>
Sat, 28 Jul 2018 13:48:03 +0000 (14:48 +0100)
app/models.py
app/tasks/importtasks.py
app/templates/packages/release_edit.html
app/templates/packages/view.html
migrations/versions/44e138485931_.py [new file with mode: 0644]

index 0452009f02d47e8859d691ecf255ab6e95d1f163..281867c6e0866a210df116ca0129254946988f00 100644 (file)
@@ -591,6 +591,7 @@ class PackageRelease(db.Model):
        url          = db.Column(db.String(200), nullable=False)
        approved     = db.Column(db.Boolean, nullable=False, default=False)
        task_id      = db.Column(db.String(37), nullable=True)
+       commit_hash  = db.Column(db.String(41), nullable=True, default=None)
 
 
        def getEditURL(self):
index 18ce2e6aa6bf0b786d3e1890dea4b18b227e1acc..9afc8b69f1ac4fd38f714461b005c1fae5d44e8d 100644 (file)
@@ -344,9 +344,10 @@ def makeVCSReleaseFromGithub(id, branch, release, url):
        if len(commits) == 0 or not "sha" in commits[0]:
                raise TaskError("No commits found")
 
-       release.url = urlmaker.getCommitDownload(commits[0]["sha"])
+       release.url          = urlmaker.getCommitDownload(commits[0]["sha"])
+       release.task_id     = None
+       release.commit_hash = commits[0]["sha"]
        print(release.url)
-       release.task_id = None
        db.session.commit()
 
        return release.url
@@ -374,9 +375,10 @@ def makeVCSRelease(id, branch):
                        with open(destPath, "wb") as fp:
                                repo.archive(fp, format="zip")
 
-                       release.url = "/uploads/" + filename
+                       release.url         = "/uploads/" + filename
+                       release.task_id     = None
+                       release.commit_hash = repo.head.object.hexsha
                        print(release.url)
-                       release.task_id = None
                        db.session.commit()
 
                        return release.url
index a201a38bb1ccd29619381d80665d9b8de5e2d23a..faa475eb1fe07cf0f43a3c385d0d54b5c0f50539 100644 (file)
                        Url: <a href="{{ release.url }}">{{ release.url }}</a><br />
                {% endif %}
 
+               {% if release.commit_hash %}
+                       Commit Hash: {{ release.commit_hash }}<br />
+               {% endif %}
+
                {% if release.task_id %}
                        Importing... <a href="{ url_for('check_task', id=release.task_id, r=release.getEditURL()) }}">view task</a><br />
                        {% if package.checkPerm(current_user, "CHANGE_RELEASE_URL") %}
index b118046e212b2eed695c4175160a6b6d36367eec..181ae99879627ecccd274319d7674dfb44099613 100644 (file)
                                <li>
                                        {% if not rel.approved %}<i>{% endif %}
 
-                                       <a href="{{ rel.url }}">{{ rel.title }}</a>,
+                                       <a href="{{ rel.url }}">{{ rel.title }}</a>{% if rel.commit_hash %}
+                                       [{{ rel.commit_hash | truncate(5, end='') }}]{% endif %},
                                        created {{ rel.releaseDate | datetime }}.
                                        {% if rel.task_id %}
                                                <a href="{{ url_for('check_task', id=rel.task_id, r=package.getDetailsURL()) }}">Importing...</a>
diff --git a/migrations/versions/44e138485931_.py b/migrations/versions/44e138485931_.py
new file mode 100644 (file)
index 0000000..a865777
--- /dev/null
@@ -0,0 +1,28 @@
+"""empty message
+
+Revision ID: 44e138485931
+Revises: 9e2ac631efb0
+Create Date: 2018-07-28 14:45:28.879331
+
+"""
+from alembic import op
+import sqlalchemy as sa
+
+
+# revision identifiers, used by Alembic.
+revision = '44e138485931'
+down_revision = '9e2ac631efb0'
+branch_labels = None
+depends_on = None
+
+
+def upgrade():
+    # ### commands auto generated by Alembic - please adjust! ###
+    op.add_column('package_release', sa.Column('commit_hash', sa.String(length=41), nullable=True, server_default=None))
+    # ### end Alembic commands ###
+
+
+def downgrade():
+    # ### commands auto generated by Alembic - please adjust! ###
+    op.drop_column('package_release', 'commit_hash')
+    # ### end Alembic commands ###