From 9ec6e057de8ae5f074f8bcbc9e70c04eda965fd4 Mon Sep 17 00:00:00 2001 From: Abao Date: Fri, 26 Jan 2024 15:43:04 +0800 Subject: [PATCH] test: remote build temp --- .github/workflows/build.yml | 145 -------------------------- .github/workflows/ci.yml | 199 ++++++++++++++++++++++++++++++++++++ .github/workflows/docs.yml | 20 ---- .github/workflows/lint.yml | 45 -------- 4 files changed, 199 insertions(+), 210 deletions(-) delete mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/ci.yml delete mode 100644 .github/workflows/lint.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml deleted file mode 100644 index 37cd34c..0000000 --- a/.github/workflows/build.yml +++ /dev/null @@ -1,145 +0,0 @@ -name: Build - -on: - push: - branches: - - abao/dev - pull_request: - branches: - - '*' - -jobs: - build: - if: false - runs-on: ubuntu-latest - - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Base Setup - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 - - - name: Install pnpm - uses: pnpm/action-setup@v2 - with: - version: 8 - - - name: Install dependencies - run: python -m pip install -U "jupyterlab>=4.0.0,<5" - - - name: Build the extension - run: | - set -eux - python -m pip install .[test] - jupyter labextension list - jupyter labextension list 2>&1 | grep -ie "neopyter.*OK" - python -m jupyterlab.browser_check - - - name: Package the extension - run: | - set -eux - pip install build - python -m build - pip uninstall -y "neopyter" jupyterlab - - - name: Upload extension packages - uses: actions/upload-artifact@v3 - with: - name: extension-artifacts - path: dist/neopyter* - if-no-files-found: error - - test_isolated: - if: false - needs: build - runs-on: ubuntu-latest - - steps: - - name: Install Python - uses: actions/setup-python@v4 - with: - python-version: '3.9' - architecture: 'x64' - - uses: actions/download-artifact@v3 - with: - name: extension-artifacts - - name: Install and Test - run: | - set -eux - # Remove NodeJS, twice to take care of system and locally installed node versions. - sudo rm -rf $(which node) - sudo rm -rf $(which node) - - pip install "jupyterlab>=4.0.0,<5" neopyter*.whl - - - jupyter labextension list - jupyter labextension list 2>&1 | grep -ie "neopyter.*OK" - python -m jupyterlab.browser_check --no-browser-test - - integration-tests: - if: false - name: Integration tests - needs: build - runs-on: ubuntu-latest - - env: - PLAYWRIGHT_BROWSERS_PATH: ${{ github.workspace }}/pw-browsers - - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Base Setup - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 - - - name: Download extension package - uses: actions/download-artifact@v3 - with: - name: extension-artifacts - - - name: Install the extension - run: | - set -eux - python -m pip install "jupyterlab>=4.0.0,<5" neopyter*.whl - - - name: Install dependencies - working-directory: ui-tests - env: - PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1 - run: jlpm install - - - name: Set up browser cache - uses: actions/cache@v3 - with: - path: | - ${{ github.workspace }}/pw-browsers - key: ${{ runner.os }}-${{ hashFiles('ui-tests/yarn.lock') }} - - - name: Install browser - run: jlpm playwright install chromium - working-directory: ui-tests - - - name: Execute integration tests - working-directory: ui-tests - run: | - jlpm playwright test - - - name: Upload Playwright Test report - if: always() - uses: actions/upload-artifact@v3 - with: - name: neopyter-playwright-tests - path: | - ui-tests/test-results - ui-tests/playwright-report - - check_links: - name: Check Links - runs-on: ubuntu-latest - timeout-minutes: 15 - steps: - - uses: actions/checkout@v3 - - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 - - uses: jupyterlab/maintainer-tools/.github/actions/check-links@v1 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..9265110 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,199 @@ +name: Build + +on: + push: + branches: + - '*' + pull_request: + branches: + - '*' + +jobs: + stylua: + name: stylua + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - uses: JohnnyMorganz/stylua-action@v3 + with: + version: latest + token: ${{ secrets.GITHUB_TOKEN }} + args: --color always --check lua + + lint-check: + name: lint-check + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + # - name: Jupyter base setup + # uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 + # - name: Install pnpm + # uses: pnpm/action-setup@v2 + # with: + # version: 8 + # - name: Install jupyterlab + # run: python -m pip install -U "jupyterlab>=4.0.0,<5" + # - name: Lint the extension + # run: | + # set -eux + # jlpm + # jlpm run lint:check + + ruff: + name: ruff + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + - uses: chartboost/ruff-action@v1 + with: + src: "./neopyter" + + check_links: + name: Check Links + runs-on: ubuntu-latest + timeout-minutes: 15 + steps: + - uses: actions/checkout@v3 + - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 + - uses: jupyterlab/maintainer-tools/.github/actions/check-links@v1 + + lint: + runs-on: ubuntu-latest + needs: [stylua, lint-check, ruff, check_links] + + build: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v3 + # - name: Jupyter base setup + # uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 + # - name: Install pnpm + # uses: pnpm/action-setup@v2 + # with: + # version: 8 + # - name: Install dependencies + # run: python -m pip install -U "jupyterlab>=4.0.0,<5" + # - name: Build the extension + # run: | + # set -eux + # python -m pip install .[test] + # jupyter labextension list + # jupyter labextension list 2>&1 | grep -ie "neopyter.*OK" + # python -m jupyterlab.browser_check + # - name: Package the extension + # run: | + # set -eux + # pip install build + # python -m build + # pip uninstall -y "neopyter" jupyterlab + # - name: Upload extension packages + # uses: actions/upload-artifact@v3 + # with: + # name: extension-artifacts + # path: dist/neopyter* + # if-no-files-found: error + # + + test_isolated: + needs: build + runs-on: ubuntu-latest + + steps: + - name: Install Python + uses: actions/setup-python@v4 + with: + python-version: '3.9' + architecture: 'x64' + # - uses: actions/download-artifact@v3 + # with: + # name: extension-artifacts + # - name: Install and Test + # run: | + # set -eux + # # Remove NodeJS, twice to take care of system and locally installed node versions. + # sudo rm -rf $(which node) + # sudo rm -rf $(which node) + # + # pip install "jupyterlab>=4.0.0,<5" neopyter*.whl + # + # + # jupyter labextension list + # jupyter labextension list 2>&1 | grep -ie "neopyter.*OK" + # python -m jupyterlab.browser_check --no-browser-test + + integration-tests: + name: Integration tests + needs: build + runs-on: ubuntu-latest + env: + PLAYWRIGHT_BROWSERS_PATH: ${{ github.workspace }}/pw-browsers + steps: + - name: Checkout + uses: actions/checkout@v3 + # - name: Jupyter base setup + # uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 + # - name: Download extension package + # uses: actions/download-artifact@v3 + # with: + # name: extension-artifacts + # - name: Install the extension + # run: | + # set -eux + # python -m pip install "jupyterlab>=4.0.0,<5" neopyter*.whl + # - name: Install dependencies + # working-directory: ui-tests + # env: + # PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1 + # run: jlpm install + # - name: Set up browser cache + # uses: actions/cache@v3 + # with: + # path: | + # ${{ github.workspace }}/pw-browsers + # key: ${{ runner.os }}-${{ hashFiles('ui-tests/yarn.lock') }} + # - name: Install browser + # run: jlpm playwright install chromium + # working-directory: ui-tests + # - name: Execute integration tests + # working-directory: ui-tests + # run: | + # jlpm playwright test + # - name: Upload Playwright Test report + # if: always() + # uses: actions/upload-artifact@v3 + # with: + # name: neopyter-playwright-tests + # path: | + # ui-tests/test-results + # ui-tests/playwright-report + + test: + runs-on: ubuntu-latest + needs: [test_isolated, integration-tests] + + vimdoc: + runs-on: ubuntu-latest + needs: [lint, test] + if: ${{ github.ref == 'refs/heads/abao/dev' }} + steps: + - uses: actions/checkout@v3 + - name: panvimdoc + uses: kdheepak/panvimdoc@main + with: + vimdoc: neopyter + demojify: true + treesitter: true + - name: cat + run: cat doc/neopyter.txt + - run: git status + - name: Push changes + uses: stefanzweifel/git-auto-commit-action@v4 + with: + commit_message: "docs(vimdoc): auto-generate vimdoc" + commit_user_name: "github-actions[bot]" + commit_user_email: "github-actions[bot]@users.noreply.github.com" + commit_author: "github-actions[bot] " diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index bbfce6c..ef07227 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -7,23 +7,3 @@ on: branches: [abao/dev] jobs: - docs: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - name: panvimdoc - uses: kdheepak/panvimdoc@main - with: - vimdoc: neopyter - demojify: true - treesitter: true - - name: cat - run: cat doc/neopyter.txt - - run: git status - - name: Push changes - uses: stefanzweifel/git-auto-commit-action@v4 - with: - commit_message: "docs(vimdoc): auto-generate vimdoc" - commit_user_name: "github-actions[bot]" - commit_user_email: "github-actions[bot]@users.noreply.github.com" - commit_author: "github-actions[bot] " diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml deleted file mode 100644 index b8f41da..0000000 --- a/.github/workflows/lint.yml +++ /dev/null @@ -1,45 +0,0 @@ -name: Lint - -on: [push, pull_request] - -jobs: - stylua: - name: stylua - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - uses: JohnnyMorganz/stylua-action@v3 - with: - version: latest - token: ${{ secrets.GITHUB_TOKEN }} - args: --color always --check lua - lint-check: - name: lint-check - if: false - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Jupyter base setup - uses: jupyterlab/maintainer-tools/.github/actions/base-setup@v1 - - name: Install pnpm - uses: pnpm/action-setup@v2 - with: - version: 8 - - name: Install jupyterlab - run: python -m pip install -U "jupyterlab>=4.0.0,<5" - - name: Lint the extension - run: | - set -eux - jlpm - jlpm run lint:check - ruff: - name: ruff - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - uses: chartboost/ruff-action@v1 - with: - src: "./neopyter"