Adding the full Action enum to Orchestration; renaming Actions->Action #64
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Orchestration CI | |
on: | |
push: | |
paths: | |
- apps/orchestration/** | |
- .github/workflows/orchestration_ci.yml | |
- Makefile | |
- jest.config.ts | |
- jest.preset.js | |
- .eslintrc.json | |
- .prettierrc | |
- package.json | |
- package-lock.json | |
jobs: | |
build-and-test: | |
name: Build and test | |
runs-on: ubuntu-latest | |
services: | |
postgres: | |
image: postgres:14 | |
ports: | |
- '5432:5432' | |
env: | |
POSTGRES_USER: postgres | |
POSTGRES_PASSWORD: postgres | |
options: >- | |
--health-cmd pg_isready | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 5 | |
redis: | |
image: redis | |
ports: | |
- '6379:6379' | |
env: | |
REDIS_PORT: 6379 | |
options: >- | |
--health-cmd "redis-cli ping" | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 5 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@master | |
- name: Install Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: '20.4.0' | |
- name: Install dependencies | |
run: | | |
make install/ci | |
- name: Code format | |
shell: bash | |
run: | | |
make format/check | |
make lint/check | |
- name: Setup database and Prisma types | |
shell: bash | |
run: | | |
make orchestration/copy-default-env | |
make orchestration/test/db/setup | |
make orchestration/db/generate-types | |
# Temporary disable while we don't figure out how to scope the check only | |
# to oen application. | |
# - name: Test types | |
# shell: bash | |
# run: | | |
# make orchestration/test/type | |
- name: Test unit | |
shell: bash | |
run: | | |
make orchestration/test/unit | |
- name: Test integration | |
shell: bash | |
run: | | |
make orchestration/test/integration | |
- name: Test E2E | |
shell: bash | |
run: | | |
make orchestration/test/e2e | |
- name: Send Slack notification on failure | |
if: failure() | |
uses: 8398a7/action-slack@v3 | |
with: | |
username: GitHub | |
author_name: "@app/orchestration CI failed" | |
status: ${{ job.status }} | |
fields: message,commit,author | |
env: | |
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK }} |