Merge pull request #131 from cerc-io/ian_dev
cherry-pick dockerfile, docker-compose, actions, and Makefile adjustments onto v5
This commit is contained in:
commit
167cfbfb20
29
.github/workflows/issues-notion-sync.yml
vendored
29
.github/workflows/issues-notion-sync.yml
vendored
@ -1,29 +0,0 @@
|
|||||||
name: Notion Sync
|
|
||||||
|
|
||||||
on:
|
|
||||||
workflow_dispatch:
|
|
||||||
issues:
|
|
||||||
types:
|
|
||||||
[
|
|
||||||
opened,
|
|
||||||
edited,
|
|
||||||
labeled,
|
|
||||||
unlabeled,
|
|
||||||
assigned,
|
|
||||||
unassigned,
|
|
||||||
milestoned,
|
|
||||||
demilestoned,
|
|
||||||
reopened,
|
|
||||||
closed,
|
|
||||||
]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
notion_job:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
name: Add GitHub Issues to Notion
|
|
||||||
steps:
|
|
||||||
- name: Add GitHub Issues to Notion
|
|
||||||
uses: vulcanize/notion-github-action@v1.2.4-issueid
|
|
||||||
with:
|
|
||||||
notion-token: ${{ secrets.NOTION_TOKEN }}
|
|
||||||
notion-db: ${{ secrets.NOTION_DATABASE }}
|
|
36
.github/workflows/publish.yaml
vendored
36
.github/workflows/publish.yaml
vendored
@ -8,34 +8,20 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
- name: Get the version
|
|
||||||
id: vars
|
|
||||||
run: echo ::set-output name=sha::$(echo ${GITHUB_SHA:0:7})
|
|
||||||
- name: Run docker build
|
|
||||||
run: make docker-build
|
|
||||||
- name: Tag docker image
|
|
||||||
run: docker tag vulcanize/ipld-eth-db docker.pkg.github.com/vulcanize/ipld-eth-db/ipld-eth-db:${{steps.vars.outputs.sha}}
|
|
||||||
- name: Docker Login
|
|
||||||
run: echo ${{ secrets.GITHUB_TOKEN }} | docker login https://docker.pkg.github.com -u vulcanize --password-stdin
|
|
||||||
- name: Docker Push
|
|
||||||
run: docker push docker.pkg.github.com/vulcanize/ipld-eth-db/ipld-eth-db:${{steps.vars.outputs.sha}}
|
|
||||||
push_to_registries:
|
|
||||||
name: Push Docker image to Docker Hub
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
needs: build
|
|
||||||
steps:
|
|
||||||
- name: Get the version
|
- name: Get the version
|
||||||
id: vars
|
id: vars
|
||||||
run: |
|
run: |
|
||||||
echo ::set-output name=sha::$(echo ${GITHUB_SHA:0:7})
|
echo ::set-output name=sha::$(echo ${GITHUB_SHA:0:7})
|
||||||
echo ::set-output name=tag::$(echo ${GITHUB_REF#refs/tags/})
|
echo ::set-output name=tag::$(echo ${GITHUB_REF#refs/tags/})
|
||||||
- name: Docker Login to Github Registry
|
- name: Run docker build
|
||||||
run: echo ${{ secrets.GITHUB_TOKEN }} | docker login https://docker.pkg.github.com -u vulcanize --password-stdin
|
run: make docker-build
|
||||||
- name: Docker Pull
|
|
||||||
run: docker pull docker.pkg.github.com/vulcanize/ipld-eth-db/ipld-eth-db:${{steps.vars.outputs.sha}}
|
|
||||||
- name: Docker Login to Docker Registry
|
|
||||||
run: echo ${{ secrets.VULCANIZEJENKINS_PAT }} | docker login -u vulcanizejenkins --password-stdin
|
|
||||||
- name: Tag docker image
|
- name: Tag docker image
|
||||||
run: docker tag docker.pkg.github.com/vulcanize/ipld-eth-db/ipld-eth-db:${{steps.vars.outputs.sha}} vulcanize/ipld-eth-db:${{steps.vars.outputs.tag}}
|
run: docker tag cerc/ipld-eth-db git.vdb.to/cerc-io/ipld-eth-db/ipld-eth-db:${{steps.vars.outputs.sha}}
|
||||||
- name: Docker Push to Docker Hub
|
- name: Tag docker image
|
||||||
run: docker push vulcanize/ipld-eth-db:${{steps.vars.outputs.tag}}
|
run: docker tag git.vdb.to/cerc-io/ipld-eth-db/ipld-eth-db:${{steps.vars.outputs.sha}} git.vdb.to/cerc-io/ipld-eth-db/ipld-eth-db:${{steps.vars.outputs.tag}}
|
||||||
|
- name: Docker Login
|
||||||
|
run: echo ${{ secrets.GITEA_TOKEN }} | docker login https://git.vdb.to -u cerccicd --password-stdin
|
||||||
|
- name: Docker Push
|
||||||
|
run: docker push git.vdb.to/cerc-io/ipld-eth-db/ipld-eth-db:${{steps.vars.outputs.sha}}
|
||||||
|
- name: Docker Push with TAG to git.vdb.to
|
||||||
|
run: docker push git.vdb.to/cerc-io/ipld-eth-db/ipld-eth-db:${{steps.vars.outputs.tag}}
|
||||||
|
19
Dockerfile
19
Dockerfile
@ -1,24 +1,21 @@
|
|||||||
FROM golang:1.18-alpine as builder
|
FROM golang:1.18-alpine as builder
|
||||||
|
|
||||||
RUN apk --update --no-cache add make git g++ linux-headers
|
ADD . /go/src/github.com/cerc-io/ipld-eth-db
|
||||||
|
|
||||||
ADD . /go/src/github.com/vulcanize/ipld-eth-db
|
# Get migration tool
|
||||||
|
WORKDIR /
|
||||||
# Build migration tool
|
|
||||||
WORKDIR /go/src/github.com/pressly
|
|
||||||
ARG GOOSE_VER="v3.6.1"
|
ARG GOOSE_VER="v3.6.1"
|
||||||
RUN git clone --depth 1 --branch ${GOOSE_VER} https://github.com/pressly/goose.git
|
ADD https://github.com/pressly/goose/releases/download/${GOOSE_VER}/goose_linux_x86_64 ./goose
|
||||||
WORKDIR /go/src/github.com/pressly/goose/cmd/goose
|
RUN chmod +x ./goose
|
||||||
RUN GCO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -ldflags '-extldflags "-static"' -tags='no_sqlite3' -o goose .
|
|
||||||
|
|
||||||
# app container
|
# app container
|
||||||
FROM alpine
|
FROM alpine
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
COPY --from=builder /go/src/github.com/vulcanize/ipld-eth-db/scripts/startup_script.sh .
|
COPY --from=builder /go/src/github.com/cerc-io/ipld-eth-db/scripts/startup_script.sh .
|
||||||
|
|
||||||
COPY --from=builder /go/src/github.com/pressly/goose/cmd/goose/goose goose
|
COPY --from=builder /goose goose
|
||||||
COPY --from=builder /go/src/github.com/vulcanize/ipld-eth-db/db/migrations migrations/vulcanizedb
|
COPY --from=builder /go/src/github.com/cerc-io/ipld-eth-db/db/migrations migrations
|
||||||
|
|
||||||
ENTRYPOINT ["/app/startup_script.sh"]
|
ENTRYPOINT ["/app/startup_script.sh"]
|
||||||
|
2
Makefile
2
Makefile
@ -120,7 +120,7 @@ docker-build:
|
|||||||
# ## Build docker image for migration
|
# ## Build docker image for migration
|
||||||
# .PHONY: docker-concise-migration-build
|
# .PHONY: docker-concise-migration-build
|
||||||
# docker-concise-migration-build:
|
# docker-concise-migration-build:
|
||||||
# docker build -t vulcanize/concise-migration-build -f ./db/Dockerfile .
|
# docker build -t cerc/concise-migration-build -f ./db/Dockerfile .
|
||||||
|
|
||||||
.PHONY: test-migrations
|
.PHONY: test-migrations
|
||||||
test-migrations: $(GOOSE)
|
test-migrations: $(GOOSE)
|
||||||
|
@ -5,12 +5,12 @@ services:
|
|||||||
restart: on-failure
|
restart: on-failure
|
||||||
depends_on:
|
depends_on:
|
||||||
- ipld-eth-db
|
- ipld-eth-db
|
||||||
image: vulcanize/ipld-eth-db
|
image: cerc/ipld-eth-db
|
||||||
# Build image using local context
|
# Build image using local context
|
||||||
build: .
|
build: .
|
||||||
environment:
|
environment:
|
||||||
DATABASE_USER: "vdbm"
|
DATABASE_USER: "vdbm"
|
||||||
DATABASE_NAME: "vulcanize_testing"
|
DATABASE_NAME: "cerc_testing"
|
||||||
DATABASE_PASSWORD: "password"
|
DATABASE_PASSWORD: "password"
|
||||||
DATABASE_HOSTNAME: "ipld-eth-db"
|
DATABASE_HOSTNAME: "ipld-eth-db"
|
||||||
DATABASE_PORT: 5432
|
DATABASE_PORT: 5432
|
||||||
@ -21,7 +21,7 @@ services:
|
|||||||
command: ["postgres", "-c", "log_statement=all"]
|
command: ["postgres", "-c", "log_statement=all"]
|
||||||
environment:
|
environment:
|
||||||
POSTGRES_USER: "vdbm"
|
POSTGRES_USER: "vdbm"
|
||||||
POSTGRES_DB: "vulcanize_testing"
|
POSTGRES_DB: "cerc_testing"
|
||||||
POSTGRES_PASSWORD: "password"
|
POSTGRES_PASSWORD: "password"
|
||||||
ports:
|
ports:
|
||||||
- "127.0.0.1:8077:5432"
|
- "127.0.0.1:8077:5432"
|
||||||
|
@ -5,11 +5,15 @@ services:
|
|||||||
restart: on-failure
|
restart: on-failure
|
||||||
depends_on:
|
depends_on:
|
||||||
- ipld-eth-db
|
- ipld-eth-db
|
||||||
|
# Use local build
|
||||||
|
#build:
|
||||||
|
#context: .
|
||||||
|
#dockerfile: Dockerfile
|
||||||
# Use an existing image
|
# Use an existing image
|
||||||
image: vulcanize/ipld-eth-db:v4.2.1-alpha
|
image: cerc/ipld-eth-db:v5.0.0-alpha
|
||||||
environment:
|
environment:
|
||||||
DATABASE_USER: "vdbm"
|
DATABASE_USER: "vdbm"
|
||||||
DATABASE_NAME: "vulcanize_testing"
|
DATABASE_NAME: "cerc_testing"
|
||||||
DATABASE_PASSWORD: "password"
|
DATABASE_PASSWORD: "password"
|
||||||
DATABASE_HOSTNAME: "ipld-eth-db"
|
DATABASE_HOSTNAME: "ipld-eth-db"
|
||||||
DATABASE_PORT: 5432
|
DATABASE_PORT: 5432
|
||||||
@ -20,7 +24,7 @@ services:
|
|||||||
command: ["postgres", "-c", "log_statement=all"]
|
command: ["postgres", "-c", "log_statement=all"]
|
||||||
environment:
|
environment:
|
||||||
POSTGRES_USER: "vdbm"
|
POSTGRES_USER: "vdbm"
|
||||||
POSTGRES_DB: "vulcanize_testing"
|
POSTGRES_DB: "cerc_testing"
|
||||||
POSTGRES_PASSWORD: "password"
|
POSTGRES_PASSWORD: "password"
|
||||||
ports:
|
ports:
|
||||||
- "127.0.0.1:8077:5432"
|
- "127.0.0.1:8077:5432"
|
||||||
|
@ -8,7 +8,7 @@ VDB_PG_CONNECT=postgresql://$DATABASE_USER:$DATABASE_PASSWORD@$DATABASE_HOSTNAME
|
|||||||
# Run the DB migrations
|
# Run the DB migrations
|
||||||
echo "Connecting with: $VDB_PG_CONNECT"
|
echo "Connecting with: $VDB_PG_CONNECT"
|
||||||
echo "Running database migrations"
|
echo "Running database migrations"
|
||||||
./goose -dir migrations/vulcanizedb postgres "$VDB_PG_CONNECT" up
|
./goose -dir migrations postgres "$VDB_PG_CONNECT" up
|
||||||
|
|
||||||
# If the db migrations ran without err
|
# If the db migrations ran without err
|
||||||
if [[ $? -eq 0 ]]; then
|
if [[ $? -eq 0 ]]; then
|
||||||
|
@ -10,7 +10,7 @@ sleep 5s
|
|||||||
export HOST_NAME=localhost
|
export HOST_NAME=localhost
|
||||||
export PORT=8066
|
export PORT=8066
|
||||||
export USER=vdbm
|
export USER=vdbm
|
||||||
export TEST_DB=vulcanize_testing
|
export TEST_DB=cerc_testing
|
||||||
export TEST_CONNECT_STRING=postgresql://$USER@$HOST_NAME:$PORT/$TEST_DB?sslmode=disable
|
export TEST_CONNECT_STRING=postgresql://$USER@$HOST_NAME:$PORT/$TEST_DB?sslmode=disable
|
||||||
export PGPASSWORD=password
|
export PGPASSWORD=password
|
||||||
|
|
||||||
@ -54,4 +54,4 @@ do
|
|||||||
then
|
then
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
Loading…
Reference in New Issue
Block a user