Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,5 @@ commitlint.config.json
dist
build
reports
helm
.claudeignore
2 changes: 1 addition & 1 deletion .github/workflows/auto-author-assign.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@ jobs:
assign-author:
runs-on: ubuntu-latest
steps:
- uses: toshimaru/auto-author-assign@v3.0.3
- uses: toshimaru/auto-author-assign@v2.1.1
with:
repo-token: ${{ secrets.GH_PAT }}
8 changes: 4 additions & 4 deletions .github/workflows/build-and-push.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,22 +10,22 @@ permissions:
packages: write

env:
DOMAIN: YOUR_DOMAIN
DOMAIN: vector

jobs:
push-docker-image:
runs-on: ubuntu-latest
steps:
- name: Login to Azure Container Registry
uses: docker/login-action@v4
uses: docker/login-action@v3
with:
registry: ${{ secrets.ACR_URL }}
username: ${{ secrets.ACR_PUSH_USER }}
password: ${{ secrets.ACR_PUSH_TOKEN }}

- name: Build and Push Docker image
id: build_and_push
uses: docker/build-push-action@v7
uses: docker/build-push-action@v6
with:
push: true
tags: ${{ secrets.ACR_URL }}/${{ env.DOMAIN }}/${{ github.event.repository.name }}:${{ github.ref_name }}
Expand All @@ -45,7 +45,7 @@ jobs:
needs: push-docker-image
steps:
- name: Checkout Repository
uses: actions/checkout@v7
uses: actions/checkout@v5

- name: Remove v from the tag
id: remove_v
Expand Down
126 changes: 104 additions & 22 deletions .github/workflows/pull_request.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,14 @@
name: pull_request

on: pull_request
env:
DB_HOST: localhost
DB_PORT: 5432
DB_NAME: postgres
DB_USERNAME: postgres
DB_PASSWORD: postgres
DB_SCHEMA: public
SOURCE_DB_SCHEMA: query

permissions:
contents: read
Expand All @@ -17,42 +25,41 @@ jobs:

steps:
- name: Check out TS Project Git repository
uses: actions/checkout@v7
uses: actions/checkout@v5

- name: Init Nodejs
uses: MapColonies/shared-workflows/actions/init-npm@init-npm-v1
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: npm

- name: Install dependencies
run: npm install

- name: Build workspace dependencies
run: npx lerna run build --scope=@map-colonies/vector-standard-db

- name: Run TS Project linters
uses: wearerequired/lint-action@v3
with:
eslint: true
prettier: true
eslint_extensions: ts
tsc: true
run: npx lerna run lint

openapi-lint:
name: Run OpenAPI lint Check
runs-on: ubuntu-latest

steps:
- name: Check out TS Project Git repository
uses: actions/checkout@v7

- name: Init Nodejs
uses: MapColonies/shared-workflows/actions/init-npm@init-npm-v1
uses: actions/checkout@v5

- name: OpenAPI Lint Checks
run: npx @redocly/cli lint --format=github-actions openapi3.yaml
run: npx @redocly/cli lint --format=github-actions ./openapi3.yaml

helm-lint:
name: Run Helm lint Check
runs-on: ubuntu-latest

steps:
- name: Check out TS Project Git repository
uses: actions/checkout@v7
uses: actions/checkout@v5
with:
fetch-depth: 0

Expand All @@ -75,25 +82,100 @@ jobs:
strategy:
matrix:
node: [24.x]
services:
# Label used to access the service container
postgres:
# Docker Hub image
image: postgis/postgis:14-3.3
# Provide the password for postgres
env:
POSTGRES_PASSWORD: ${{ env.DB_PASSWORD}}
POSTGRES_USER: ${{ env.DB_USERNAME }}
POSTGRES_DB: ${{ env.DB_NAME }}
DEST_DB_NAME: ${{ env.DB_USERNAME }}
DEST_DB_SCHEMA: ${{ env.DB_SCHEMA }}
DEST_DB_PASSWORD: ${{ env.DB_PASSWORD }}
SOURCE_DB_NAME: ${{ env.DB_USERNAME }}
SOURCE_DB_SCHEMA: ${{ env.SOURCE_DB_SCHEMA }}
SOURCE_DB_PASSWORD: ${{ env.DB_PASSWORD }}

ports:
- 5432:5432
# Set health checks to wait until postgres has started
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
steps:
- name: Check out Git repository
uses: actions/checkout@v7
uses: actions/checkout@v5

- name: Init Nodejs
uses: MapColonies/shared-workflows/actions/init-npm@init-npm-v1
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
cache: npm

- name: Install dependencies
run: npm install

- name: Build workspace dependencies
run: npx lerna run build --scope=@map-colonies/vector-standard-db

- name: Install pg client
run: |
sudo apt-get update && sudo apt-get install -y lsb-release
echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list > /dev/null
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo tee /usr/share/keyrings/postgresql-keyring.asc > /dev/null
echo "deb [signed-by=/usr/share/keyrings/postgresql-keyring.asc] http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list > /dev/null
sudo apt-get update
sudo apt-get install -y postgresql-client
shell: bash

- name: Create schema
run: psql -h $DB_HOST -d $DB_NAME -U $DB_USERNAME -c 'CREATE SCHEMA IF NOT EXISTS ${{ env.DB_SCHEMA }}; CREATE SCHEMA IF NOT EXISTS ${{ env.SOURCE_DB_SCHEMA }};'
env:
PGPASSWORD: ${{ env.DB_PASSWORD }}

- name: Run migrations
run: npx lerna run migration:run

- name: Run tests
run: npm run test
run: npx lerna run test

- uses: actions/upload-artifact@v7
- uses: actions/upload-artifact@v4
with:
name: Test Reporters Node-${{ matrix.node }}
path: reports/**
path: packages/*/html/**

build_docker_migrations_image:
name: Build Docker Migrations Image
runs-on: ubuntu-latest

steps:
- name: Check out TS Project Git repository
uses: actions/checkout@v5

- name: build migrations Docker image
run: docker build -f ./packages/db/migrations.Dockerfile -t test-migrations-build:latest .

build_docker_image:
name: Build Docker Image
runs-on: ubuntu-latest

strategy:
matrix:
package: [api, synchronizer]

steps:
- name: Check out Git repository
uses: actions/checkout@v6

- name: Build and Push Docker image
uses: docker/build-push-action@v7
uses: docker/build-push-action@v6
with:
context: .
file: ./packages/${{ matrix.package }}/Dockerfile
push: false
tags: ${{ matrix.package }}:latest
2 changes: 1 addition & 1 deletion .github/workflows/release-please.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
release-please:
runs-on: ubuntu-latest
steps:
- uses: googleapis/release-please-action@v5
- uses: googleapis/release-please-action@v4
with:
# this assumes that you have created a personal access token
# (PAT) and configured it as a GitHub action secret named
Expand Down
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -112,4 +112,7 @@ dist
jest_html_reporters.html
reports

config/local*.json
**/config/local*.json

myvalues.yaml
.claudeignore
1 change: 1 addition & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,5 @@ node_modules
coverage
helm
reports
html
.release-please-manifest.json
34 changes: 0 additions & 34 deletions Dockerfile

This file was deleted.

17 changes: 0 additions & 17 deletions catalog-info.yaml

This file was deleted.

22 changes: 21 additions & 1 deletion eslint.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,24 @@ import tsBaseConfig from '@map-colonies/eslint-config/ts-base';
import vitestConfig from '@map-colonies/eslint-config/vitest';
import { defineConfig } from 'eslint/config';

export default defineConfig(vitestConfig, tsBaseConfig, { ignores: ['vitest.config.mts'] });
export default defineConfig({ ignores: ['**/vitest.config.mts', '**/dist/**'] }, vitestConfig, tsBaseConfig, {
languageOptions: {
parserOptions: {
projectService: {
noWarnOnMultipleProjects: true,
},
},
},
settings: {
'import-x/resolver': {
typescript: {
project: ['packages/*/tsconfig.json'],
},
},
},
rules: {
// @db is a tsconfig path alias for the local packages/db workspace package,
// not an npm dependency — whitelist it so the rule doesn't flag it.
'import-x/no-extraneous-dependencies': ['error', { whitelist: ['@map-colonies/vector-standard-db'] }],
},
});
2 changes: 1 addition & 1 deletion helm/Chart.lock
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ dependencies:
repository: oci://acrarolibotnonprod.azurecr.io/helm/infra
version: 1.0.1
digest: sha256:a97237cd8966ab9d4f8c0b8dda2ad110fbff5d485da868124fdce2a5dbbfa208
generated: "2025-09-10T14:59:42.14992671+03:00"
generated: "2026-06-15T09:55:57.9010118+03:00"
5 changes: 3 additions & 2 deletions helm/Chart.yaml
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
apiVersion: v2
name: ts-server-boilerplate
description: A Helm chart for ts-server-boilerplate service
name: vector-standard
description: Umbrella Helm chart for Vector Standard services (API and Synchronizer)
type: application
version: 1.0.0
appVersion: 1.0.0
dependencies:
- name: mclabels
version: 1.0.1
repository: oci://acrarolibotnonprod.azurecr.io/helm/infra

10 changes: 10 additions & 0 deletions helm/charts/api/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
apiVersion: v2
name: api
description: Helm chart for the Vector Standard API service
type: application
version: 1.0.0
appVersion: 1.0.0
dependencies:
- name: mclabels
version: 1.0.1
repository: oci://acrarolibotnonprod.azurecr.io/helm/infra
Loading
Loading