mirror of
https://github.com/stablyai/orca.git
synced 2026-09-22 08:02:28 +00:00
Phase 6 of the relay split: the relay's deploy/operate surface moves under cloud/ with 24 cloud-* workflows gated on ORCA_CLOUD_OPERATIONS_ENABLED, the Cloud SQL rollout lease action, the relay Terraform root (dual-accept identities for both repositories), scripts, docs, CODEOWNERS, and a terraform validate job in Cloud Verify.
37 lines
1.8 KiB
JavaScript
37 lines
1.8 KiB
JavaScript
import assert from 'node:assert/strict'
|
|
import { readdirSync, readFileSync } from 'node:fs'
|
|
import test from 'node:test'
|
|
import { fileURLToPath } from 'node:url'
|
|
import {
|
|
RELAY_GITHUB_REPOSITORY,
|
|
RELAY_WORKFLOW_FILE_PREFIX,
|
|
readRelayWorkflow,
|
|
relayWorkflowFile,
|
|
relayWorkflowPath,
|
|
relayWorkflowUrl
|
|
} from './relay-repository.mjs'
|
|
|
|
const directory = fileURLToPath(new URL('.', import.meta.url))
|
|
// The Relay copy takes the scripts named for it. Everything else stays with the applications.
|
|
const relayScripts = readdirSync(directory)
|
|
.filter((name) => name.includes('relay') && name.endsWith('.mjs'))
|
|
.filter((name) => !name.startsWith('relay-repository.'))
|
|
|
|
test('workflow identity is derived, never restated', () => {
|
|
assert.equal(relayWorkflowFile('deploy-relay-staging.yml'), `${RELAY_WORKFLOW_FILE_PREFIX}deploy-relay-staging.yml`)
|
|
assert.equal(relayWorkflowPath('deploy-relay-staging.yml'), `.github/workflows/${relayWorkflowFile('deploy-relay-staging.yml')}`)
|
|
assert.ok(relayWorkflowUrl('deploy-relay-staging.yml').pathname.endsWith(relayWorkflowPath('deploy-relay-staging.yml')))
|
|
assert.match(readRelayWorkflow('deploy-relay-staging.yml'), /^name:/m)
|
|
assert.match(RELAY_GITHUB_REPOSITORY, /^[\w.-]+\/[\w.-]+$/)
|
|
})
|
|
|
|
// Why: the public-repo copy changes the owning repository, the workflow filenames, and the depth
|
|
// this tree sits at. Each has to be one edit here, so no Relay script may restate any of them.
|
|
test('no Relay script restates the repository or the workflow directory', () => {
|
|
for (const name of relayScripts) {
|
|
const text = readFileSync(`${directory}${name}`, 'utf8')
|
|
assert.doesNotMatch(text, /stablyai\//, `${name} restates the GitHub repository`)
|
|
assert.doesNotMatch(text, /\.github\/workflows/, `${name} restates the workflow directory`)
|
|
}
|
|
})
|