diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7815de0..d620148 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -29,15 +29,9 @@ jobs: uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 - name: Install dependencies - run: python -m pip install -U "jupyterlab>=4.0.0,<5" check-manifest pyunicore pytest pytest-mock pytest-cov - - - name: Install Node.js dependencies - run: jlpm install - - - name: Test the extension run: | - set -eux - jlpm run test + python -m pip install -U "jupyterlab>=4.0.0,<5" check-manifest pyunicore pytest pytest-mock build + jlpm install - name: Build the extension env: @@ -48,49 +42,27 @@ jobs: jlpm run build python -m pip install .[test] - pytest -vv -r ap tvbextunicore - jupyter server extension list jupyter server extension list 2>&1 | grep -ie "tvbextunicore.*OK" - - jupyter labextension list jupyter labextension list 2>&1 | grep -ie "tvb-ext-unicore.*OK" python -m jupyterlab.browser_check - pip install build python -m build --sdist - cp dist/*.tar.gz myextension.tar.gz pip uninstall -y "tvb-ext-unicore" jupyterlab - rm -rf myextension - - name: Package the extension + - name: Run Python & JS tests run: | set -eux - - pip install build - python -m build - pip uninstall -y "tvb-ext-unicore" jupyterlab - - - name: Run tests - run: | + jlpm run test pytest tvbextunicore -r ap - - - name: Compute coverage - run: | - pytest -v --cov --cov-report=xml - - - name: Run JS tests - run: | yarn test - - name: Compute JS coverage + - name: Package the extension run: | - yarn test --coverage + set -eux - - name: SonarCloud Scan - uses: sonarsource/sonarcloud-github-action@master - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + pip install build + python -m build + pip uninstall -y "tvb-ext-unicore" jupyterlab - name: Upload extension packages uses: actions/upload-artifact@v4 @@ -99,6 +71,33 @@ jobs: path: dist/tvbextunicore* if-no-files-found: error + sonar_cloud: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Base Setup + uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 + + - name: Install dependencies + run: python -m pip install -U "jupyterlab>=4.0.0,<5" check-manifest pyunicore pytest pytest-mock pytest-cov + + - name: Compute coverage + run: | + python -m pip install .[test] + pytest -v --cov --cov-report=xml + yarn test --coverage + + - name: SonarCloud Scan + uses: sonarsource/sonarcloud-github-action@master + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + test_isolated: needs: build runs-on: ubuntu-latest @@ -109,9 +108,11 @@ jobs: with: python-version: '3.11' architecture: 'x64' + - uses: actions/download-artifact@v4 with: name: extension-artifacts-3.11 + - name: Install and Test run: | set -eux @@ -121,10 +122,6 @@ jobs: pip install "jupyterlab>=4.0.0,<5" tvbextunicore*.whl - - jupyter server extension list jupyter server extension list 2>&1 | grep -ie "tvbextunicore.*OK" - - jupyter labextension list jupyter labextension list 2>&1 | grep -ie "tvb-ext-unicore.*OK" python -m jupyterlab.browser_check --no-browser-test