Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
5814813
Migrate tests to node:test and update CI
cubap May 13, 2026
ef7cd04
Apply suggestions from code review
cubap May 13, 2026
7ab9566
Delete coverage-inventory.json
cubap May 13, 2026
c9a6ff7
Merge branch 'testing-testing' of https://github.com/CenterForDigital…
cubap May 13, 2026
8e174de
rebranch
cubap May 13, 2026
497d648
Update cd_dev.yaml
cubap May 13, 2026
3b3c2dc
Update cd_prod.yaml
cubap May 13, 2026
fe699a4
hotfix the search test
thehabes May 19, 2026
4df8c88
Update structural validation + sync strategy in __tests__/openapi_sy…
thehabes May 19, 2026
027aa93
dedup test runs on prod
thehabes May 19, 2026
6f9bef9
Bug fixes and tests for critical functionality
thehabes May 19, 2026
00e82a0
critical functionality tests
thehabes May 19, 2026
e051888
These no longer need the create step for testing
thehabes May 19, 2026
571459e
These no longer need the create step for testing
thehabes May 19, 2026
0f074a3
Fix exclusion flag
thehabes May 19, 2026
44d5e60
cleanup
thehabes May 19, 2026
a167e57
update start script to avoid dotenv dependency
thehabes May 19, 2026
2421e39
Line up contract. Add HEAD tests because contract requires them.
thehabes May 19, 2026
f26c5b9
load env
cubap May 19, 2026
2244513
last bit of cleanup and bolstering
thehabes May 19, 2026
3c7b432
Merge branch 'hotfix-pm2-vars' into testing-testing
cubap May 19, 2026
b6a71c9
Coverage (#274)
cubap May 20, 2026
270b89f
Guard for bot checks. Stop releases from hanging on a tree error.
thehabes May 20, 2026
ccce2c5
Changes from review. Reduce wording locks in tests.
thehabes May 20, 2026
2719fa1
last bit of cleanup from review
thehabes May 20, 2026
07be981
Introduce ecosystem file and env-loader for RHEL (#276)
thehabes May 21, 2026
b2b1307
Changes during review
thehabes May 21, 2026
b68fb9f
test: lock down secret name and cp target in sync workflow tests
thehabes May 21, 2026
7de7ad0
chore: align RERUM sync workflows with TinyNode/TinyPen pattern
thehabes May 21, 2026
335920f
Remove claude from authorship lines. Move contracts/ under openapi/c…
thehabes May 21, 2026
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
32 changes: 9 additions & 23 deletions .github/workflows/cd_dev.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,31 +3,18 @@ on:
pull_request:
branches: main
jobs:
merge-branch:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: Merge with main
uses: devmasx/merge-branch@master
with:
type: now
from_branch: main
target_branch: ${{ github.head_ref }}
github_token: ${{ secrets.OPENAPI }}
message: Merge main into this branch to deploy to dev for testing.
test:
needs: merge-branch
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: actions/checkout@v4
- name: Create .env from secrets
run: echo "${{ secrets.DEV_FULL_ENV }}" > .env
- name: Setup Node.js
uses: actions/setup-node@master
uses: actions/setup-node@v4
with:
node-version: "24"
- name: Cache node modules
uses: actions/cache@master
uses: actions/cache@v4
env:
cache-name: cache-node-modules
with:
Expand All @@ -38,14 +25,13 @@ jobs:
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name: Install dependencies and run the test
run: |
npm install
npm run runtest
- name: Install dependencies
run: npm install
- name: Generate coverage report
run: npm run coverage:ci
deploy:
if: github.event.pull_request.draft == false
needs:
- merge-branch
- test
strategy:
matrix:
Expand All @@ -55,7 +41,7 @@ jobs:
- vlcdhp02
runs-on: ${{ matrix.machines }}
steps:
- uses: actions/checkout@master
- uses: actions/checkout@v4
- name: Deploy the app on the server
run: |
if [[ ! -e /srv/node/logs/rerumv1.txt ]]; then
Expand All @@ -70,4 +56,4 @@ jobs:
git stash
git pull
npm install
pm2 start -i max bin/rerum_v1.js
pm2 startOrReload ecosystem.config.json --env development
18 changes: 9 additions & 9 deletions .github/workflows/cd_prod.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,17 +6,17 @@ jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- uses: actions/checkout@v4
- name: Create .env from secrets
run: echo "${{ secrets.PROD_FULL_ENV }}" > .env
- name: Setup Node.js
uses: actions/setup-node@master
uses: actions/setup-node@v4
with:
node-version: "24"

# Speed up subsequent runs with caching
- name: Cache node modules
uses: actions/cache@master
uses: actions/cache@v4
env:
cache-name: cache-node-modules
with:
Expand All @@ -27,10 +27,10 @@ jobs:
${{ runner.os }}-build-${{ env.cache-name }}-
${{ runner.os }}-build-
${{ runner.os }}-
- name: Install dependencies and run the test
run: |
npm install
npm run runtest
- name: Install dependencies
run: npm install
- name: Generate coverage report
run: npm run coverage:ci
deploy:
needs: test
strategy:
Expand All @@ -41,7 +41,7 @@ jobs:
- vlcdhprdp02
runs-on: ${{ matrix.machines }}
steps:
- uses: actions/checkout@master
- uses: actions/checkout@v4
- name: Deploy the app on the server
run: |
if [[ ! -e /srv/node/logs/rerumv1.txt ]]; then
Expand All @@ -55,4 +55,4 @@ jobs:
git stash
git pull
npm install
pm2 start -i max bin/rerum_v1.js
pm2 startOrReload ecosystem.config.json --env production
53 changes: 29 additions & 24 deletions .github/workflows/sync-core-provider-contract.yml
Original file line number Diff line number Diff line change
@@ -1,48 +1,53 @@
name: Sync Core Provider Contract
name: Sync RERUM core provider contract

on:
workflow_dispatch:
push:
branches:
- main
paths:
- contracts/core-provider.openapi.yaml
- openapi/contracts/core-provider.openapi.yaml
- routes/**
workflow_dispatch:

permissions:
contents: read

jobs:
sync-core-provider-contract:
sync:
name: Sync RERUM core provider contract
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout source repository
- name: Checkout rerum_server_nodejs
uses: actions/checkout@v4

- name: Checkout rerum_openapi
- name: Checkout receiver repository
uses: actions/checkout@v4
with:
repository: cubap/rerum_openapi
ref: main
token: ${{ secrets.OPENAPI }}
path: rerum_openapi
path: receiver

- name: Copy provider contract baseline
run: |
cp contracts/core-provider.openapi.yaml rerum_openapi/seams/tinynode-to-rerum/openapi/baseline.openapi.yaml
- name: Verify receiver stub exists
run: test -f receiver/seams/tinynode-to-rerum/openapi/baseline.openapi.yaml

- name: Create sync pull request
uses: peter-evans/create-pull-request@v7
- name: Copy canonical provider contract
run: cp openapi/contracts/core-provider.openapi.yaml receiver/seams/tinynode-to-rerum/openapi/baseline.openapi.yaml

- name: Create or update sync pull request
uses: peter-evans/create-pull-request@v8
with:
token: ${{ secrets.OPENAPI }}
path: rerum_openapi
branch: automation/sync-rerum-core-provider-contract
path: receiver
add-paths: seams/tinynode-to-rerum/openapi/baseline.openapi.yaml
commit-message: "chore: sync RERUM core provider contract"
branch: sync/rerum-core-provider-contract
base: main
delete-branch: true
commit-message: Sync RERUM core provider contract from rerum_server_nodejs
title: Sync RERUM core provider contract from rerum_server_nodejs
title: "chore: sync RERUM core provider contract"
body: |
Automated sync from `${{ github.repository }}` at `${{ github.sha }}`.

Source:
- `contracts/core-provider.openapi.yaml`
Syncs the canonical RERUM core provider contract from CenterForDigitalHumanities/rerum_server_nodejs.

Target:
- `seams/tinynode-to-rerum/openapi/baseline.openapi.yaml`
- Source commit: ${{ github.sha }}
- Source artifact: `openapi/contracts/core-provider.openapi.yaml`
- Target artifact: `seams/tinynode-to-rerum/openapi/baseline.openapi.yaml`
44 changes: 24 additions & 20 deletions .github/workflows/sync-rerum-shared-openapi.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Sync shared RERUM OpenAPI artifact
name: Sync RERUM shared OpenAPI artifact

on:
push:
Expand All @@ -12,37 +12,41 @@ permissions:
contents: read

jobs:
sync-shared-openapi-artifact:
sync:
name: Sync RERUM shared OpenAPI artifact
runs-on: ubuntu-latest
steps:
- name: Checkout source repository
- name: Checkout rerum_server_nodejs
uses: actions/checkout@v4

- name: Checkout rerum_openapi
- name: Checkout receiver repository
uses: actions/checkout@v4
with:
repository: cubap/rerum_openapi
ref: main
token: ${{ secrets.OPENAPI }}
path: rerum_openapi
path: receiver

- name: Copy shared artifact
run: |
cp openapi/components/rerum-shared-components.openapi.yaml rerum_openapi/schemas/openapi/rerum-shared-components.openapi.yaml
- name: Verify receiver stub exists
run: test -f receiver/schemas/openapi/rerum-shared-components.openapi.yaml

- name: Create sync pull request
uses: peter-evans/create-pull-request@v7
- name: Copy canonical shared artifact
run: cp openapi/components/rerum-shared-components.openapi.yaml receiver/schemas/openapi/rerum-shared-components.openapi.yaml

- name: Create or update sync pull request
uses: peter-evans/create-pull-request@v8
with:
token: ${{ secrets.OPENAPI }}
path: rerum_openapi
branch: automation/sync-rerum-shared-openapi-artifact
path: receiver
add-paths: schemas/openapi/rerum-shared-components.openapi.yaml
commit-message: "chore: sync RERUM shared OpenAPI artifact"
branch: sync/rerum-shared-openapi
base: main
delete-branch: true
commit-message: Sync shared RERUM OpenAPI artifact from rerum_server_nodejs
title: Sync shared RERUM OpenAPI artifact from rerum_server_nodejs
title: "chore: sync RERUM shared OpenAPI artifact"
body: |
Automated sync from `${{ github.repository }}` at `${{ github.sha }}`.

Source:
- `openapi/components/rerum-shared-components.openapi.yaml`
Syncs the canonical RERUM shared OpenAPI artifact from CenterForDigitalHumanities/rerum_server_nodejs.

Target:
- `schemas/openapi/rerum-shared-components.openapi.yaml`
- Source commit: ${{ github.sha }}
- Source artifact: `openapi/components/rerum-shared-components.openapi.yaml`
- Target artifact: `schemas/openapi/rerum-shared-components.openapi.yaml`
Loading
Loading