mkdocs-semiliterate/.drone.yml

109 lines
3.5 KiB
YAML
Raw Permalink Normal View History

---
### develop
# ## Developing
#
# You can clone the repository with
# ```
# git clone https://code.studioinfinity.org/glen/mkdocs-semiliterate
# ```
#
# For the remaining steps, it may be easiest to do them in a python
# virtual environment. If you put the virtual environment in `.venv` at
# the top level of the project, it will not disrupt any of the tests.
# Remember to activate your virtual environment before doing the testing.
###
kind: pipeline
name: bootstrap
steps:
- name: fetch tags
image: alpine/git
commands:
- git fetch --tags
- name: build_install_test
image: python
commands:
- python --version
- pwd
- pip install flake8
### develop
# You can build the distribution with
# ```
- pip install build
- python -m build .
# ```
# That will produce a `.whl` file in the `dist` subdirectory.
###
- pip install dist/mkdocs_semiliterate*.whl
### develop
# ### Testing
#
# If you have a Docker daemon running on your local machine and the Drone
# [command-line](https://readme.drone.io/cli/install) installed, you can run all
# of the tests via `drone exec`. If not, or if you don't want to wait for the
# Docker container to spin up and install all of the prerequisites, you can make
# sure you have the version of mkdocs-semiliterate that you want to test
# currently properly installed in the python you are currently running, and then
# starting from the top-level `mkdocs-semiliterate` directory, run the commands
# that drone uses to test:
# ```
- flake8 --max-line-length=80 --extend-exclude=build --extend-exclude=.venv
- mkdocs build
- find site -not -path '*fonts*' -not -path '*img*' -not -path '*js*' | sort -f | diff tests/bootstrap.manifest -
- bash tests/sites.bash
# ```
# All of the commands should succeed and none of the diffs should produce any
# output.
###
- name: validate
image: klakegg/html-proofer:latest
volumes:
- site: /src
command: ['--url-ignore', 'https://fonts.gstatic.com', '--allow-hash-href',
'--file-ignore', './site/404.html,/.*tests.*/']
- name: pre_deploy
image: debian
commands:
- mv site semiliterate
when:
event: [promote]
target: [release]
- name: deploy
image: appleboy/drone-scp
settings:
host: studioinfinity.org
user: bitnami
key:
from_secret: bitnami_key
target: /opt/bitnami/apps/wordpress/htdocs/
source: semiliterate
when:
event: [promote]
target: [release]
### develop
# ### Contributing
#
# You can report issues at the
# [repository site](https://code.studioinfinity.org/glen/mkdocs-semiliterate).
# Pull requests are welcome as well. If you're new to contributing to open-source
# projects, `mkdocs-simple-plugin` has a very nice
# [tutorial](https://althack.dev/mkdocs-simple-plugin/v{! setup.cfg { extract: {start: 'mkdocs~=', stop: '(\d*\.\d*\.?\d*)'}} !}/CONTRIBUTING/).
#
# ### Publishing
#
# This package is published to [PyPI](https://pypi.org/project/mkdocs-semiliterate/)
# using [twine](https://twine.readthedocs.io). Mostly to jog the developer's
# memory, when a new release is freshly built, the command to update PyPI is
# `twine upload dist/*`. Also don't forget to create a fresh release on the
2024-11-02 19:50:25 +00:00
# repository site as well. Finally, you can manually upload the new doc pages
# for mkdocs-semiliterate itself so the pages can be served by moving the
# newly-produced `site` directory to `semiliterate` and then executing
#
# `scp -r -i [IDENTITY_FILE] semiliterate [USER]@[SERVER]:/opt/bitnami/apps/wordpress/htdocs`
#
###