Skip to content

Update widgets tests to integration pattern #2092

Update widgets tests to integration pattern

Update widgets tests to integration pattern #2092

Workflow file for this run

name: Ibutsu tests
on:
push:
branches:
- main
pull_request:
types: ["opened", "synchronize", "reopened"]
create:
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
- name: Install dependencies
run: pip install pre-commit
- name: Run pre-commit
run: pre-commit run --all --verbose
lint-test-frontend:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version-file: 'frontend/.nvmrc'
cache: 'yarn'
cache-dependency-path: 'frontend/yarn.lock'
- run: yarn install
working-directory: ./frontend
- run: yarn lint
working-directory: ./frontend
- name: Run tests with coverage
run: yarn test:coverage:ci
working-directory: ./frontend
- name: Upload coverage reports
uses: actions/upload-artifact@v4
if: always()
with:
name: frontend-coverage
path: frontend/coverage/
retention-days: 30
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./frontend/coverage/lcov.info
flags: frontend
name: frontend-coverage
fail_ci_if_error: false
test-backend:
runs-on: ubuntu-latest
needs: lint
strategy:
matrix:
python-version: [ "3.9", "3.10", "3.11"] # five is broken on 3.11 - celery update needed "3.11.0-alpha - 3.11"]
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install backend dependencies with Python ${{ matrix.python-version }}
working-directory: ./backend
run: |
python -m pip install --upgrade pip wheel
pip install hatch
- name: Run backend tests with coverage
working-directory: ./backend
run: hatch run test:cov
- name: Upload coverage reports
uses: actions/upload-artifact@v4
if: always()
with:
name: backend-coverage-py${{ matrix.python-version }}
path: backend/coverage.xml
retention-days: 30
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
files: ./backend/coverage.xml
flags: backend
name: backend-coverage-py${{ matrix.python-version }}
fail_ci_if_error: false
build-backend:
runs-on: ubuntu-latest
needs: test-backend
if: github.event_name == 'pull_request'
strategy:
matrix:
app: [backend, scheduler, worker]
steps:
- uses: actions/checkout@v4
- name: Build image ${{ matrix.app }}
uses: redhat-actions/buildah-build@v2
with:
context: ./backend
image: ibutsu-${{ matrix.app }}
dockerfiles: |
./backend/docker/Dockerfile.${{ matrix.app }}
build-frontend:
runs-on: ubuntu-latest
needs: lint-test-frontend
if: github.event_name == 'pull_request'
steps:
- uses: actions/checkout@v4
- name: Build frontend image
uses: redhat-actions/buildah-build@v2
with:
context: ./frontend
image: ibutsu-frontend
dockerfiles: |
./frontend/docker/Dockerfile.frontend