ci db-migrations
Deploy service couchdb / service couchdb (push) Successful in 21s
Deploy service message-delivery-method-web-push / service message-delivery-method-web-push (push) Successful in 50s

This commit is contained in:
2024-12-03 13:33:37 +02:00
parent eb1c5486a0
commit 920d7f089f
10 changed files with 87 additions and 10 deletions
+3 -4
View File
@@ -23,16 +23,15 @@ jobs:
env: env:
COUCHDB_USER: ${{secrets.COUCHDB_USER}} COUCHDB_USER: ${{secrets.COUCHDB_USER}}
COUCHDB_PASSWORD: ${{secrets.COUCHDB_PASSWORD}} COUCHDB_PASSWORD: ${{secrets.COUCHDB_PASSWORD}}
run: COUCHDB_TAG=${{env.GITHUB_SHA}} docker compose -p hereconnect up -d --pull never run: COUCHDB_TAG=${{env.GITHUB_SHA}} docker compose -p hereconnect up -d --pull never couchdb
- name: rename to latest - name: rename to latest
run: docker tag hereconnect/service-couchdb:${{env.GITHUB_SHA}} hereconnect/service-couchdb:latest run: docker tag hereconnect/service-couchdb:${{env.GITHUB_SHA}} hereconnect/service-couchdb:latest
- name: rollback on Failure - name: rollback on failure
if: failure() if: failure()
env: env:
COUCHDB_TAG: latest COUCHDB_TAG: latest
run: docker compose -p hereconnect up --pull never run: docker compose -p hereconnect up -d --pull never couchdb
- name: cleanup docker image - name: cleanup docker image
if: always() if: always()
@@ -0,0 +1,34 @@
name: Deploy db-migrations
run-name: ${{ github.actor }} deployed to build branch
on:
push:
branches:
- main
paths:
- 'services/db-migrate/**'
- '.gitea/workflows/deploy-db-migrate.yaml'
jobs:
db-migrations:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '22'
- name: install dependencies
run: |
corepack enable pnpm && corepack use pnpm@8.15.9
pnpm --filter ./services/db-migrations deploy --prod build/service-db-migrations
- name: build docker image
run: docker build --file services/db-migrations/Dockerfile -t hereconnect/service-db-migrations:${{env.GITHUB_SHA}} build/service-db-migrations
- name: start container
run: DB_MIGRATIONS_TAG=${{env.GITHUB_SHA}} API_URL='http://${{secrets.COUCHDB_USER}}:${{secrets.COUCHDB_PASSWORD}}@127.0.0.1:15984' docker compose -p hereconnect up -d --pull never db-migrations
- name: cleanup docker image
if: always()
run: docker rmi hereconnect/service-db-migrations:${{env.GITHUB_SHA}}
@@ -41,4 +41,4 @@ jobs:
- name: cleanup build directories - name: cleanup build directories
if: always() if: always()
run: | run: |
docker rmi hereconnect/service-message-delivery-method-web-push:${{env.GITHUB_SHA}} docker rmi hereconnect/service-message-delivery-method-web-push:${{env.GITHUB_SHA}}
+9
View File
@@ -20,5 +20,14 @@ services:
max-size: "100m" max-size: "100m"
max-file: "10" max-file: "10"
db-migrations:
image: hereconnect/service-db-migrations:${DB_MIGRATIONS_TAG:-latest}
volumes:
- db_migrations_data:/opt/migrations/data
depends_on:
- couchdb
restart: no
volumes: volumes:
couchdb_data: couchdb_data:
db_migrations_data:
+3
View File
@@ -0,0 +1,3 @@
node_modules
dist
*.log
+1 -1
View File
@@ -1 +1 @@
.migrate .migrate
+9
View File
@@ -0,0 +1,9 @@
{
"lastRun": "1732483677017-dbs.js",
"migrations": [
{
"title": "1732483677017-dbs.js",
"timestamp": 1733125611801
}
]
}
+7
View File
@@ -0,0 +1,7 @@
FROM oven/bun:1.1.38-alpine
VOLUME /opt/migrations/data
COPY . ./
CMD ["bun", "./node_modules/migrate/bin/migrate", "-f", "/opt/migrations/data/migrations.json"]
@@ -1,6 +1,23 @@
import { fetch } from "pouchdb-fetch"; import { fetch } from "pouchdb-fetch";
const dbsSecurity = { const dbsSecurity = {
_users: {
admins: { roles: ["_admin"] },
members: { roles: ["_admin"] },
},
_replicator: {
admins: { roles: ["_admin"] },
members: { roles: ["_admin"] },
},
_global_changes: {
admins: { roles: ["_admin"] },
members: { roles: ["_admin"] },
},
server_settings: {
admins: { roles: ["_admin"] },
members: { roles: ["_admin"] },
},
web_push_subscriptions: { web_push_subscriptions: {
admins: { roles: ["_admin"] }, admins: { roles: ["_admin"] },
members: { roles: [] }, members: { roles: [] },
@@ -9,10 +26,6 @@ const dbsSecurity = {
admins: { roles: ["_admin"] }, admins: { roles: ["_admin"] },
members: { roles: [] }, members: { roles: [] },
}, },
server_settings: {
admins: { roles: ["_admin"] },
members: { roles: ["_admin"] },
},
qr: { qr: {
admins: { roles: ["_admin"] }, admins: { roles: ["_admin"] },
members: { roles: [] }, members: { roles: [] },
+3
View File
@@ -14,5 +14,8 @@
"pouchdb-core": "^9.0.0", "pouchdb-core": "^9.0.0",
"pouchdb-fetch": "^9.0.0", "pouchdb-fetch": "^9.0.0",
"pouchdb-find": "^9.0.0" "pouchdb-find": "^9.0.0"
},
"scripts": {
"migrate": "migrate"
} }
} }