Skip to content

Commit

Permalink
Add GitHub actions to automate image generation
Browse files Browse the repository at this point in the history
Help reviewing pull requests by verify that the image builds and
streamline publishing images from releases.
  • Loading branch information
Kirens committed Oct 29, 2021
1 parent 2449f64 commit 661f628
Show file tree
Hide file tree
Showing 3 changed files with 59 additions and 2 deletions.
43 changes: 43 additions & 0 deletions .github/workflows/publish-docker-image.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Publish Docker Image

on:
release:
types: [ published ]

env:
# GitHub repository is basically "$org/$repo"
IMAGE_NAME: ${{ github.repository }}

jobs:
build-and-push-image:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write

steps:
- name: Checkout code
uses: actions/checkout@v2

# User triggering the action is authenticated to the container registry
- name: Log in to the Container registry
uses: docker/[email protected]
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

# Basically sets the image tag from the release
- name: Extract metadata for Docker
id: meta
uses: docker/[email protected]
with:
images: ghcr.io/${{ env.IMAGE_NAME }}

- name: Build and push Docker image
uses: docker/[email protected]
with:
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
14 changes: 14 additions & 0 deletions .github/workflows/try-build-docker-image.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
name: Build Docker image.

on:
pull_request:
branches: [ main ]

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Build the Docker image
run: docker build . --file Dockerfile
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ RUN npm run lint && npm run build

RUN npm install -g http-server

ENV PORT 8000
ENV PORT 8080
EXPOSE $PORT

CMD http-server dist -p "$PORT" -d false -i false
CMD http-server dist -p "$PORT" -d false

0 comments on commit 661f628

Please sign in to comment.