Skip to content

Commit

Permalink
Merge pull request #3 from edenia/feat/add-docker-build
Browse files Browse the repository at this point in the history
fix(workflow): Add docker file build
  • Loading branch information
xavier506 committed Apr 4, 2024
2 parents e175bdc + 25aff67 commit 32e6cf4
Show file tree
Hide file tree
Showing 2 changed files with 60 additions and 0 deletions.
44 changes: 44 additions & 0 deletions .github/workflows/docker-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Build and Push Docker Image

on:
push:
branches:
- main

jobs:
build-and-push:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3

- name: Log in to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Build and Push Docker Image
uses: docker/build-push-action@v5
with:
context: .
file: ./dockerfile
push: true
tags: ghcr.io/${{ github.repository }}/libre-blocks-explorer:latest
platforms: linux/amd64,linux/arm64
cache-from: type=registry,ref=ghcr.io/${{ github.repository }}/libre-blocks-explorer:cache
cache-to: type=inline
build-args: |
NEXT_PUBLIC_LIBRE_API=https://dashboard-api.libre.org
NEXT_PUBLIC_MAINNET_API=https://lb.libre.org
NEXT_PUBLIC_TESTNET_API=https://testnet.libre.org
NEXT_PUBLIC_PROVIDERBY=Libre
NEXT_PUBLIC_PROVIDER_LOGO=/images/provider.png
NEXT_PUBLIC_PROVIDER_LINK=https://libre.org/
- name: Verify Built Image
run: docker run --rm ghcr.io/${{ github.repository }}/libre-blocks-explorer:latest
16 changes: 16 additions & 0 deletions dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@

FROM node:latest

# Set arguments as environment variables
ARG NEXT_PUBLIC_LIBRE_API
ARG NEXT_PUBLIC_MAINNET_API
ARG NEXT_PUBLIC_TESTNET_API
ARG NEXT_PUBLIC_PROVIDERBY
ARG NEXT_PUBLIC_PROVIDER_LOGO
ARG NEXT_PUBLIC_PROVIDER_LINK

ENV NEXT_PUBLIC_LIBRE_API=${NEXT_PUBLIC_LIBRE_API} \
NEXT_PUBLIC_MAINNET_API=${NEXT_PUBLIC_MAINNET_API} \
NEXT_PUBLIC_TESTNET_API=${NEXT_PUBLIC_TESTNET_API} \
NEXT_PUBLIC_PROVIDERBY=${NEXT_PUBLIC_PROVIDERBY} \
NEXT_PUBLIC_PROVIDER_LOGO=${NEXT_PUBLIC_PROVIDER_LOGO} \
NEXT_PUBLIC_PROVIDER_LINK=${NEXT_PUBLIC_PROVIDER_LINK}

WORKDIR /app
COPY package.json yarn.lock /app/
COPY public /app/public
Expand Down

0 comments on commit 32e6cf4

Please sign in to comment.