diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 57b4631b2..ad95ebea8 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -9,4 +9,23 @@ jobs: steps: - uses: actions/checkout@v2 - name: Run docker build - run: docker build -t vulcanize/ethereum -f Dockerfile . + run: docker build -t vulcanize/ethereum -f Dockerfile.amd64 . + - name: Get the version + id: vars + run: echo ::set-output name=sha::$(echo ${GITHUB_SHA:0:7}) + - name: Run docker build + run: docker build -t vulcanize/ethereum -f Dockerfile.amd64 . + - name: Tag docker image + run: docker tag vulcanize/ethereum docker.pkg.github.com/vulcanize/go-ethereum/go-ethereum:${{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/go-ethereum/go-ethereum:${{steps.vars.outputs.sha}} + - name: Docker Pull + run: docker pull docker.pkg.github.com/vulcanize/go-ethereum/go-ethereum:${{steps.vars.outputs.sha}} + - name: Copy ethereum binary file + run: docker run --rm --entrypoint cat docker.pkg.github.com/vulcanize/go-ethereum/go-ethereum /usr/local/bin/geth > geth-linux-amd64 + - uses: actions/upload-artifact@v2 + with: + name: my-artifact + path: geth-linux-amd64 \ No newline at end of file diff --git a/.github/workflows/on-master.yaml b/.github/workflows/on-master.yaml index 23029fa04..61e1101cc 100644 --- a/.github/workflows/on-master.yaml +++ b/.github/workflows/on-master.yaml @@ -15,7 +15,7 @@ jobs: id: vars run: echo ::set-output name=sha::$(echo ${GITHUB_SHA:0:7}) - name: Run docker build - run: docker build -t vulcanize/ethereum -f Dockerfile . + run: docker build -t vulcanize/ethereum -f Dockerfile.amd64 . - name: Tag docker image run: docker tag vulcanize/ethereum docker.pkg.github.com/vulcanize/go-ethereum/go-ethereum:${{steps.vars.outputs.sha}} - name: Docker Login diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml new file mode 100644 index 000000000..bfc218cb5 --- /dev/null +++ b/.github/workflows/publish.yaml @@ -0,0 +1,21 @@ +name: Publish Docker image +on: + release: + types: [published] +jobs: + push_to_registries: + name: Publish assets to Release + runs-on: ubuntu-latest + steps: + - name: Get the version + id: vars + run: | + echo ::set-output name=sha::$(echo ${GITHUB_SHA:0:7}) + echo ::set-output name=tag::$(echo ${GITHUB_REF#refs/tags/}) + - name: Docker Login to Github Registry + run: echo ${{ secrets.GITHUB_TOKEN }} | docker login https://docker.pkg.github.com -u vulcanize --password-stdin + - name: Docker Pull + run: docker pull docker.pkg.github.com/vulcanize/go-ethereum/go-ethereum:${{steps.vars.outputs.sha}} + - name: Copy ethereum binary file + run: docker run --rm --entrypoint cat docker.pkg.github.com/vulcanize/go-ethereum/go-ethereum /usr/local/bin/geth > geth-linux-amd64 + diff --git a/Dockerfile.amd64 b/Dockerfile.amd64 new file mode 100644 index 000000000..da78b77be --- /dev/null +++ b/Dockerfile.amd64 @@ -0,0 +1,7 @@ +# Build Geth in a stock Go builder container +FROM golang:1.13 as builder + +#RUN apk add --no-cache make gcc musl-dev linux-headers git + +ADD . /go-ethereum +RUN cd /go-ethereum && make geth