Update changelog and bump ver number in toml #228
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: ci-cd | |
on: [push, pull_request] | |
jobs: | |
ci: | |
# Set up operating system | |
runs-on: ubuntu-latest | |
# Define job steps | |
steps: | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.11" | |
- name: Check-out repository | |
uses: actions/checkout@v3 | |
- name: Install poetry | |
uses: snok/install-poetry@v1 | |
- name: Install package | |
run: poetry install | |
- name: Test with pytest | |
run: poetry run pytest tests/ --cov=passwordler --cov-report=xml | |
- name: Use Codecov to track coverage | |
uses: codecov/codecov-action@v3 | |
with: | |
files: ./coverage.xml # coverage report | |
- name: Build documentation | |
run: poetry run make html --directory docs/ | |
cd: | |
# Only run this job if the "ci" job passes | |
needs: ci | |
# Only run this job if new work is pushed to "main" | |
### NOTE: REMOVE the `false` in later milestones | |
if: github.event_name == 'push' && github.ref == 'refs/heads/main' && false | |
# Set up operating system | |
runs-on: ubuntu-latest | |
# Define job steps | |
steps: | |
- name: Set up Python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: "3.11" | |
- name: Check-out repository | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Install poetry | |
uses: snok/install-poetry@v1 | |
- name: Install package | |
run: poetry install | |
- name: Install Python Semantic Release | |
run: poetry run pip install python-semantic-release | |
- name: Use Python Semantic Release to prepare release | |
env: | |
# This token is created automatically by GH Actions | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
git config user.name github-actions | |
git config user.email github-actions@github.com | |
poetry run semantic-release publish | |
### For milestone 1, no need to publish release 0.01 | |
### For later milestones, we need to setup TEST_PYPI_API_TOKEN and PYPI_API_TOKEN in the repo settings | |
- name: Publish to TestPyPI | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
user: __token__ | |
password: ${{ secrets.TEST_PYPI_API_TOKEN }} | |
repository-url: https://test.pypi.org/legacy/ | |
# skip uploading a package if a version with the same name and version number already exists on the specified package index | |
skip-existing: true | |
- name: Test install from TestPyPI | |
run: | | |
pip install \ | |
--index-url https://test.pypi.org/simple/ \ | |
--extra-index-url https://pypi.org/simple \ | |
passwordler | |
- name: Publish to PyPI | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
user: __token__ | |
password: ${{ secrets.PYPI_API_TOKEN }} | |
# skip uploading a package if a version with the same name and version number already exists on the specified package index | |
skip-existing: true |