feat(ci): add RAML 1.0 package generation pipeline
Build and Push Docker Image / build (push) Successful in 1m27s
CI / Security audit (push) Successful in 1m43s
CI / Swagger Validation & Coverage (push) Failing after 1m56s
CI / Tests & coverage (push) Failing after 1m56s
Licence Check / Licence compatibility and copyright header verification (push) Successful in 53s

- Add generate:openapi, generate:raml, package:raml scripts to package.json
- Add archiver dependency for creating tar.gz archives
- Create scripts/generate-openapi.js to fetch merged OpenAPI spec from running server
- Create scripts/package-raml.js to build versioned RAML tar.gz archive
- Create .spectral.yml with minimal OpenAPI linting rules
- Add /api/swagger.json endpoint to server/app.js for serving merged spec
- Extend swagger job in ci.yml with RAML generation steps
- Upload raml-package artifact to CI with 14-day retention
This commit is contained in:
2026-05-21 14:04:26 +01:00
parent afa6ebc3c7
commit 1a4ff73067
7 changed files with 1253 additions and 3 deletions
+26
View File
@@ -85,3 +85,29 @@ jobs:
DATA_DIR: /tmp/sofarr-ci-data
SKIP_RATE_LIMIT: "1"
NODE_ENV: test
- name: Generate merged OpenAPI spec
run: npm run generate:openapi
env:
NODE_ENV: test
DATA_DIR: /tmp/sofarr-ci-data
SKIP_RATE_LIMIT: "1"
- name: Convert to RAML
run: npm run generate:raml
continue-on-error: true
- name: Package RAML artifact
run: npm run package:raml
env:
GITHUB_SHA: ${{ github.sha }}
GITHUB_REF_TYPE: ${{ github.ref_type }}
GITHUB_REF_NAME: ${{ github.ref_name }}
- name: Upload RAML package artifact
uses: actions/upload-artifact@v3
if: always()
with:
name: raml-package
path: dist/raml-*.tar.gz
retention-days: 14