From 44873231cfdf2d0006bdc6a19026e22e4d0cb2dd Mon Sep 17 00:00:00 2001 From: Mihai Date: Tue, 19 Mar 2024 12:36:25 -0400 Subject: [PATCH] initial commit --- .github/workflows/jobs.yml | 85 ++++++++++++++++++++++++++++++++++++ .github/workflows/lint.yml | 52 ---------------------- .github/workflows/static.yml | 37 ---------------- .github/workflows/test.yml | 71 ------------------------------ 4 files changed, 85 insertions(+), 160 deletions(-) create mode 100644 .github/workflows/jobs.yml delete mode 100644 .github/workflows/lint.yml delete mode 100644 .github/workflows/static.yml delete mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/jobs.yml b/.github/workflows/jobs.yml new file mode 100644 index 0000000000..65c48486ed --- /dev/null +++ b/.github/workflows/jobs.yml @@ -0,0 +1,85 @@ +name: lint and test + +on: + push: + branches: + - main + pull_request: + +jobs: + test-code: + name: Lint and test + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: set up python + uses: actions/setup-python@v4 + with: + python-version: "3.10" + token: ${{github.token}} + - name: install uv + run: | + curl -LsSf https://astral.sh/uv/install.sh | sh + - name: install venv + run: | + source $HOME/.cargo/env + uv venv .venv -p 3.10 + - name: install requirements + run: | + source $HOME/.cargo/env + source .venv/bin/activate + uv pip install -e '.[all]' + - name: run black + run: | + source .venv/bin/activate + python -m black --config pyproject.toml --check --diff . + - name: get all Python files + id: list_files + run: | + echo "files=$(git ls-files '*.py' '*.pyi' | xargs)" >> $GITHUB_OUTPUT + - name: run Pylint on files + run: | + source .venv/bin/activate + files="${{ steps.list_files.outputs.files }}" + if [ -n "$files" ]; then + pylint --rcfile=.pylintrc $files + else + echo "No Python files found." + fi + - name: Analyse code with pyright + run: | + source .venv/bin/activate + python -m pyright $(git ls-files '*.py' '*.pyi') + - name: install node + uses: actions/setup-node@v3 + with: + node-version: 16.x + - name: install packages + uses: borales/actions-yarn@v4 + with: + cmd: install # will run `yarn install` command + env: + # A warning is thrown here unnecessarily. tracking issue here: + # https://github.com/github/vscode-github-actions/issues/222 + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} # if needed + - name: install foundry + uses: foundry-rs/foundry-toolchain@v1 + with: + version: nightly + - name: run pytest with coverage + run: | + source .venv/bin/activate + IN_CI=true coverage run -m pytest + - name: generate coverage report + run: | + source .venv/bin/activate + coverage xml -i + coverage html -i + - name: upload coverage report to Codecov + uses: codecov/codecov-action@v3 + with: + flags: unittests + fail_ci_if_error: true + # A warning is thrown here unnecessarily. tracking issue here: + # https://github.com/github/vscode-github-actions/issues/222 + token: ${{ secrets.CODECOV_TOKEN }} \ No newline at end of file diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml deleted file mode 100644 index 8ef6edab07..0000000000 --- a/.github/workflows/lint.yml +++ /dev/null @@ -1,52 +0,0 @@ -name: lint - -on: - push: - branches: - - main - pull_request: - -jobs: - build: - name: lint - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - with: - token: ${{github.token}} - - - name: set up python - uses: actions/setup-python@v4 - with: - python-version: "3.10" - cache: "pip" - token: ${{github.token}} - - - name: install uv - run: curl -LsSf https://astral.sh/uv/install.sh | sh - - - name: install requirements - run: | - uv venv .venv -p 3.10 - source .venv/bin/activate - uv pip install -e .[all] - - - name: run black - run: | - source .venv/bin/activate - python -m black --config pyproject.toml --check --diff . - - - name: get all Python files - id: list_files - run: | - echo "files=$(git ls-files '*.py' '*.pyi' | xargs)" >> $GITHUB_OUTPUT - - - name: run Pylint on files - run: | - source .venv/bin/activate - files="${{ steps.list_files.outputs.files }}" - if [ -n "$files" ]; then - pylint --rcfile=.pylintrc $files - else - echo "No Python files found." - fi diff --git a/.github/workflows/static.yml b/.github/workflows/static.yml deleted file mode 100644 index 2be13885d0..0000000000 --- a/.github/workflows/static.yml +++ /dev/null @@ -1,37 +0,0 @@ -name: static - -on: - push: - branches: - - main - pull_request: - -jobs: - build: - name: static - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - with: - token: ${{github.token}} - - - name: set up python - uses: actions/setup-python@v4 - with: - python-version: "3.10" - cache: "pip" - token: ${{github.token}} - - - name: install uv - run: curl -LsSf https://astral.sh/uv/install.sh | sh - - - name: install requirements - run: | - uv venv .venv -p 3.10 - source .venv/bin/activate - uv pip install -e .[all] - - - name: analysing code with pyright - run: | - source .venv/bin/activate - python -m pyright $(git ls-files '*.py' '*.pyi') diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml deleted file mode 100644 index aa004160fe..0000000000 --- a/.github/workflows/test.yml +++ /dev/null @@ -1,71 +0,0 @@ -name: test - -on: - push: - branches: - - main - pull_request: - -jobs: - build: - name: test - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - with: - token: ${{github.token}} - - - name: install node - uses: actions/setup-node@v3 - with: - node-version: 16.x - - - name: install packages - uses: borales/actions-yarn@v4 - with: - cmd: install # will run `yarn install` command - env: - # A warning is thrown here unnecessarily. tracking issue here: - # https://github.com/github/vscode-github-actions/issues/222 - NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} # if needed - - - name: install foundry - uses: foundry-rs/foundry-toolchain@v1 - with: - version: nightly - - - name: set up python - uses: actions/setup-python@v4 - with: - python-version: "3.10" - cache: "pip" - token: ${{github.token}} - - - name: install uv - run: curl -LsSf https://astral.sh/uv/install.sh | sh - - - name: install requirements - run: | - uv venv .venv -p 3.10 - source .venv/bin/activate - uv pip install -e .[all] - - - name: run pytest with coverage - run: | - source .venv/bin/activate - IN_CI=true coverage run -m pytest - - - name: generate coverage report - run: | - source .venv/bin/activate - coverage xml -i - coverage html -i - - - name: upload coverage report to Codecov - uses: codecov/codecov-action@v3 - with: - flags: unittests - fail_ci_if_error: true - # A warning is thrown here unnecessarily. tracking issue here: - # https://github.com/github/vscode-github-actions/issues/222 - token: ${{ secrets.CODECOV_TOKEN }}