forked from evmos/evmos
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge jbowen93/evmos into celestiaorg/evmos (#32)
* Initial Optimint integration * Makefile: use go install instead of go get * Update evmosd invocation * Update ethermint to get latest optimint-enabled version * Add docker files to work with ephemeral cluster * update init and copy it into docker container * update init.sh and use in entrypoint.sh * update optimint and ethermint dependencies * Add docker files to work with ephemeral cluster * update gh action to create debug image * convert build script to gh action * go mod tidy -compat=1.17 -e * debug and non debug builds using meta tags * use multi platform builds * add qemu to debug * update to use ethermint w/ optimint v0.1.2 * update docker/Dockerfile to cross compile * update docker/debug.Dockerfile to cross compile * use celestiaorg/ethermint v0.11.0+0.1.0-test * move debug build to its own action, create docker build and test action Co-authored-by: Tomasz Zdybał <tomek@zdybal.lap.pl>
- Loading branch information
Showing
12 changed files
with
959 additions
and
61 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,97 @@ | ||
name: docker-build-test | ||
|
||
on: | ||
push: | ||
branches: | ||
- '**' | ||
tags: | ||
- 'v*.*.*' | ||
pull_request: | ||
branches: | ||
- 'main' | ||
workflow_dispatch: | ||
|
||
env: | ||
REGISTRY: ghcr.io | ||
IMAGE_NAME: ${{ github.repository }} | ||
|
||
jobs: | ||
build: | ||
runs-on: "ubuntu-latest" | ||
permissions: | ||
contents: write | ||
packages: write | ||
steps: | ||
- name: "Checkout source code" | ||
uses: "actions/checkout@v2" | ||
- name: Docker meta | ||
id: meta | ||
uses: docker/metadata-action@v3 | ||
with: | ||
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} | ||
tags: | | ||
type=sha | ||
- name: Set up QEMU | ||
uses: docker/setup-qemu-action@v1 | ||
- name: Set up Docker Buildx | ||
uses: docker/setup-buildx-action@v1 | ||
- name: Login to GHCR | ||
uses: docker/login-action@v1 | ||
with: | ||
registry: ghcr.io | ||
username: ${{ github.repository_owner }} | ||
password: ${{ secrets.GITHUB_TOKEN }} | ||
- name: Build and push | ||
uses: docker/build-push-action@v2 | ||
with: | ||
context: . | ||
platforms: linux/amd64, linux/arm64 | ||
push: true | ||
tags: ${{ steps.meta.outputs.tags }} | ||
file: docker/Dockerfile | ||
|
||
test: | ||
needs: build | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Clone repo | ||
uses: actions/checkout@v2 | ||
- name: Clone ephemeral-cluster repo | ||
uses: actions/checkout@v2 | ||
with: | ||
repository: celestiaorg/ephemeral-cluster | ||
path: ephemeral-cluster | ||
ref: chain | ||
- name: Set up Go | ||
uses: actions/setup-go@v2 | ||
with: | ||
go-version: 1.17 | ||
- name: "Setup Cluster" | ||
run: | | ||
export EVMOS_IMAGE_TAG=sha-$(git rev-parse --short "$GITHUB_SHA") | ||
cd ephemeral-cluster | ||
./debug-start-cluster.sh | ||
- name: Clone ethermint repo | ||
uses: actions/checkout@v2 | ||
with: | ||
repository: celestiaorg/ethermint | ||
path: ethermint | ||
ref: v0.11.0+0.1.0 | ||
- name: move | ||
run: | | ||
mv ethermint .. | ||
- name: "Test Cluster" | ||
run: | | ||
docker ps -a | ||
echo "------------- docker logs core0 -------------" | ||
docker logs core0 | ||
echo "------------- docker logs bridge0 -------------" | ||
docker logs bridge0 | ||
echo "------------- docker logs light0 -------------" | ||
docker logs light0 | ||
echo "------------- docker logs dalc0 -------------" | ||
docker logs dalc0 | ||
echo "------------- docker logs evmos0 -------------" | ||
docker logs evmos0 | ||
cd /home/runner/work/evmos/ethermint | ||
MODE=rpc HOST=http://127.0.0.1:8545 go test ./tests/rpc/... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
FROM --platform=$BUILDPLATFORM golang:1.17 AS build-env | ||
|
||
# Install dependencies | ||
RUN apt-get update | ||
RUN apt-get install git | ||
|
||
# Set up env vars | ||
ENV COSMOS_BUILD_OPTIONS nostrip | ||
|
||
# Set working directory for the build | ||
WORKDIR /src | ||
|
||
COPY . . | ||
RUN go mod download | ||
|
||
# Make the binary | ||
RUN env GOOS=$TARGETOS GOARCH=$TARGETARCH make build | ||
|
||
# Final image | ||
FROM debian | ||
|
||
# Install ca-certificates | ||
RUN apt-get update | ||
RUN apt-get install jq -y | ||
|
||
WORKDIR /root | ||
|
||
COPY docker/entrypoint.sh . | ||
COPY init.sh . | ||
|
||
# Copy over binaries from the build-env | ||
COPY --from=build-env /src/build/evmosd /usr/bin/evmosd | ||
|
||
EXPOSE 26656 26657 | ||
|
||
ENTRYPOINT ["./entrypoint.sh"] | ||
CMD ["evmosd"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
FROM --platform=$BUILDPLATFORM golang:1.17 AS build-env | ||
|
||
# Install dependencies | ||
RUN apt-get update | ||
RUN apt-get install git | ||
|
||
# Set up env vars | ||
ENV COSMOS_BUILD_OPTIONS nostrip | ||
|
||
# Set working directory for the build | ||
WORKDIR /src | ||
|
||
COPY go.mod go.sum ./ | ||
RUN go mod download | ||
COPY . . | ||
|
||
# Build Delve | ||
RUN env GOOS=$TARGETOS GOARCH=$TARGETARCH go install github.com/go-delve/delve/cmd/dlv@latest | ||
|
||
# Add source files | ||
COPY . . | ||
|
||
# Make the binary | ||
RUN env GOOS=$TARGETOS GOARCH=$TARGETARCH make build | ||
|
||
# Final image | ||
FROM debian | ||
|
||
# Install ca-certificates | ||
RUN apt-get update | ||
RUN apt-get install jq -y | ||
|
||
|
||
WORKDIR /root | ||
|
||
COPY docker/entrypoint-debug.sh . | ||
COPY init.sh . | ||
|
||
# Copy over binaries from the build-env | ||
COPY --from=build-env /src/build/evmosd /usr/bin/evmosd | ||
COPY --from=build-env /go/bin/dlv /usr/bin/dlv | ||
|
||
EXPOSE 26656 26657 | ||
|
||
ENTRYPOINT ["./entrypoint-debug.sh"] | ||
CMD ["evmosd"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
#!/bin/sh | ||
|
||
set -e | ||
|
||
if [ "$1" = 'dlv' ]; then | ||
./init.sh | ||
|
||
exec "$@" "--" | ||
fi | ||
|
||
exec "$@" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
#!/bin/sh | ||
|
||
set -e | ||
|
||
if [ "$1" = 'evmosd' ]; then | ||
./init.sh | ||
|
||
exec "$@" "--" | ||
fi | ||
|
||
exec "$@" |
Oops, something went wrong.