diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml new file mode 100644 index 000000000..d03b95e8d --- /dev/null +++ b/.github/workflows/docker.yml @@ -0,0 +1,42 @@ +name: docker + +on: + push: + branches: + - master + +jobs: + build-docker-image: + runs-on: ubuntu-18.04 + steps: + - uses: actions/checkout@master + + - name: Dockerhub login + env: + DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }} + DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }} + run: | + echo "${DOCKER_PASSWORD}" | docker login --username ${DOCKER_USERNAME} --password-stdin + + - name: Build Docker Buildx + run: | + export DOCKER_BUILDKIT=1; + docker build --platform=local -o . git://github.com/docker/buildx; + mkdir -p ~/.docker/cli-plugins; + mv buildx ~/.docker/cli-plugins/docker-buildx; + + - name: Create Docker Builder + run: | + docker run --rm --privileged multiarch/qemu-user-static --reset -p yes; + docker context create node-amd64; + docker context create node-arm64; + docker buildx create --use --name lighthouse node-amd64; + docker buildx create --append --name lighthouse node-arm64; + + - name: Build dockerfile (with push) + run: | + docker buildx build \ + --platform=linux/amd64,linux/arm64 \ + --output "type=image,push=true" \ + --file ./Dockerfile . \ + --tag sigp/lighthouse:latest