Skip to content
Snippets Groups Projects

migrate to psyplot-plugin-template

Merged Philipp S. Sommer requested to merge package-template into develop
Files
187
+ 0
113
version: 2.1
orbs:
psyplot: psyplot/psyplot-ci-orb@1.5.25
mattermost-plugin-notify: nathanaelhoun/mattermost-plugin-notify@1.2.0
executors:
default: psyplot/default
macos: psyplot/macos
parameters:
unit-test-executor:
description: Executor for the unit tests. Can be default or macos
type: string
default: default
deploy-release:
description: Deploy the comment as a new release to github and pypi
type: boolean
default: false
run-tests:
description: Run the test suite
type: boolean
default: true
build_docs:
description: Build the documentation
type: boolean
default: true
workflows:
build-and-test:
unless: << pipeline.parameters.deploy-release >>
jobs:
- psyplot/install-and-build:
name: install
exec_environment: << pipeline.parameters.unit-test-executor >>
setup_env: true
build_args: "--no-test"
build_docs: << pipeline.parameters.build_docs >>
- psyplot/test-parallel:
name: run-tests
parallelism: 1
pytest_args: --cov=psyplot_gui
run-job: << pipeline.parameters.run-tests >>
requires:
- install
- psyplot/build-docs:
name: test-docs
run-job: << pipeline.parameters.build_docs >>
builders: linkcheck
requires:
- install
- mattermost-plugin-notify/approval-notification:
name: notify-deploy
context: mattermost
message: >-
Hello @all! A workflow on https://app.circleci.com/pipelines/github/psyplot/psyplot-gui is awaiting your approval.
Please check the uploaded docs and builds prior to approval.
requires:
- run-tests
- test-docs
- hold-for-deploy:
type: approval
requires:
- notify-deploy
- psyplot/deploy-pkg:
exec_environment: << pipeline.parameters.unit-test-executor >>
context: anaconda
requires:
- hold-for-deploy
- psyplot/deploy-docs:
fingerprint: "19:54:3e:9e:7b:73:1c:45:ee:4c:7b:73:8a:46:96:3a"
run-job: << pipeline.parameters.build_docs >>
requires:
- hold-for-deploy
filters:
branches:
only: master
- psyplot/trigger-release-workflow:
context: trigger-release
filters:
branches:
only: master
requires:
- psyplot/deploy-pkg
- psyplot/deploy-docs
publish-release:
when: << pipeline.parameters.deploy-release >>
jobs:
- psyplot/create-tag:
ssh-fingerprints: "19:54:3e:9e:7b:73:1c:45:ee:4c:7b:73:8a:46:96:3a"
context: psyplot-admin
user-name: psyplot-admin
publish-release: true
publish-version-tag: true
- mattermost-plugin-notify/approval-notification:
name: notify-release
context: mattermost
message: >-
Hello @all! A new release has been created at https://github.com/psyplot/psyplot-gui/releases.
Please review it carefully, publish it and approve the upload to pypi.
requires:
- psyplot/create-tag
- hold-for-pypi:
type: approval
requires:
- notify-release
- psyplot/deploy-pypi:
context: pypi
requires:
- hold-for-pypi
filters:
branches:
only: master
Loading