Skip to content

Commit

Permalink
Refresh docs to prefer Github Actions to Azure Pipelines. Ref #24.
Browse files Browse the repository at this point in the history
  • Loading branch information
jaraco committed Oct 11, 2020
1 parent ce34be2 commit dcd7cbd
Showing 1 changed file with 16 additions and 11 deletions.
27 changes: 16 additions & 11 deletions skeleton.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ The features/techniques employed by the skeleton include:
- A README.rst as reStructuredText with some popular badges, but with Read the Docs and AppVeyor badges commented out
- A CHANGES.rst file intended for publishing release notes about the project
- Use of [Black](https://black.readthedocs.io/en/stable/) for code formatting (disabled on unsupported Python 3.5 and earlier)
- Integrated type checking through [mypy](https://github.com/python/mypy/).

## Packaging Conventions

Expand Down Expand Up @@ -109,9 +110,20 @@ Relies on a .flake8 file to correct some default behaviors:

The project is pre-configured to run tests through multiple CI providers.

### Github Actions

[Github Actions](https://docs.github.com/en/free-pro-team@latest/actions) are the preferred provider as they provide free, fast, multi-platform services with straightforward configuration. Configured in `.github/workflows`.

Features include:
- test against multiple Python versions
- run on late (and updated) platform versions
- automated releases of tagged commits

### Azure Pipelines

[Azure Pipelines](https://azure.microsoft.com/en-us/services/devops/pipelines/) are the preferred provider as they provide free, fast, multi-platform services. See azure-pipelines.yml for more details.
[Azure Pipelines](https://azure.microsoft.com/en-us/services/devops/pipelines/) were adopted for free, fast, multi-platform services. See azure-pipelines.yml for more details.

Azure Pipelines require many [complicated setup steps](https://github.com/Azure/azure-devops-cli-extension/issues/968) that have not been readily automated.

Features include:

Expand All @@ -133,20 +145,13 @@ A minimal template for running under AppVeyor (Windows) is provided.

### Continuous Deployments

In addition to running tests, an additional deploy stage is configured to automatically release tagged commits to PyPI using [API tokens](https://pypi.org/help/#apitoken). The release process expects an authorized token to be configured with Azure as the `Azure secrets` variable group. This variable group needs to be created only once per organization. For example:
In addition to running tests, an additional publish stage is configured to automatically release tagged commits to PyPI using [API tokens](https://pypi.org/help/#apitoken). The release process expects an authorized token to be configured with each Github project (or org) `PYPI_TOKEN` [secret](https://docs.github.com/en/free-pro-team@latest/actions/reference/encrypted-secrets). Example:

```
# create a resource group if none exists
az group create --name main --location eastus2
# create the vault (try different names until something works)
az keyvault create --name secrets007 --resource-group main
# create the secret
az keyvault secret set --vault-name secrets007 --name PyPI-token --value $token
pip-run -q setuptools jaraco.develop -- -m jaraco.develop.add-github-secret PYPI_TOKEN $TOKEN --project org/repo
```

Then, in the web UI for the project's Pipelines Library, create the `Azure secrets` variable group referencing the key vault name.

For more details, see [this blog entry](https://blog.jaraco.com/configuring-azure-pipelines-with-secets/).
<!-- note setuptools is required due to a [bug in munch](https://github.com/Infinidat/munch/issues/67) -->

## Building Documentation

Expand Down

0 comments on commit dcd7cbd

Please sign in to comment.