marcus67/little_brother_taskbar

View on GitHub
.circleci/config.yml

Summary

Maintainability
Test Coverage
#    Copyright (C) 2019-2022  Marcus Rickert
#
#    See https://github.com/marcus67/python_base_app
#
#    This program is free software; you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation; either version 3 of the License, or
#    (at your option) any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License along
#    with this program; if not, write to the Free Software Foundation, Inc.,
#    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

##################################################################################
# Please, beware that this file has been generated! Do not make any changes here #
# but only to python_base_app/templates/gitlab-ci.template.yml!                  #
##################################################################################

version: 2.0

jobs:
  build_pypi:
    #working_directory: ~
    docker:
      - image: marcusrickert/docker-python-app:latest
    steps:
      - checkout

      # Check out all sub modules
      # See https://circleci.com/docs/2.0/configuration-reference/#checkout
      - run: git submodule sync
      - run: git submodule update --init
      - run: PYTHONPATH=contrib/python_base_app python3 ci_toolbox.py --execute-stage BUILD --use-dev-dir=.
      - store_artifacts:
          path: "dist/little-brother-taskbar-0.1.23.tar.gz"
      - persist_to_workspace:
          root: dist
          paths:
            - "little-brother-taskbar-0.1.23.tar.gz"
  install_pypi:
    #working_directory: ~
    docker:
      - image: marcusrickert/docker-python-app:latest
    steps:
      - checkout
      - attach_workspace:
          at: "dist"

      # Check out all sub modules
      # See https://circleci.com/docs/2.0/configuration-reference/#checkout
      - run: git submodule sync
      - run: git submodule update --init
      - run: PYTHONPATH=contrib/python_base_app python3 ci_toolbox.py --execute-stage INSTALL-PYPI-PACKAGE --use-dev-dir=.
      - run: PYTHONPATH=contrib/python_base_app python3 ci_toolbox.py --execute-stage TEST --use-dev-dir .
      - run: codecov
      - store_artifacts:
          path: htmlcov
  publish_pypi:
    #working_directory: ~
    docker:
      - image: marcusrickert/docker-python-app:latest
    steps:
      - checkout
      - attach_workspace:
          at: "dist"

      # Check out all sub modules
      # See https://circleci.com/docs/2.0/configuration-reference/#checkout
      - run: git submodule sync
      - run: git submodule update --init
      - run: PYTHONPATH=contrib/python_base_app python3 ci_toolbox.py --execute-stage PUBLISH-PYPI-PACKAGE --use-dev-dir=.

workflows:
    version: 2
    build_and_deploy:
      jobs:
        - build_pypi
        - install_pypi:
            requires:
              - build_pypi
        - publish_pypi:
            requires:
              - install_pypi
            filters:
              branches:
                only:
                  - release
                  - master