From 32eadb492f579130af8967a709470d9739a35fe8 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 16 Jan 2026 22:30:35 +0000 Subject: [PATCH 1/5] Initial plan From 966b2d4ac90786c968d5f9ed7a123be1913fcffe Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 16 Jan 2026 22:32:43 +0000 Subject: [PATCH 2/5] Add copilot-setup-steps.yml workflow with dev tool setup Co-authored-by: chrisjsewell <2997570+chrisjsewell@users.noreply.github.com> --- .github/workflows/copilot-setup-steps.yml | 75 +++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 .github/workflows/copilot-setup-steps.yml diff --git a/.github/workflows/copilot-setup-steps.yml b/.github/workflows/copilot-setup-steps.yml new file mode 100644 index 0000000..8bb0448 --- /dev/null +++ b/.github/workflows/copilot-setup-steps.yml @@ -0,0 +1,75 @@ +name: Copilot Setup Steps + +# This workflow is designed to be referenced by GitHub Copilot +# to understand how to set up the development environment + +on: + workflow_dispatch: + +jobs: + setup: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.11" + cache: pip + + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: "20" + cache: npm + + - name: Upgrade pip + run: | + python -m pip install --upgrade pip + + - name: Install uv (optional, for faster package management) + run: | + pip install uv + + - name: Install pre-commit and pre-commit-uv + run: | + pip install pre-commit pre-commit-uv + + - name: Install tox and tox-uv + run: | + pip install tox tox-uv + + - name: Install project dependencies + run: | + pip install -e .[testing,code-style] + + - name: Install Node.js dependencies (for SASS compilation) + run: | + npm install + + - name: Setup pre-commit hooks + run: | + pre-commit install + + - name: Verify installations + run: | + echo "Python version:" + python --version + echo "" + echo "Node.js version:" + node --version + echo "" + echo "npm version:" + npm --version + echo "" + echo "pre-commit version:" + pre-commit --version + echo "" + echo "tox version:" + tox --version + echo "" + echo "Installed Python packages:" + pip list | grep -E "(pre-commit|tox|sphinx|pytest)" From fab47029533e4dcd25c30a7c1ab9712cfd33cf39 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 16 Jan 2026 22:35:10 +0000 Subject: [PATCH 3/5] Add explicit permissions to copilot-setup-steps workflow Co-authored-by: chrisjsewell <2997570+chrisjsewell@users.noreply.github.com> --- .github/workflows/copilot-setup-steps.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/copilot-setup-steps.yml b/.github/workflows/copilot-setup-steps.yml index 8bb0448..fe88fb2 100644 --- a/.github/workflows/copilot-setup-steps.yml +++ b/.github/workflows/copilot-setup-steps.yml @@ -9,6 +9,8 @@ on: jobs: setup: runs-on: ubuntu-latest + permissions: + contents: read steps: - name: Checkout repository From f2f21c6b9629367f3850e2076548a51f59f60469 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 16 Jan 2026 22:43:13 +0000 Subject: [PATCH 4/5] Update copilot-setup-steps.yml per feedback: rename job, remove project install and verification Co-authored-by: chrisjsewell <2997570+chrisjsewell@users.noreply.github.com> --- .github/workflows/copilot-setup-steps.yml | 69 ++++++++--------------- 1 file changed, 22 insertions(+), 47 deletions(-) diff --git a/.github/workflows/copilot-setup-steps.yml b/.github/workflows/copilot-setup-steps.yml index fe88fb2..1479321 100644 --- a/.github/workflows/copilot-setup-steps.yml +++ b/.github/workflows/copilot-setup-steps.yml @@ -1,19 +1,30 @@ name: Copilot Setup Steps -# This workflow is designed to be referenced by GitHub Copilot -# to understand how to set up the development environment - +# Automatically run the setup steps when they are changed to allow for easy validation, and +# allow manual testing through the repository's "Actions" tab on: workflow_dispatch: + push: + paths: + - .github/workflows/copilot-setup-steps.yml + pull_request: + paths: + - .github/workflows/copilot-setup-steps.yml jobs: - setup: + # The job MUST be called `copilot-setup-steps` or it will not be picked up by Copilot. + copilot-setup-steps: runs-on: ubuntu-latest + + # Set the permissions to the lowest permissions possible needed for your steps. + # Copilot will be given its own token for its operations. permissions: contents: read + # You can define any steps you want, and they will run before the agent starts. + # If you do not check out your code, Copilot will do this for you. steps: - - name: Checkout repository + - name: Checkout code uses: actions/checkout@v4 - name: Set up Python @@ -28,50 +39,14 @@ jobs: node-version: "20" cache: npm - - name: Upgrade pip - run: | - python -m pip install --upgrade pip - - - name: Install uv (optional, for faster package management) - run: | - pip install uv + - name: Install uv + run: pip install uv - name: Install pre-commit and pre-commit-uv - run: | - pip install pre-commit pre-commit-uv + run: pip install pre-commit pre-commit-uv - name: Install tox and tox-uv - run: | - pip install tox tox-uv - - - name: Install project dependencies - run: | - pip install -e .[testing,code-style] - - - name: Install Node.js dependencies (for SASS compilation) - run: | - npm install - - - name: Setup pre-commit hooks - run: | - pre-commit install + run: pip install tox tox-uv - - name: Verify installations - run: | - echo "Python version:" - python --version - echo "" - echo "Node.js version:" - node --version - echo "" - echo "npm version:" - npm --version - echo "" - echo "pre-commit version:" - pre-commit --version - echo "" - echo "tox version:" - tox --version - echo "" - echo "Installed Python packages:" - pip list | grep -E "(pre-commit|tox|sphinx|pytest)" + - name: Install Node.js dependencies + run: npm install From 1762e8e3eaeee6ff54d6be488b68849aa2ad5b58 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 16 Jan 2026 22:44:18 +0000 Subject: [PATCH 5/5] Remove trailing whitespace in copilot-setup-steps.yml Co-authored-by: chrisjsewell <2997570+chrisjsewell@users.noreply.github.com> --- .github/workflows/copilot-setup-steps.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/copilot-setup-steps.yml b/.github/workflows/copilot-setup-steps.yml index 1479321..85861c5 100644 --- a/.github/workflows/copilot-setup-steps.yml +++ b/.github/workflows/copilot-setup-steps.yml @@ -15,12 +15,12 @@ jobs: # The job MUST be called `copilot-setup-steps` or it will not be picked up by Copilot. copilot-setup-steps: runs-on: ubuntu-latest - + # Set the permissions to the lowest permissions possible needed for your steps. # Copilot will be given its own token for its operations. permissions: contents: read - + # You can define any steps you want, and they will run before the agent starts. # If you do not check out your code, Copilot will do this for you. steps: