mirror of
https://github.com/aljazceru/CTFd.git
synced 2025-12-17 14:04:20 +01:00
Fix GitHub actions and add comments table (#1604)
* Fix MySQL and Postgres GitHub actions to properly test databases * Add migration to add `comments` table
This commit is contained in:
9
.github/workflows/mysql.yml
vendored
9
.github/workflows/mysql.yml
vendored
@@ -9,13 +9,16 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
services:
|
services:
|
||||||
mysql:
|
mysql:
|
||||||
image: mysql
|
image: mysql:5.7
|
||||||
|
env:
|
||||||
|
MYSQL_ROOT_PASSWORD: password
|
||||||
ports:
|
ports:
|
||||||
- 3306
|
- 3306
|
||||||
|
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
|
||||||
redis:
|
redis:
|
||||||
image: redis
|
image: redis
|
||||||
ports:
|
ports:
|
||||||
- 6379
|
- 6379:6379
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
@@ -42,7 +45,7 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
AWS_ACCESS_KEY_ID: AKIAIOSFODNN7EXAMPLE
|
AWS_ACCESS_KEY_ID: AKIAIOSFODNN7EXAMPLE
|
||||||
AWS_SECRET_ACCESS_KEY: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
|
AWS_SECRET_ACCESS_KEY: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
|
||||||
TESTING_DATABASE_URL: mysql+pymysql://root@mysql/ctfd
|
TESTING_DATABASE_URL: mysql+pymysql://root:password@localhost:${{ job.services.mysql.ports[3306] }}/ctfd
|
||||||
|
|
||||||
- name: Codecov
|
- name: Codecov
|
||||||
uses: codecov/codecov-action@v1.0.11
|
uses: codecov/codecov-action@v1.0.11
|
||||||
|
|||||||
3
.github/workflows/postgres.yml
vendored
3
.github/workflows/postgres.yml
vendored
@@ -15,6 +15,7 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
POSTGRES_HOST_AUTH_METHOD: trust
|
POSTGRES_HOST_AUTH_METHOD: trust
|
||||||
POSTGRES_DB: ctfd
|
POSTGRES_DB: ctfd
|
||||||
|
POSTGRES_PASSWORD: password
|
||||||
# Set health checks to wait until postgres has started
|
# Set health checks to wait until postgres has started
|
||||||
options: >-
|
options: >-
|
||||||
--health-cmd pg_isready
|
--health-cmd pg_isready
|
||||||
@@ -51,7 +52,7 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
AWS_ACCESS_KEY_ID: AKIAIOSFODNN7EXAMPLE
|
AWS_ACCESS_KEY_ID: AKIAIOSFODNN7EXAMPLE
|
||||||
AWS_SECRET_ACCESS_KEY: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
|
AWS_SECRET_ACCESS_KEY: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
|
||||||
TESTING_DATABASE_URL: 'postgres://postgres@postgres/ctfd'
|
TESTING_DATABASE_URL: postgres://postgres:password@localhost:${{ job.services.postgres.ports[5432] }}/ctfd
|
||||||
|
|
||||||
- name: Codecov
|
- name: Codecov
|
||||||
uses: codecov/codecov-action@v1.0.11
|
uses: codecov/codecov-action@v1.0.11
|
||||||
|
|||||||
47
migrations/versions/0366ba6575ca_add_table_for_comments.py
Normal file
47
migrations/versions/0366ba6575ca_add_table_for_comments.py
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
"""Add table for comments
|
||||||
|
|
||||||
|
Revision ID: 0366ba6575ca
|
||||||
|
Revises: 1093835a1051
|
||||||
|
Create Date: 2020-08-14 00:46:54.161120
|
||||||
|
|
||||||
|
"""
|
||||||
|
from alembic import op
|
||||||
|
import sqlalchemy as sa
|
||||||
|
|
||||||
|
|
||||||
|
# revision identifiers, used by Alembic.
|
||||||
|
revision = "0366ba6575ca"
|
||||||
|
down_revision = "1093835a1051"
|
||||||
|
branch_labels = None
|
||||||
|
depends_on = None
|
||||||
|
|
||||||
|
|
||||||
|
def upgrade():
|
||||||
|
# ### commands auto generated by Alembic - please adjust! ###
|
||||||
|
op.create_table(
|
||||||
|
"comments",
|
||||||
|
sa.Column("id", sa.Integer(), nullable=False),
|
||||||
|
sa.Column("type", sa.String(length=80), nullable=True),
|
||||||
|
sa.Column("content", sa.Text(), nullable=True),
|
||||||
|
sa.Column("date", sa.DateTime(), nullable=True),
|
||||||
|
sa.Column("author_id", sa.Integer(), nullable=True),
|
||||||
|
sa.Column("challenge_id", sa.Integer(), nullable=True),
|
||||||
|
sa.Column("user_id", sa.Integer(), nullable=True),
|
||||||
|
sa.Column("team_id", sa.Integer(), nullable=True),
|
||||||
|
sa.Column("page_id", sa.Integer(), nullable=True),
|
||||||
|
sa.ForeignKeyConstraint(["author_id"], ["users.id"], ondelete="CASCADE"),
|
||||||
|
sa.ForeignKeyConstraint(
|
||||||
|
["challenge_id"], ["challenges.id"], ondelete="CASCADE"
|
||||||
|
),
|
||||||
|
sa.ForeignKeyConstraint(["page_id"], ["pages.id"], ondelete="CASCADE"),
|
||||||
|
sa.ForeignKeyConstraint(["team_id"], ["teams.id"], ondelete="CASCADE"),
|
||||||
|
sa.ForeignKeyConstraint(["user_id"], ["users.id"], ondelete="CASCADE"),
|
||||||
|
sa.PrimaryKeyConstraint("id"),
|
||||||
|
)
|
||||||
|
# ### end Alembic commands ###
|
||||||
|
|
||||||
|
|
||||||
|
def downgrade():
|
||||||
|
# ### commands auto generated by Alembic - please adjust! ###
|
||||||
|
op.drop_table("comments")
|
||||||
|
# ### end Alembic commands ###
|
||||||
Reference in New Issue
Block a user