albertyw/git-browse

View on GitHub
.drone.yml

Summary

Maintainability
Test Coverage
kind: pipeline
type: docker
name: test

steps:
  - name: fetch
    image: alpine/git
    commands:
      - git fetch --tags

  - name: Test Python
    depends_on:
      - fetch
    image: python:3.12
    commands:
      - curl -L "https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-$(dpkg --print-architecture)" > "${HOME}/bin/cc-test-reporter"
      - chmod +x "${HOME}/bin/cc-test-reporter"
      - pip install -e .[test]
      - ruff check .
      - mypy .
      - cc-test-reporter before-build
      - coverage run -m unittest
      - exitcode="$?"
      - coverage report -m
      - coverage xml
      - cc-test-reporter after-build --exit-code "$exitcode"
    environment:
      CC_TEST_REPORTER_ID: 3ed7f5ff3362f31338e19d26a3641748d004a598d0e68d67ecdcf4cb632b3cdb

  - name: Test Python Packaging
    image: python:3.12
    commands:
      - pip install build twine
      - python -m build
      - twine check --strict dist/*

  - name: Upload Python
    depends_on:
      - Test Python
      - Test Python Packaging
    environment:
      TWINE_USERNAME:
        from_secret: twine_username
      TWINE_PASSWORD:
        from_secret: twine_password
    image: python:3.12
    commands:
      - pip install build twine
      - python -m build
      - twine upload dist/*
    when:
      event:
        - tag