Skip to content

Add support for RBAC with tests, update CI images #835

Add support for RBAC with tests, update CI images

Add support for RBAC with tests, update CI images #835

Workflow file for this run

on:
push:
branches:
- main
tags:
- '**'
pull_request:
env:
WEAVIATE_124: 1.24.26
WEAVIATE_125: 1.25.28
WEAVIATE_126: 1.26.13
WEAVIATE_127: 1.27.8
WEAVIATE_128: 1.28.1-77a2178
jobs:
checks:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: '22.x'
- name: "Run checks"
run: |
npm ci
npm run lint
npm run format:check
npm run docs
tests:
needs: checks
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
versions: [
{ node: "22.x", weaviate: $WEAVIATE_124},
{ node: "22.x", weaviate: $WEAVIATE_125},
{ node: "22.x", weaviate: $WEAVIATE_126},
{ node: "22.x", weaviate: $WEAVIATE_127},
{ node: "18.x", weaviate: $WEAVIATE_128},
{ node: "20.x", weaviate: $WEAVIATE_128},
{ node: "22.x", weaviate: $WEAVIATE_128}
]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: ${{ matrix.versions.node }}
- name: Login to Docker Hub
if: ${{ !github.event.pull_request.head.repo.fork && github.triggering_actor != 'dependabot[bot]' }}
uses: docker/login-action@v3
with:
username: ${{secrets.DOCKER_USERNAME}}
password: ${{secrets.DOCKER_PASSWORD}}
- name: "Install dependencies"
run: |
npm ci
ci/run_dependencies.sh ${{ matrix.versions.weaviate }}
- name: "Run tests with authentication tests"
if: ${{ !github.event.pull_request.head.repo.fork }}
env:
OKTA_DUMMY_CI_PW: ${{ secrets.OKTA_DUMMY_CI_PW }}
WCS_DUMMY_CI_PW: ${{ secrets.WCS_DUMMY_CI_PW }}
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
OKTA_CLIENT_SECRET: ${{ secrets.OKTA_CLIENT_SECRET }}
run: WEAVIATE_VERSION=${{ matrix.versions.weaviate }} npm test
- name: "Run tests without authentication tests (for forks)"
if: ${{ github.event.pull_request.head.repo.fork }}
run: WEAVIATE_VERSION=${{ matrix.versions.weaviate }} npm test
- name: "Transpile the package"
run: npm run build
- name: "Stop Weaviate"
run: ci/stop_dependencies.sh ${{ matrix.versions.weaviate }}
publish:
needs: tests
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
runs-on: ubuntu-latest
permissions:
contents: write # to upload the release
pages: write # to deploy to Pages
id-token: write # to verify the deployment originates from an appropriate source
steps:
- uses: actions/checkout@v3
# Setup .npmrc file to publish to npm
- uses: actions/setup-node@v3
with:
node-version: '22.x'
registry-url: 'https://registry.npmjs.org'
- run: npm ci
- run: npm run build
- run: npm publish
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_AUTOMATION_TOKEN }}
- run: npm run docs
- name: "Upload docs as pages artifact"
uses: actions/upload-pages-artifact@v3
with:
path: ./docs
- name: "Deploy the uploaded pages artifact"
uses: actions/deploy-pages@v4
- name: "Create a GitHub release"
uses: softprops/action-gh-release@v1
with:
generate_release_notes: true
draft: true