Add support for RBAC with tests, update CI images #835
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |