Merge pull request #162 from vulcanize/docker

docker image and Github Actions to build image
This commit is contained in:
Ramil Amerzyanov 2021-07-27 12:46:46 +03:00 committed by GitHub
commit fd1ab0780c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 104 additions and 0 deletions

3
.dockerignore Normal file
View File

@ -0,0 +1,3 @@
node_modules/
dist/
out/

39
.github/workflows/on-main.yaml vendored Normal file
View File

@ -0,0 +1,39 @@
name: Docker Compose Build
on:
push:
branches:
- main
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [15.x]
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: yarn
- name: Linter check
run: yarn lint
build:
name: Run docker build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Get the version
id: vars
run: echo ::set-output name=sha::$(echo ${GITHUB_SHA:0:7})
- name: Run docker build
run: make docker-build
- name: Tag docker image
run: docker tag vulcanize/watcher-ts ghcr.io/vulcanize/watcher-ts:${{steps.vars.outputs.sha}}
- name: Docker Login
run: echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u vulcanize --password-stdin
- name: Docker Push
run: docker push ghcr.io/vulcanize/watcher-ts:${{steps.vars.outputs.sha}}

27
.github/workflows/on-pr.yaml vendored Normal file
View File

@ -0,0 +1,27 @@
name: Docker Build
on: [pull_request]
jobs:
test:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [15.x]
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- run: yarn
- name: Linter check
run: yarn lint
build:
name: Run docker build
runs-on: ubuntu-latest
needs: test
steps:
- uses: actions/checkout@v2
- name: Run docker build
run: make docker-build

23
.github/workflows/publish.yaml vendored Normal file
View File

@ -0,0 +1,23 @@
name: Publish Docker image
on:
release:
types: [published]
jobs:
docker_publish:
name: Push Docker image to Github Hub
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 Registry
run: echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u vulcanize --password-stdin
- name: Docker Pull
run: docker pull ghcr.io/vulcanize/watcher-ts:${{steps.vars.outputs.sha}}
- name: Tag docker image
run: docker tag ghcr.io/vulcanize/watcher-ts:${{steps.vars.outputs.sha}} ghcr.io/vulcanize/watcher-ts:${{steps.vars.outputs.tag}}
- name: Docker Push to Github Hub
run: docker push ghcr.io/vulcanize/watcher-ts:${{steps.vars.outputs.tag}}

8
Dockerfile Normal file
View File

@ -0,0 +1,8 @@
FROM node:15.3.0-alpine3.10
WORKDIR /app
COPY . .
RUN apk --update --no-cache add git && yarn

4
Makefile Normal file
View File

@ -0,0 +1,4 @@
## Build docker image
.PHONY: docker-build
docker-build:
docker build -t vulcanize/watcher-ts .