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" ] os: [ ubuntu-latest, macos-12 ] exclude: - os: macos-12 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: Upgrade pip version run: | pip install --upgrade "pip>=21.3.1,<23.2" - name: Install uv run: | pip install uv - 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