All checks were successful
Test suites / test-build-install (pull_request) Successful in 27s
Test suites / selftest (pull_request) Successful in 55s
Test suites / pylint (pull_request) Successful in 32s
Test suites / formatting (pull_request) Successful in 27s
Test suites / mypy (pull_request) Successful in 29s
Test suites / reuse (pull_request) Successful in 6s
93 lines
2.6 KiB
YAML
93 lines
2.6 KiB
YAML
# SPDX-FileCopyrightText: 2023 DB Systel GmbH
|
|
# SPDX-FileCopyrightText: 2023 Max Mehl <https://mehl.mx>
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
name: Test suites
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
pull_request:
|
|
|
|
jobs:
|
|
# 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 --version
|
|
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 install -y seafile-cli
|
|
- name: Configure seaf-cli and start daemon
|
|
run: |
|
|
seaf-cli init -d /tmp
|
|
seaf-cli start
|
|
- 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
|