# 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-20.04 # steps: # - uses: actions/checkout@v2 # - name: Set up Python # uses: actions/setup-python@v2 # with: # python-version: "3.9" # - name: Install poetry # run: pip install poetry # - name: Build package # run: poetry build # - name: Install package # run: pip3 install dist/oss_red_flag_checker-*.tar.gz # - name: Run package # run: | # ossrfc --version # ossrfc --help # Run tool against own repository selftest: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install dependencies uses: ./.gitea/actions/poetrybuild - name: Try to run app run: poetry run seafile-mirror --help # PYLINT / BLACK / ISORT / MYPY pylint: runs-on: ubuntu-20.04 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-20.04 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-20.04 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