General clean up #10
@ -18,61 +18,3 @@ jobs:
|
||||
steps:
|
||||
- name: Run dummy job
|
||||
run: echo "Empty dummy job"
|
||||
# concise_migration_diff:
|
||||
# name: Verify concise migration and generated schema
|
||||
# runs-on: ubuntu-latest
|
||||
# steps:
|
||||
# - uses: actions/checkout@v2
|
||||
# - name: Run docker concise migration build
|
||||
# run: make docker-concise-migration-build
|
||||
# - name: Run database
|
||||
# run: docker-compose -f docker-compose.test.yml up -d test-db
|
||||
# - name: Test concise migration
|
||||
# run: |
|
||||
# sleep 10
|
||||
# docker run --rm --network host -e DATABASE_USER=vdbm -e DATABASE_PASSWORD=password \
|
||||
# -e DATABASE_HOSTNAME=127.0.0.1 -e DATABASE_PORT=8066 -e DATABASE_NAME=vulcanize_testing \
|
||||
# vulcanize/concise-migration-build
|
||||
# - name: Verify schema is latest
|
||||
# run: |
|
||||
# PGPASSWORD="password" pg_dump -h localhost -p 8066 -U vdbm vulcanize_testing --no-owner --schema-only > ./db/migration_schema.sql
|
||||
# ./scripts/check_diff.sh ./db/migration_schema.sql db/schema.sql
|
||||
|
||||
# incremental_migration_diff:
|
||||
# name: Compare conscise migration schema with incremental migration.
|
||||
# runs-on: ubuntu-latest
|
||||
# steps:
|
||||
# - uses: actions/checkout@v2
|
||||
# - name: Run database
|
||||
# run: docker-compose -f docker-compose.test.yml up -d test-db statediff-migrations
|
||||
# - name: Test incremental migration
|
||||
# run: |
|
||||
# sleep 10
|
||||
# docker run --rm --network host -e DATABASE_USER=vdbm -e DATABASE_PASSWORD=password \
|
||||
# -e DATABASE_HOSTNAME=127.0.0.1 -e DATABASE_PORT=8066 -e DATABASE_NAME=vulcanize_testing \
|
||||
# vulcanize/statediff-migrations:v0.9.0
|
||||
# - name: Verify schema is latest
|
||||
# run: |
|
||||
# PGPASSWORD="password" pg_dump -h localhost -p 8066 -U vdbm vulcanize_testing --no-owner --schema-only > ./db/migration_schema.sql
|
||||
# ./scripts/check_diff.sh db/schema.sql ./db/migration_schema.sql
|
||||
|
||||
# migration:
|
||||
# name: Compare up and down migration
|
||||
# env:
|
||||
# GOPATH: /tmp/go
|
||||
# strategy:
|
||||
# matrix:
|
||||
# go-version: [ 1.16.x ]
|
||||
# os: [ ubuntu-latest ]
|
||||
# runs-on: ${{ matrix.os }}
|
||||
# steps:
|
||||
# - name: Create GOPATH
|
||||
# run: mkdir -p /tmp/go
|
||||
# - name: Install Go
|
||||
# uses: actions/setup-go@v2
|
||||
# with:
|
||||
# go-version: ${{ matrix.go-version }}
|
||||
# - uses: actions/checkout@v2
|
||||
# - name: Test migration
|
||||
# run: |
|
||||
# timeout 5m make test-migrations
|
||||
|
78
.github/workflows/on-pr.yaml
vendored
78
.github/workflows/on-pr.yaml
vendored
@ -1,78 +0,0 @@
|
||||
name: Docker Build
|
||||
|
||||
on: [pull_request]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Run docker build
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Run docker build
|
||||
run: docker compose build
|
||||
test:
|
||||
# Add a dummy job to avoid failing GitHub CI checks.
|
||||
# Other checks to be added later.
|
||||
name: Dummy job
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Run dummy job
|
||||
run: echo "Empty dummy job"
|
||||
# concise_migration_diff:
|
||||
# name: Verify concise migration and generated schema
|
||||
# runs-on: ubuntu-latest
|
||||
# steps:
|
||||
# - uses: actions/checkout@v2
|
||||
# - name: Run docker concise migration build
|
||||
# run: make docker-concise-migration-build
|
||||
# - name: Run database
|
||||
# run: docker-compose -f docker-compose.test.yml up -d test-db
|
||||
# - name: Test concise migration
|
||||
# run: |
|
||||
# sleep 10
|
||||
# docker run --rm --network host -e DATABASE_USER=vdbm -e DATABASE_PASSWORD=password \
|
||||
# -e DATABASE_HOSTNAME=127.0.0.1 -e DATABASE_PORT=8066 -e DATABASE_NAME=vulcanize_testing \
|
||||
# vulcanize/concise-migration-build
|
||||
# - name: Verify schema is latest
|
||||
# run: |
|
||||
# PGPASSWORD="password" pg_dump -h localhost -p 8066 -U vdbm vulcanize_testing --no-owner --schema-only > ./db/migration_schema.sql
|
||||
# ./scripts/check_diff.sh ./db/migration_schema.sql db/schema.sql
|
||||
|
||||
# incremental_migration_diff:
|
||||
# name: Compare conscise migration schema with incremental migration.
|
||||
# runs-on: ubuntu-latest
|
||||
# steps:
|
||||
# - uses: actions/checkout@v2
|
||||
# - name: Run database
|
||||
# run: docker-compose -f docker-compose.test.yml up -d test-db statediff-migrations
|
||||
# - name: Test incremental migration
|
||||
# run: |
|
||||
# sleep 10
|
||||
# docker run --rm --network host -e DATABASE_USER=vdbm -e DATABASE_PASSWORD=password \
|
||||
# -e DATABASE_HOSTNAME=127.0.0.1 -e DATABASE_PORT=8066 -e DATABASE_NAME=vulcanize_testing \
|
||||
# vulcanize/statediff-migrations:v0.9.0
|
||||
# - name: Verify schema is latest
|
||||
# run: |
|
||||
# PGPASSWORD="password" pg_dump -h localhost -p 8066 -U vdbm vulcanize_testing --no-owner --schema-only > ./db/migration_schema.sql
|
||||
# ./scripts/check_diff.sh db/schema.sql ./db/migration_schema.sql
|
||||
|
||||
# migration:
|
||||
# name: Compare up and down migration
|
||||
# env:
|
||||
# GOPATH: /tmp/go
|
||||
# strategy:
|
||||
# matrix:
|
||||
# go-version: [ 1.16.x ]
|
||||
# os: [ ubuntu-latest ]
|
||||
# runs-on: ${{ matrix.os }}
|
||||
# steps:
|
||||
# - name: Create GOPATH
|
||||
# run: mkdir -p /tmp/go
|
||||
# - name: Install Go
|
||||
# uses: actions/setup-go@v2
|
||||
# with:
|
||||
# go-version: ${{ matrix.go-version }}
|
||||
# - uses: actions/checkout@v2
|
||||
# - name: Test migration
|
||||
# run: |
|
||||
# timeout 5m make test-migrations
|
26
.github/workflows/publish.yaml
vendored
26
.github/workflows/publish.yaml
vendored
@ -1,26 +0,0 @@
|
||||
name: Publish Docker image
|
||||
on:
|
||||
release:
|
||||
types: [published, edited]
|
||||
jobs:
|
||||
build:
|
||||
name: Build and publish image
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- id: vars
|
||||
name: Output SHA and version tag
|
||||
run: |
|
||||
echo "sha=${GITHUB_SHA:0:7}" >> $GITHUB_OUTPUT
|
||||
echo "tag=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
|
||||
- name: Build and tag image
|
||||
run: |
|
||||
docker build . \
|
||||
-t cerc-io/ipld-eth-db \
|
||||
-t git.vdb.to/cerc-io/ipld-eth-db/ipld-eth-db:${{steps.vars.outputs.sha}} \
|
||||
-t git.vdb.to/cerc-io/ipld-eth-db/ipld-eth-db:${{steps.vars.outputs.tag}}
|
||||
- name: Push image tags
|
||||
run: |
|
||||
echo ${{ secrets.GITEA_PUBLISH_TOKEN }} | docker login https://git.vdb.to -u cerccicd --password-stdin
|
||||
docker push git.vdb.to/cerc-io/ipld-eth-db/ipld-eth-db:${{steps.vars.outputs.sha}}
|
||||
docker push git.vdb.to/cerc-io/ipld-eth-db/ipld-eth-db:${{steps.vars.outputs.tag}}
|
121
Makefile
121
Makefile
@ -1,121 +0,0 @@
|
||||
ifndef GOPATH
|
||||
override GOPATH = $(HOME)/go
|
||||
endif
|
||||
|
||||
BIN = $(GOPATH)/bin
|
||||
|
||||
# Tools
|
||||
## Migration tool
|
||||
GOOSE = $(BIN)/goose
|
||||
$(BIN)/goose:
|
||||
go get -u github.com/pressly/goose/cmd/goose
|
||||
|
||||
.PHONY: installtools
|
||||
installtools: | $(GOOSE)
|
||||
echo "Installing tools"
|
||||
|
||||
#Database
|
||||
HOST_NAME = localhost
|
||||
PORT = 5432
|
||||
NAME =
|
||||
USER = postgres
|
||||
PASSWORD = password
|
||||
CONNECT_STRING=postgresql://$(USER):$(PASSWORD)@$(HOST_NAME):$(PORT)/$(NAME)?sslmode=disable
|
||||
|
||||
# Parameter checks
|
||||
## Check that DB variables are provided
|
||||
.PHONY: checkdbvars
|
||||
checkdbvars:
|
||||
test -n "$(HOST_NAME)" # $$HOST_NAME
|
||||
test -n "$(PORT)" # $$PORT
|
||||
test -n "$(NAME)" # $$NAME
|
||||
@echo $(CONNECT_STRING)
|
||||
|
||||
## Check that the migration variable (id/timestamp) is provided
|
||||
.PHONY: checkmigration
|
||||
checkmigration:
|
||||
test -n "$(MIGRATION)" # $$MIGRATION
|
||||
|
||||
# Check that the migration name is provided
|
||||
.PHONY: checkmigname
|
||||
checkmigname:
|
||||
test -n "$(NAME)" # $$NAME
|
||||
|
||||
# Migration operations
|
||||
## Rollback the last migration
|
||||
.PHONY: rollback
|
||||
rollback: $(GOOSE) checkdbvars
|
||||
$(GOOSE) -dir db/migrations postgres "$(CONNECT_STRING)" down
|
||||
pg_dump -O -s $(CONNECT_STRING) > schema.sql
|
||||
|
||||
## Rollback to a select migration (id/timestamp)
|
||||
.PHONY: rollback_to
|
||||
rollback_to: $(GOOSE) checkmigration checkdbvars
|
||||
$(GOOSE) -dir db/migrations postgres "$(CONNECT_STRING)" down-to "$(MIGRATION)"
|
||||
|
||||
## Rollback pre_batch_set
|
||||
.PHONY: `rollback_pre_batch_set`
|
||||
rollback_pre_batch_set: $(GOOSE) checkdbvars
|
||||
$(GOOSE) -dir db/pre_batch_processing_migrations postgres "$(CONNECT_STRING)" down
|
||||
|
||||
## Rollback post_batch_set
|
||||
.PHONY: rollback_post_batch_set
|
||||
rollback_post_batch_set: $(GOOSE) checkdbvars
|
||||
$(GOOSE) -dir db/post_batch_processing_migrations postgres "$(CONNECT_STRING)" down
|
||||
|
||||
## Apply the next up migration
|
||||
.PHONY: migrate_up_by_one
|
||||
migrate_up_by_one: $(GOOSE) checkdbvars
|
||||
$(GOOSE) -dir db/migrations postgres "$(CONNECT_STRING)" up-by-one
|
||||
|
||||
## Apply all migrations not already run
|
||||
.PHONY: migrate
|
||||
migrate: $(GOOSE) checkdbvars
|
||||
$(GOOSE) -dir db/migrations postgres "$(CONNECT_STRING)" up
|
||||
pg_dump -O -s $(CONNECT_STRING) > schema.sql
|
||||
|
||||
## Apply all the migrations used to generate a UML diagram (containing FKs)
|
||||
.PHONY: migrate_for_uml
|
||||
migrate_for_uml: $(GOOSE) checkdbvars
|
||||
$(GOOSE) -dir db/migrations postgres "$(CONNECT_STRING)" up-to 00018
|
||||
|
||||
## Apply migrations to be ran before a batch processing
|
||||
.PHONY: migrate_pre_batch_set
|
||||
migrate_pre_batch_set: $(GOOSE) checkdbvars
|
||||
$(GOOSE) -dir db/pre_batch_processing_migrations postgres "$(CONNECT_STRING)" up
|
||||
|
||||
## Apply migrations to be ran after a batch processing, one-by-one
|
||||
.PHONY: migrate_post_batch_set_up_by_one
|
||||
migrate_post_batch_set_up_by_one: $(GOOSE) checkdbvars
|
||||
$(GOOSE) -dir db/post_batch_processing_migrations postgres "$(CONNECT_STRING)" up-by-one
|
||||
|
||||
## Apply migrations to be ran after a batch processing
|
||||
.PHONY: migrate_post_batch_set
|
||||
migrate_post_batch_set: $(GOOSE) checkdbvars
|
||||
$(GOOSE) -dir db/post_batch_processing_migrations postgres "$(CONNECT_STRING)" up
|
||||
|
||||
## Create a new migration file
|
||||
.PHONY: new_migration
|
||||
new_migration: $(GOOSE) checkmigname
|
||||
$(GOOSE) -dir db/migrations create $(NAME) sql
|
||||
|
||||
## Check which migrations are applied at the moment
|
||||
.PHONY: migration_status
|
||||
migration_status: $(GOOSE) checkdbvars
|
||||
$(GOOSE) -dir db/migrations postgres "$(CONNECT_STRING)" status
|
||||
|
||||
# Convert timestamped migrations to versioned (to be run in CI);
|
||||
# merge timestamped files to prevent conflict
|
||||
.PHONY: version_migrations
|
||||
version_migrations:
|
||||
$(GOOSE) -dir db/migrations fix
|
||||
|
||||
# Import a psql schema to the database
|
||||
.PHONY: import
|
||||
import:
|
||||
test -n "$(NAME)" # $$NAME
|
||||
psql $(NAME) < schema.sql
|
||||
|
||||
.PHONY: test-migrations
|
||||
test-migrations: $(GOOSE)
|
||||
./scripts/test_migration.sh
|
Loading…
Reference in New Issue
Block a user