Skip to content
This repository has been archived by the owner on Sep 27, 2024. It is now read-only.

Build Knight-Light NodeJS Server: node-server: implemented support for deploying to test on tagged commits #592

Build Knight-Light NodeJS Server: node-server: implemented support for deploying to test on tagged commits

Build Knight-Light NodeJS Server: node-server: implemented support for deploying to test on tagged commits #592

Workflow file for this run

name: Build Knight-Light NodeJS Server
run-name: "Build Knight-Light NodeJS Server: ${{ github.event.head_commit.message }}"
on: [push, workflow_dispatch]
jobs:
code-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: '20.x'
- name: Install dependencies
run: |
cd node-server
npm ci
unit-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: '20.x'
- name: Test with Node
run: |
cd node-server
npm ci
npm run test:unit
workflow_engine:
runs-on: ubuntu-latest
name: Run Workflow Engine
steps:
- uses: actions/checkout@v4
- id: vars
run: |
echo full_image_tag="ttl.sh/$(cat /proc/sys/kernel/random/uuid):30m" >> $GITHUB_OUTPUT
echo full_bundle_tag="ttl.sh/$(cat /proc/sys/kernel/random/uuid):30m" >> $GITHUB_OUTPUT
- name: Run Workflow Engine
uses: cms-enterprise/batcave-workflow-engine-action/image-build-scan-publish/docker@main
with:
build_dir: "node-server"
dockerfile: "node-server/Dockerfile"
tag: ${{ steps.vars.outputs.full_image_tag }}
bundle_publish_tag: ${{ steps.vars.outputs.full_bundle_tag }}
deploy_impl:
runs-on: ubuntu-latest
needs: workflow_engine
steps:
- name: Clone Manifest
uses: actions/checkout@v4
with:
repository: CMS-Enterprise/batcave-knight-light-manifest
ssh-key: ${{ secrets.MANIFEST_DEPLOY_TOKEN }}
- uses: gatecheckdev/deploykit-action/kustomize@main
with:
image: ${{ needs.workflow_engine.outputs.full_image_tag }}
directory: "."
service: "knight-light-server-nodejs"
service_directory: "impl"
manifest_deploy_token: ${{ secrets.MANIFEST_DEPLOY_TOKEN }}