Files
seafile-mirror/.gitea/workflows/test.yaml
Max Mehl 870fe312d7
Some checks failed
Test suites / test-build-install (pull_request) Successful in 26s
Test suites / selftest (pull_request) Failing after 37s
Test suites / pylint (pull_request) Failing after 28s
Test suites / formatting (pull_request) Successful in 25s
Test suites / mypy (pull_request) Successful in 27s
Test suites / reuse (pull_request) Successful in 6s
install seaf-cli
2024-01-16 15:20:31 +01:00

108 lines
3.1 KiB
YAML

# SPDX-FileCopyrightText: 2023 DB Systel GmbH
#
# SPDX-License-Identifier: Apache-2.0
name: Test suites
on:
push:
branches:
- main
pull_request:
jobs:
# # Test using the tool via poetry on different OSes and python versions
# test-os-python-matrix:
# runs-on: ${{ matrix.os }}
# strategy:
# max-parallel: 10
# # do not abort the whole test job if one combination in the matrix fails
# fail-fast: false
# matrix:
# python-version: ["3.9", "3.10", "3.11"]
# os: [ubuntu-20.04]
# include:
# - python-version: "3.9"
# os: macos-latest
# - python-version: "3.9"
# os: windows-latest
# steps:
# - uses: actions/checkout@v2
# - uses: ./.gitea/actions/poetrybuild
# - name: Execute seafile-mirror
# run: poetry run ossrfc --help
# Test building the package and installing it via pip3
test-build-install:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install poetry
run: pip install poetry
- name: Build package
run: poetry build
- name: Install package
run: pip3 install dist/seafile_mirror-*.tar.gz
- name: Run package
run: seafile-mirror --help
# Run tool and sync a test library
selftest:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install dependencies
uses: ./.gitea/actions/poetrybuild
- name: Install seaf-cli
run: |
apt-get update
apt-get -y install seafile-cli
- name: Fill configuration for test library
run: |
sed -i "s|__seafile_server__|${{ secrets.SEAFILE_SERVER }}|" tests/seafile_mirror.conf.yaml
sed -i "s|__seafile_user__|${{ secrets.SEAFILE_USER }}|" tests/seafile_mirror.conf.yaml
sed -i "s|__seafile_pass__|${{ secrets.SEAFILE_PASS }}|" tests/seafile_mirror.conf.yaml
- name: Sync the library
run: poetry run seafile-mirror -c tests -v
- name: Attempt to find expected string in library
run: grep "__ci_test_expect__" tests/ci-test/testfile.txt
# PYLINT / BLACK / ISORT / MYPY
pylint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install dependencies
uses: ./.gitea/actions/poetrybuild
- name: Lint with pylint
run: poetry run pylint seafile_mirror
formatting:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install dependencies
uses: ./.gitea/actions/poetrybuild
- name: Test formatting with isort and black
run: |
poetry run isort --check seafile_mirror/
poetry run black .
mypy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install dependencies
uses: ./.gitea/actions/poetrybuild
- name: Test typing with mypy
run: poetry run mypy
# REUSE COMPLIANCE
reuse:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Check REUSE Compliance
uses: https://github.com/fsfe/reuse-action@v2