add some first CI tests and pilots
This commit is contained in:
23
.gitea/poetrybuild/action.yaml
Normal file
23
.gitea/poetrybuild/action.yaml
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
# SPDX-FileCopyrightText: 2023 DB Systel GmbH
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
name: "Reusable Poetry build workflow"
|
||||||
|
inputs:
|
||||||
|
python:
|
||||||
|
default: "3.9"
|
||||||
|
description: "Value for 'python-version'"
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
runs:
|
||||||
|
using: "composite"
|
||||||
|
steps:
|
||||||
|
- name: Set up Python
|
||||||
|
uses: actions/setup-python@v2
|
||||||
|
with:
|
||||||
|
python-version: ${{ inputs.python }}
|
||||||
|
- name: Install dependencies
|
||||||
|
run: |
|
||||||
|
pip install poetry
|
||||||
|
poetry install --no-interaction
|
||||||
|
shell: bash
|
||||||
14
.gitea/workflows/publish.yaml
Normal file
14
.gitea/workflows/publish.yaml
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
name: Python package
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- "v*.*.*"
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
- name: Build and publish to pypi
|
||||||
|
uses: https://github.com/JRubics/poetry-publish@v1.17
|
||||||
|
with:
|
||||||
|
pypi_token: ${{ secrets.PYPI_TOKEN }}
|
||||||
104
.gitea/workflows/test.yaml
Normal file
104
.gitea/workflows/test.yaml
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
# 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
|
||||||
|
- uses: ./.github/actions/poetrybuild
|
||||||
|
- name: Check own repository in DEBUG mode
|
||||||
|
run: poetry run seafile-mirror --help
|
||||||
|
|
||||||
|
# pytest:
|
||||||
|
# runs-on: ubuntu-20.04
|
||||||
|
# steps:
|
||||||
|
# - uses: actions/checkout@v2
|
||||||
|
# - uses: ./.github/actions/poetrybuild
|
||||||
|
# - name: Test with pytest
|
||||||
|
# run: poetry run pytest
|
||||||
|
|
||||||
|
# pylint:
|
||||||
|
# runs-on: ubuntu-20.04
|
||||||
|
# steps:
|
||||||
|
# - uses: actions/checkout@v2
|
||||||
|
# - uses: ./.github/actions/poetrybuild
|
||||||
|
# - name: Lint with pylint
|
||||||
|
# run: poetry run pylint ossrfc/ tests/
|
||||||
|
|
||||||
|
# formatting:
|
||||||
|
# runs-on: ubuntu-20.04
|
||||||
|
# steps:
|
||||||
|
# - uses: actions/checkout@v2
|
||||||
|
# - uses: ./.github/actions/poetrybuild
|
||||||
|
# - name: Test formatting with isort and black
|
||||||
|
# run: |
|
||||||
|
# poetry run isort --check ossrfc/
|
||||||
|
# poetry run black .
|
||||||
|
|
||||||
|
# mypy:
|
||||||
|
# runs-on: ubuntu-20.04
|
||||||
|
# steps:
|
||||||
|
# - uses: actions/checkout@v2
|
||||||
|
# - uses: ./.github/actions/poetrybuild
|
||||||
|
# - name: Test typing with mypy
|
||||||
|
# run: poetry run mypy
|
||||||
|
|
||||||
|
reuse:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v3
|
||||||
|
- name: Check REUSE Compliance
|
||||||
|
uses: https://github.com/fsfe/reuse-action@v2
|
||||||
17
tests/seafile_mirror.conf.yaml
Normal file
17
tests/seafile_mirror.conf.yaml
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
# SPDX-FileCopyrightText: 2023 Max Mehl <https://mehl.mx>
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
|
||||||
|
# Example configuration file for seafile-mirror
|
||||||
|
- server: __seafile_server__
|
||||||
|
user: __seafile_user__
|
||||||
|
password: __seafile_pass__
|
||||||
|
# The default resync interval
|
||||||
|
resync_interval_days: 7
|
||||||
|
# Define the libraries which shall be synced
|
||||||
|
libs:
|
||||||
|
- name: ci-test
|
||||||
|
# ID of the Seafile library (can be seen in the web UI)
|
||||||
|
id: 558667f5-cee2-443d-8f8e-668e70a23e9f
|
||||||
|
# local directory where the mirror shall be created
|
||||||
|
dir: tests/ci-test
|
||||||
Reference in New Issue
Block a user