Skip to content

Update matrix in jobs #728

Update matrix in jobs

Update matrix in jobs #728

Workflow file for this run

name: Workflow
on:
push:
branches:
- master
- 2-dev
pull_request:
env:
NODE_LTS_MAINTENANCE_VERSION: "16"
NODE_LTS_ACTIVE_VERSION: "18"
NODE_LTS_CURRENT_VERSION: "20"
DOCKER_PLATFORMS: "linux/amd64,linux/arm64"
jobs:
error-codes-check:
name: Documentation - Error codes check
runs-on: ubuntu-22.04
steps:
- name: Checkout project
uses: actions/checkout@v3
- name: Install additional libraries
uses: ./.github/actions/install-packages
- name: Node version ${{ env.NODE_LTS_ACTIVE_VERSION }}
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_LTS_ACTIVE_VERSION }}
cache: "npm"
- name: Install depedencies
run: npm ci
- name: Test error codes
run: ./.ci/scripts/check-error-codes-documentation.sh
lint:
name: Lint - Node.js LTS ${{ matrix.node-version }}
runs-on: ubuntu-22.04
strategy:
matrix:

Check failure on line 43 in .github/workflows/workflow.yaml

View workflow run for this annotation

GitHub Actions / .github/workflows/workflow.yaml

Invalid workflow file

You have an error in your yaml syntax on line 43
node-version: [${{ env.NODE_LTS_MAINTENANCE_VERSION }}, ${{ env.NODE_LTS_ACTIVE_VERSION }}]
steps:
- name: Checkout project
uses: actions/checkout@v3
- name: Install additional libraries
uses: ./.github/actions/install-packages
- name: Node version ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: "npm"
- name: Run ESlint
uses: ./.github/actions/es-lint
unit-tests:
name: Unit Tests
needs: [lint]
strategy:
matrix:
node-version: [${{ env.NODE_LTS_MAINTENANCE_VERSION }}, ${{ env.NODE_LTS_ACTIVE_VERSION }}]
runs-on: ubuntu-22.04
steps:
- name: Checkout project
uses: actions/checkout@v3
- name: Install additional libraries
uses: ./.github/actions/install-packages
- name: Node version ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: "npm"
- name: Run unit test using Node ${{ matrix.node-version }}
uses: ./.github/actions/unit-tests
env:
NODE_VERSION: ${{ matrix.node-version }}
# -----------------------------------------------------------------------------
# E2E Tests: Functional tests, Monkey tests, Docker image tests
# -----------------------------------------------------------------------------
build-and-run-kuzzle:
needs: [unit-tests]
name: Build and Run
runs-on: ubuntu-22.04
strategy:
matrix:
node-version: [${{ env.NODE_LTS_MAINTENANCE_VERSION }}, ${{ env.NODE_LTS_ACTIVE_VERSION }}]
kuzzle-image: ["kuzzle"]
steps:
- name: Checkout project
uses: actions/checkout@v3
- name: Install additional libraries
uses: ./.github/actions/install-packages
- name: Node version ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: "npm"
- name: Test to run Kuzzle image
uses: ./.github/actions/build-and-run-kuzzle
with:
KUZZLE_IMAGE: ${{ matrix.kuzzle-image }}
functional-tests:
name: ${{ matrix.test_set }} - Node.js v${{ matrix.node-version }}
needs: [unit-tests]
strategy:
matrix:
test_set:
[
jest,
http,
websocket,
"legacy:mqtt",
"legacy:http",
"legacy:websocket",
]
node-version: [${{ env.NODE_LTS_MAINTENANCE_VERSION }}, ${{ env.NODE_LTS_ACTIVE_VERSION }}]
runs-on: ubuntu-22.04
steps:
- name: Checkout project
uses: actions/checkout@v3
- name: Install additional libraries
uses: ./.github/actions/install-packages
- name: Node version ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: "npm"
- name: Install depedencies
run: npm ci
- name: Build kuzzle
run: npm run build
- name: test suit ${{ matrix.test_set }}
uses: ./.github/actions/functional-tests
with:
test-set: test:functional:${{ matrix.test_set }}
node-version: ${{ matrix.node-version }}
env:
REBUILD: "true"
cluster-monkey-tests:
name: Cluster Monkey Tests
needs: [functional-tests, build-and-run-kuzzle]
runs-on: ubuntu-22.04
strategy:
matrix:
node-version: [${{ env.NODE_LTS_MAINTENANCE_VERSION }}, ${{ env.NODE_LTS_ACTIVE_VERSION }}]
steps:
- name: Checkout project
uses: actions/checkout@v3
- name: Install additional libraries
uses: ./.github/actions/install-packages
- name: Cloning Monkey Tester
uses: actions/checkout@v3
with:
repository: kuzzleio/kuzzle-monkey-tests
path: "kuzzle-monkey-tests"
- name: Node version ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: "npm"
- name: Run monkey testing tests suit
uses: ./.github/actions/monkey-tests
with:
node-version: ${{ matrix.node-version }}
env:
REBUILD: "true"
deploy-workflow:
name: Deployment Workflow
needs: [cluster-monkey-tests]
uses: ./.github/workflows/workflow-deployments.yaml
secrets: inherit
with:
node_lts_maintenance_version: ${{ env.NODE_LTS_MAINTENANCE_VERSION }}
node_lts_active_version: ${{ env.NODE_LTS_ACTIVE_VERSION }}
node_lts_current_version: ${{ env.NODE_LTS_CURRENT_VERSION }}
docker_platforms: ${{ env.DOCKER_PLATFORMS }}