Skip to content

Initial Emmett CLI

Initial Emmett CLI #24

name: Build and test Sample - WebApi with Express.js and PostgreSQL
on:
# run it on push to the default repository branch
push:
branches: [main]
paths:
- "samples/webApi/expressjs-with-postgresql/**"
- "./.github/workflows/build_and_test_sample_webapi-expressjs-with-postgresql.yml"
# run it during pull request
pull_request:
paths:
- "samples/webApi/expressjs-with-postgresql/**"
- "./.github/workflows/build_and_test_sample_webapi-expressjs-with-postgresql.yml"
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
defaults:
run:
working-directory: samples/webApi/expressjs-with-postgresql
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-postgresql/.nvmrc
cache: "npm"
cache-dependency-path: "./samples/webApi/expressjs-with-postgresql/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-postgresql"
push: false
tags: oskardudycz/emmett.postgresql.sample:latest
- name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}