diff --git a/.gitea/workflows/on-pr.yaml b/.gitea/workflows/on-pr.yaml index 84ba726..6278c52 100644 --- a/.gitea/workflows/on-pr.yaml +++ b/.gitea/workflows/on-pr.yaml @@ -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 diff --git a/.github/workflows/on-pr.yaml b/.github/workflows/on-pr.yaml deleted file mode 100644 index 84ba726..0000000 --- a/.github/workflows/on-pr.yaml +++ /dev/null @@ -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 diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml deleted file mode 100644 index 1880d0e..0000000 --- a/.github/workflows/publish.yaml +++ /dev/null @@ -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}} diff --git a/Makefile b/Makefile deleted file mode 100644 index 79a0cba..0000000 --- a/Makefile +++ /dev/null @@ -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