From b9b8b3dc7cb192cfa410642d23498d8ecd4c3543 Mon Sep 17 00:00:00 2001 From: Christoph Ladurner Date: Sun, 4 Aug 2024 23:32:45 +0200 Subject: [PATCH] ci: change to reusable workflows --- .github/workflows/tests.yml | 91 +++++-------------------------------- 1 file changed, 11 insertions(+), 80 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index a85feae..dbe8cdb 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -2,7 +2,7 @@ # # This file is part of Invenio. # Copyright (C) 2020 CERN. -# Copyright (C) 2022 Graz University of Technology. +# Copyright (C) 2022-2024 Graz University of Technology. # # Invenio is free software; you can redistribute it and/or modify it # under the terms of the MIT License; see LICENSE file for more details. @@ -11,92 +11,23 @@ name: CI on: push: - branches: master + branches: + - master pull_request: - branches: master + branches: + - master schedule: # * is a special character in YAML so you have to quote this string - - cron: '0 3 * * 6' + - cron: "0 3 * * 6" workflow_dispatch: inputs: reason: - description: 'Reason' + description: "Reason" required: false - default: 'Manual trigger' + default: "Manual trigger" jobs: Tests: - runs-on: ubuntu-20.04 - strategy: - matrix: - python-version: [3.7, 3.8, 3.9] - requirements-level: [pypi] - db-service: [postgresql11, postgresql14, mysql8, sqlite] - exclude: - - python-version: 3.7 - db-service: postgresql14 - requirements-level: pypi - - - python-version: 3.7 - db-service: mysql8 - requirements-level: pypi - - - python-version: 3.8 - db-service: postgresql11 - - - python-version: 3.9 - db-service: postgresql11 - - - python-version: 3.7 - db-service: sqlite - - - python-version: 3.8 - db-service: sqlite - - include: - - db-service: postgresql11 - EXTRAS: "tests,postgresql" - - - db-service: postgresql14 - EXTRAS: "tests,postgresql" - - - db-service: mysql8 - EXTRAS: "tests,mysql" - - - db-service: sqlite - EXTRAS: "tests" - - env: - DB: ${{ matrix.db-service }} - EXTRAS: ${{ matrix.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 -c constraints-${{ matrix.requirements-level }}.txt - pip install ".[$EXTRAS]" - pip freeze - docker --version - docker-compose --version - - - name: Run tests - run: | - ./run-tests.sh + uses: inveniosoftware/workflows/.github/workflows/tests-python.yml@master + with: + extras: "tests,postgresql"