mirror of
https://github.com/jrnl-org/jrnl.git
synced 2025-06-28 21:46:13 +02:00
Add a release workflow for PyPI in CI (Github Actions) (#1095)
* Fixes for new CI pipeline (Github Actions) - Support ci skip tag on commits to avoid build dupes - Add smarter path detection so we don't spam tons of tests - Allow steps to cancel if previous steps were cancelled (don't always run) - Separate workflows to be more modular - Update release workflow to do a few more things - Add helpful messages - Be more strict in version checking (now with added regex) - Make changelog smarter about when to trigger - Add some functionality for changelog to handle releases and prereleases separately - Better error handling - Split up the version validation and the release to make way for more releases * add step in workflow to merge to release branch after a release * add check for git diff so commit doesn't error out constantly
This commit is contained in:
parent
e9d909a3ba
commit
4cad215560
4 changed files with 260 additions and 72 deletions
82
.github/workflows/docs.yaml
vendored
Normal file
82
.github/workflows/docs.yaml
vendored
Normal file
|
@ -0,0 +1,82 @@
|
|||
name: Docs
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ develop, release ]
|
||||
paths:
|
||||
- 'docs/**'
|
||||
- 'mkdocs.yml'
|
||||
- 'readthedocs.yml'
|
||||
pull_request_target:
|
||||
branches: [ develop ]
|
||||
paths:
|
||||
- 'docs/**'
|
||||
- 'mkdocs.yml'
|
||||
- 'readthedocs.yml'
|
||||
|
||||
jobs:
|
||||
accessibility:
|
||||
if: contains(toJson(github.event.commits), '[ci skip]') == false
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: 3.9
|
||||
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@main
|
||||
|
||||
- name: poetry cache
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: .venv
|
||||
key: ${{ runner.os }}-${{ hashFiles('poetry.lock') }}-${{ matrix.python-version }}
|
||||
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
pip install poetry
|
||||
poetry config --local virtualenvs.in-project true
|
||||
poetry install --no-root --remove-untracked
|
||||
npm install pa11y pa11y-reporter-junit
|
||||
|
||||
- name: Start docs server
|
||||
run: poetry run mkdocs serve &
|
||||
|
||||
- name: Accessibility testing (Pa11y)
|
||||
run: poetry run .github/workflows/pa11y.sh
|
||||
|
||||
- name: Upload Unit Test Results
|
||||
if: always()
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: Unit Test Results (pa11y)
|
||||
path: reports/pa11y/*.xml
|
||||
|
||||
publish-test-results:
|
||||
if: success() || failure()
|
||||
name: "Publish Unit Tests Results"
|
||||
needs: accessibility
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Download Artifacts
|
||||
uses: actions/download-artifact@v2
|
||||
with:
|
||||
path: artifacts
|
||||
|
||||
- name: Publish Unit Test Results
|
||||
uses: EnricoMi/publish-unit-test-result-action@v1.4
|
||||
if: always()
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
check_name: Unit Test Results
|
||||
hide_comments: all but latest
|
||||
comment_on_pr: true
|
||||
files: '**/*.xml'
|
||||
report_individual_runs: true
|
||||
deduplicate_classes_by_file_name: false
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue