backup functionality #561
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions | |
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions | |
name: Continuous integration | |
on: [push, pull_request] | |
jobs: | |
pre-commit: | |
runs-on: ubuntu-latest | |
timeout-minutes: 5 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python 3.8 | |
uses: actions/setup-python@v2 | |
with: | |
python-version: "3.8" | |
- uses: pre-commit/[email protected] | |
tests: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-latest] | |
python-version: ["3.8", "3.9", "3.10", "3.11"] | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v1 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: set up ssh key such that 'ssh localhost' works in tests | |
run: | | |
ssh-keygen -q -t rsa -b 4096 -N "" -f "${HOME}/.ssh/id_rsa" | |
ssh-keygen -y -f "${HOME}/.ssh/id_rsa" >> "${HOME}/.ssh/authorized_keys" | |
ssh localhost | |
- name: Install dependencies (including dev dependencies at frozen version) | |
# I'm using pip install -e to make sure that the coverage properly traces the runs | |
# also of the concurrent tests (maybe we can achieve this differently) | |
run: | | |
python -m pip install --upgrade pip | |
pip install -e .[progressbar,optionaltests] | |
pip install -r requirements.lock | |
- name: Test with pytest | |
# No need to run the benchmarks, they will run in a different workflow | |
# Also, run in very verbose mode so if there is an error we get a complete diff | |
run: pytest -vv --cov=disk_objectstore --benchmark-skip | |
env: | |
SQLALCHEMY_WARN_20: 1 | |
- name: Create xml coverage | |
run: coverage xml | |
- name: Upload coverage to Codecov | |
uses: codecov/codecov-action@v3 | |
with: | |
files: ./coverage.xml | |
name: disk-objectstore | |
## Commenting the following lines - if often fails, and if at least one manages to push, it should be enough | |
# fail_ci_if_error: true |