Skip to content

Bump actions/checkout from 4 to 6 #854

Bump actions/checkout from 4 to 6

Bump actions/checkout from 4 to 6 #854

Workflow file for this run

name: Checks (magui2.0)
on:
push:
branches:
- main
- 'release/**'
pull_request:
branches:
- main
- 'release/**'
schedule:
- cron: "0 3 * * 1" # Every Monday at 03:00 UTC
permissions:
contents: read
jobs:
# Python checks
python-format:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: astral-sh/setup-uv@v6
with:
enable-cache: true
version: "0.7.11"
- uses: actions/setup-python@v5
with:
python-version-file: ".python-version"
- run: uv sync --all-extras
working-directory: .
- name: Run format check
run: |
source .venv/bin/activate
poe fmt --check
python-lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: astral-sh/setup-uv@v6
with:
enable-cache: true
version: "0.7.11"
- uses: actions/setup-python@v5
with:
python-version-file: ".python-version"
- run: uv sync --all-extras
working-directory: .
- name: Run lint
run: |
source .venv/bin/activate
poe lint
python-pyright:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: astral-sh/setup-uv@v6
with:
enable-cache: true
version: "0.7.11"
- uses: actions/setup-python@v5
with:
python-version-file: ".python-version"
- run: uv sync --all-extras
working-directory: .
- name: Run pyright
run: |
source .venv/bin/activate
poe pyright
python-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: astral-sh/setup-uv@v6
with:
enable-cache: true
version: "0.7.11"
- uses: actions/setup-python@v5
with:
python-version-file: ".python-version"
- run: uv sync --all-extras
working-directory: .
- name: Get Playwright version
id: playwright-version
run: |
source .venv/bin/activate
echo "version=$(playwright --version | awk '{print $2}')" >> "$GITHUB_OUTPUT"
- name: Cache Playwright browsers
uses: actions/cache@v5
with:
path: ~/.cache/ms-playwright
key: playwright-${{ steps.playwright-version.outputs.version }}
- name: Install Playwright browsers
run: |
source .venv/bin/activate
playwright install --with-deps
- name: Run tests
run: |
source .venv/bin/activate
pytest tests --cov=src --cov-report=xml --cov-report=term-missing
- name: Upload coverage artifact
uses: actions/upload-artifact@v7
with:
name: coverage-magentic-ui
path: coverage.xml
# Frontend checks
frontend-format:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- run: npm install -g pnpm@10.24.0
- uses: actions/setup-node@v6
with:
node-version: "24"
cache: "pnpm"
cache-dependency-path: "frontend/pnpm-lock.yaml"
- name: Install dependencies
run: pnpm install --frozen-lockfile
working-directory: frontend
- name: Format check
run: pnpm run format:check
working-directory: frontend
frontend-lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- run: npm install -g pnpm@10.24.0
- uses: actions/setup-node@v6
with:
node-version: "24"
cache: "pnpm"
cache-dependency-path: "frontend/pnpm-lock.yaml"
- name: Install dependencies
run: pnpm install --frozen-lockfile
working-directory: frontend
- name: Lint
run: pnpm run lint
working-directory: frontend
frontend-typecheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- run: npm install -g pnpm@10.24.0
- uses: actions/setup-node@v6
with:
node-version: "24"
cache: "pnpm"
cache-dependency-path: "frontend/pnpm-lock.yaml"
- name: Install dependencies
run: pnpm install --frozen-lockfile
working-directory: frontend
- name: Type check
run: pnpm run type-check
working-directory: frontend
frontend-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- run: npm install -g pnpm@10.24.0
- uses: actions/setup-node@v6
with:
node-version: "24"
cache: "pnpm"
cache-dependency-path: "frontend/pnpm-lock.yaml"
- name: Install dependencies
run: pnpm install --frozen-lockfile
working-directory: frontend
- name: Test
run: pnpm run test:run
working-directory: frontend
# Turn on this step after open source.
# codecov:
# runs-on: ubuntu-latest
# needs: [python-test]
# steps:
# - uses: actions/checkout@v6
# - uses: actions/download-artifact@v4
# with:
# name: coverage-magentic-ui
# path: ./
# - uses: codecov/codecov-action@v5
# with:
# files: coverage.xml
# flags: unittests
# name: codecov-umbrella
# fail_ci_if_error: true
# token: ${{ secrets.CODECOV_TOKEN }}