Skip to content

chore: maintenance, CI and misc improvements #270

chore: maintenance, CI and misc improvements

chore: maintenance, CI and misc improvements #270

Workflow file for this run

name: Test
on:
push:
branches: [main, next, prerelease]
pull_request:
jobs:
eslint:
name: ESLint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18
- name: Cache dependencies
uses: actions/cache@v4
with:
path: ~/.npm
key: cache-node-modules-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }}
- name: Install dependencies
run: npm ci
- name: Run eslint
run: npm run eslint
test-unit:
strategy:
matrix:
# TODO: migrate to macOS latest once GitHub has M3-powered runners (nested virtualization)
os: [ubuntu-latest, windows-latest, macos-13]
node: [18, 20, 22]
name: Unit Tests
runs-on: ${{ matrix.os }}
steps:
# This step requires support of nested virtualization.
# https://developer.apple.com/documentation/virtualization/vzgenericplatformconfiguration/4360553-isnestedvirtualizationsupported
#
# GitHub provided images don't come with Docker installed due to licensing issues.
# https://github.com/actions/runner-images/issues/2150
- name: Setup docker (Missing on macOS)
if: runner.os == 'macos'
run: |
brew install docker
colima start
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
- name: Cache dependencies
uses: actions/cache@v4
with:
path: ~/.npm
key: cache-node-modules-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }}
- name: Install dependencies
run: npm ci
- name: Run Tests
run: npm run test:unit
test-e2e:
strategy:
matrix:
# TODO: migrate to macOS latest once GitHub has M3-powered runners (nested virtualization)
os: [ubuntu-latest, windows-latest, macos-13]
node: [18, 20, 22]
name: E2E Tests
runs-on: ${{ matrix.os }}
steps:
# This step requires support of nested virtualization.
# https://developer.apple.com/documentation/virtualization/vzgenericplatformconfiguration/4360553-isnestedvirtualizationsupported
#
# GitHub provided images don't come with Docker installed due to licensing issues.
# https://github.com/actions/runner-images/issues/2150
- name: Setup docker (Missing on macOS)
if: runner.os == 'macos'
run: |
brew install docker
colima start
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
- name: Cache dependencies
uses: actions/cache@v4
with:
path: ~/.npm
key: cache-node-modules-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }}
- name: Install dependencies
run: npm ci
- name: Build CLI
run: npm run build
- name: Start Tolgee Container
run: npm run tolgee:start
- name: Run Tests
run: npm run test:e2e
- name: Stop Tolgee Container
run: npm run tolgee:stop
if: always()
test-package:
name: Package integrity
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 18
- name: Cache dependencies
uses: actions/cache@v4
with:
path: ~/.npm
key: cache-node-modules-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }}
- name: Install dependencies
run: npm ci
- name: Validate package
run: npm run test:package