Skip to content

Added example showing how to run Emmett application in Docker container #12

Added example showing how to run Emmett application in Docker container

Added example showing how to run Emmett application in Docker container #12

name: Build and test Sample - WebApi with Express.js and EventStoreDB
on:
# run it on push to the default repository branch
push:
branches: [main]
paths:
- "samples/webApi/expressjs-with-esdb/**"
- "./.github/workflows/build_and_test_sample_webapi-expressjs-with-esdb.yml"
# run it during pull request
pull_request:
paths:
- "samples/webApi/expressjs-with-esdb/**"
- "./.github/workflows/build_and_test_sample_webapi-expressjs-with-esdb.yml"
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
defaults:
run:
working-directory: samples/webApi/expressjs-with-esdb
jobs:
build-and-test-code:
name: Build application code
# use system defined below in the tests matrix
runs-on: ubuntu-latest
steps:
- name: Check Out Repo
uses: actions/checkout@v4
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version-file: ./samples/webApi/expressjs-with-esdb/.nvmrc
cache: "npm"
cache-dependency-path: "./samples/webApi/expressjs-with-esdb/package-lock.json"
- name: Install dependencies
run: npm ci
- name: Build TS
run: npm run build:ts
- name: Run linting (ESlint and Prettier)
run: npm run lint
- name: Build
run: npm run build
- name: Test
run: npm run test
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v2
- name: Build Docker
id: docker_build
uses: docker/build-push-action@v4
with:
context: "./samples/webApi/expressjs-with-esdb"
push: false
tags: oskardudycz/emmett.esdb.sample:latest
- name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}