Skip to content

chore(ci): move to GitHub actions #39

chore(ci): move to GitHub actions

chore(ci): move to GitHub actions #39

Workflow file for this run

name: User API
on:
# Only run the tests for this service when any of the following file paths change
pull_request:
paths:
- 'infrastructure/user-api/**'
- 'packages/**'
- 'servers/user-api/**'
- 'pnpm-lock.yaml'
- '.github/actions/**'
- '.github/workflows/user-api.yml'
- '.github/workflows/reuse-*.yml'
push:
branches:
- main
- dev
jobs:
# Let's test the service against some real life and mocked docker services.
test-integrations:
# Only run this job on a pull request event
if: github.event_name == 'pull_request'
# Use our re-usable test integrations workflow which will use our docker compose file
uses: ./.github/workflows/reuse-test-integrations.yml
with:
# Only run the tests for our service
scope: user-api
# Ensure the re-usable workflow is allowed to access the secrets
secrets: inherit
# It's infrastructure time, run the infrastructure update commands
infrastructure:
uses: ./.github/workflows/reuse-infrastructure.yml
with:
scope: user-api-cdk
stack-output-path: infrastructure/user-api/cdktf.out/stacks/user-api
# Ensure the re-usable workflow is allowed to access the secrets
secrets: inherit
# Let's try building and conidtionally pushing our docker image to the necessary account.
api:
uses: ./.github/workflows/reuse-build-and-push-image.yml
needs: [infrastructure]
with:
scope: user-api
app-path: servers/user-api
app-port: 4006
sentry-project: user-api
docker-repo-name-pattern: userapi-{0}-app
terraform-output: ${{needs.infrastructure.outputs.terraform-output}}
# Ensure the re-usable workflow is allowed to access the secrets
secrets: inherit
# deploy:
# needs: [infrastructure]
# with:
# terraform-output: ${{ needs.infrastructure.outputs.terraform-output }}