diff --git a/.github/workflows/ci-python.yml b/.github/workflows/ci-python.yml index 73aebf2..069cbb9 100644 --- a/.github/workflows/ci-python.yml +++ b/.github/workflows/ci-python.yml @@ -1,75 +1,43 @@ -name: Build and test Python package +name: Check and test Python project on: push: - branches: [ main ] + branches: + - main pull_request: - branches: [ main ] jobs: - linting: - name: Linting - runs-on: 'ubuntu-latest' + lint-and-test: strategy: - matrix: - python-version: + matrix: + python-version: - "3.7" - "3.8" - "3.9" - "3.10" - "3.11" - steps: - - uses: actions/checkout@v3 - - name: Set up Python ${{ matrix.python-version }} - uses: greenbone/actions/lint-python@v2 - with: - packages: autohooks tests - python-version: ${{ matrix.python-version }} - type-checking: - name: Type-checker - runs-on: 'ubuntu-latest' - strategy: - matrix: - python-version: - - "3.7" - - "3.8" - - "3.9" - - "3.10" - - "3.11" - steps: - - uses: actions/checkout@v3 - - name: Set up Python ${{ matrix.python-version }} - uses: greenbone/actions/mypy-python@v2 - with: - packages: autohooks - python-version: ${{ matrix.python-version }} - test: - name: Run all tests - runs-on: 'ubuntu-latest' - strategy: - matrix: - python-version: - - "3.7" - - "3.8" - - "3.9" - - "3.10" - - "3.11" - steps: - - uses: actions/checkout@v3 - - name: Install poetry and dependencies - uses: greenbone/actions/poetry@v2 - with: - python-version: ${{ matrix.python-version }} - - name: Run unit tests - run: poetry run python -m unittest + + name: Check and test + uses: greenbone/workflows/.github/workflows/ci-python.yml@main + with: + lint-packages: autohooks tests + python-version: ${{ matrix.python-version }} + codecov: name: Upload coverage to codecov.io - needs: test - runs-on: 'ubuntu-latest' + # run action directly because GitHub has an internal error when using our + # generic reusable workflow + runs-on: "ubuntu-latest" steps: - uses: actions/checkout@v3 - - name: Calculate and upload coverage to codecov.io + - name: Install and calculate and upload coverage to codecov.io uses: greenbone/actions/coverage-python@v2 with: python-version: "3.10" + cache: "true" + token: ${{ secrets.CODECOV_TOKEN }} + + versioning: + name: Check versioning + uses: greenbone/workflows/.github/workflows/check-version.yml@main diff --git a/.github/workflows/deploy-pypi.yml b/.github/workflows/deploy-pypi.yml index 628eacc..b31d0b7 100644 --- a/.github/workflows/deploy-pypi.yml +++ b/.github/workflows/deploy-pypi.yml @@ -6,9 +6,5 @@ on: jobs: deploy: - runs-on: ubuntu-latest - steps: - - name: Build and publish to PyPI - uses: greenbone/actions/pypi-upload@v2 - with: - pypi-token: ${{ secrets.PYPI_TOKEN }} + uses: greenbone/workflows/.github/workflows/deploy-pypi.yml@main + secrets: inherit diff --git a/.github/workflows/release-pontos.yml b/.github/workflows/release-pontos.yml index b13bde5..5613961 100644 --- a/.github/workflows/release-pontos.yml +++ b/.github/workflows/release-pontos.yml @@ -1,4 +1,4 @@ -name: Release Python package with pontos +name: Release Python package on: pull_request: @@ -7,27 +7,6 @@ on: jobs: build-and-release: - name: Create a new release with pontos - # If the event is a workflow_dispatch or the label 'make release' is set and PR is closed because of a merge - if: (github.event_name == 'workflow_dispatch') || (contains( github.event.pull_request.labels.*.name, 'make release') && github.event.pull_request.merged == true) - runs-on: "ubuntu-latest" - steps: - - name: Setting the Reference - run: | - if [[ "${{ github.event_name }}" = "workflow_dispatch" ]]; then - echo "RELEASE_REF=${{ github.ref_name }}" >> $GITHUB_ENV - else - echo "RELEASE_REF=${{ github.base_ref }}" >> $GITHUB_ENV - fi - - name: Release with release action - uses: greenbone/actions/release@v2 - with: - conventional-commits: true - github-user: ${{ secrets.GREENBONE_BOT }} - github-user-mail: ${{ secrets.GREENBONE_BOT_MAIL }} - github-user-token: ${{ secrets.GREENBONE_BOT_TOKEN }} - gpg-key: ${{ secrets.GPG_KEY }} - gpg-fingerprint: ${{ secrets.GPG_FINGERPRINT }} - gpg-passphrase: ${{ secrets.GPG_PASSPHRASE }} - strategy: calendar - ref: ${{ env.RELEASE_REF }} + name: Create a new release + uses: greenbone/workflows/.github/workflows/release-python.yml@main + secrets: inherit diff --git a/pyproject.toml b/pyproject.toml index 9422993..b5ce94a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -81,4 +81,5 @@ pre-commit = ['autohooks.plugins.black', 'autohooks.plugins.isort', 'autohooks.p version-module-file = "autohooks/plugins/pylint/__version__.py" [tool.mypy] +files = "autohooks" ignore_missing_imports = true