name: unit-tests on: [pull_request] jobs: unit-test-python: runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: python-version: [ "3.9", "3.10", "3.11"] os: [ ubuntu-latest, macos-13 ] exclude: - os: macos-13 python-version: "3.9" env: OS: ${{ matrix.os }} PYTHON: ${{ matrix.python-version }} steps: - uses: actions/checkout@v4 - name: Setup Python id: setup-python uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} architecture: x64 - name: Install uv run: | curl -LsSf https://astral.sh/uv/install.sh | sh - name: Get uv cache dir id: uv-cache run: | echo "::set-output name=dir::$(uv cache dir)" - name: uv cache uses: actions/cache@v4 with: path: ${{ steps.uv-cache.outputs.dir }} key: ${{ runner.os }}-${{ steps.setup-python.outputs.python-version }}-uv-${{ hashFiles(format('**/py{0}-ci-requirements.txt', env.PYTHON)) }} - name: Install dependencies run: make install-python-ci-dependencies-uv - name: Test Python run: make test-python-unit unit-test-ui: runs-on: ubuntu-latest env: NPM_TOKEN: ${{ secrets.NPM_TOKEN }} steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v3 with: node-version: '17.x' registry-url: 'https://registry.npmjs.org' - name: Install yarn dependencies working-directory: ./ui run: yarn install - name: Build yarn rollup working-directory: ./ui run: yarn build:lib - name: Run yarn tests working-directory: ./ui run: yarn test --watchAll=false