mirror of
https://github.com/Cian-H/invenio-config-iform.git
synced 2025-12-22 21:11:57 +00:00
* global: migrate setup.py to setup.cfg * global: clean up copyright notices and tests * migrate to use black as opinionated auto formater * add .git-blame-ignore-revs
67 lines
1.9 KiB
YAML
67 lines
1.9 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: master
|
|
pull_request:
|
|
branches: master
|
|
schedule:
|
|
# * is a special character in YAML so you have to quote this string
|
|
- cron: '0 3 * * 6'
|
|
workflow_dispatch:
|
|
inputs:
|
|
reason:
|
|
description: 'Reason'
|
|
required: false
|
|
default: 'Manual trigger'
|
|
|
|
jobs:
|
|
Tests:
|
|
runs-on: ubuntu-20.04
|
|
strategy:
|
|
matrix:
|
|
python-version: [3.8, 3.9]
|
|
requirements-level: [pypi]
|
|
db-service: [postgresql13]
|
|
search-service: [elasticsearch7]
|
|
include:
|
|
- db-service: postgresql13
|
|
DB_EXTRAS: "postgresql"
|
|
|
|
- search-service: elasticsearch7
|
|
SEARCH_EXTRAS: "elasticsearch7"
|
|
|
|
env:
|
|
DB: ${{ matrix.db-service }}
|
|
SEARCH: ${{ matrix.search-service }}
|
|
EXTRAS: tests,${{ matrix.SEARCH_EXTRAS }}
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v2
|
|
|
|
- name: Set up Python ${{ matrix.python-version }}
|
|
uses: actions/setup-python@v2
|
|
with:
|
|
python-version: ${{ matrix.python-version }}
|
|
|
|
- name: Generate dependencies
|
|
run: |
|
|
pip install wheel requirements-builder
|
|
requirements-builder -e "$EXTRAS" --level=${{ matrix.requirements-level }} setup.py > .${{ matrix.requirements-level }}-${{ matrix.python-version }}-requirements.txt
|
|
- name: Cache pip
|
|
uses: actions/cache@v2
|
|
with:
|
|
path: ~/.cache/pip
|
|
key: ${{ runner.os }}-pip-${{ hashFiles('.${{ matrix.requirements-level }}-${{ matrix.python-version }}-requirements.txt') }}
|
|
|
|
- name: Install dependencies
|
|
run: |
|
|
pip install -r .${{ matrix.requirements-level }}-${{ matrix.python-version }}-requirements.txt
|
|
pip install ".[$EXTRAS]"
|
|
pip freeze
|
|
docker --version
|
|
docker-compose --version
|
|
- name: Run tests
|
|
run: |
|
|
./run-tests.sh
|