Skip to content

Merge pull request #6 from sarnold/doc-fixes #2

Merge pull request #6 from sarnold/doc-fixes

Merge pull request #6 from sarnold/doc-fixes #2

Workflow file for this run

name: Release
on:
push:
# release on tag push
tags:
- '*'
permissions:
contents: write
jobs:
wheels:
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash
env:
PYTHONIOENCODING: utf-8
strategy:
fail-fast: false
matrix:
os: [ubuntu-22.04]
python-version: [3.9, '3.10', '3.12']
steps:
- name: Set git crlf/eol
run: |
git config --global core.autocrlf false
git config --global core.eol lf
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Deps for system pkgs
run: |
sudo apt-get -qq update
sudo apt-get install -yqq python3-gi python3-gi-cairo gir1.2-gtk-3.0
sudo apt-get install -yqq libgirepository1.0-dev libappindicator3-dev
sudo apt-get install -yqq software-properties-common
sudo add-apt-repository -y -s ppa:nerdboy/embedded
sudo apt-get -qq update
sudo apt-get install -yqq timew-report
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip wheel
pip install tox tox-gh-actions
- name: Build dist pkgs
run: |
tox -e build
- name: Upload artifacts
if: matrix.python-version == 3.9 && runner.os == 'Linux'
uses: actions/upload-artifact@v4
with:
name: packages
path: dist
create_release:
name: Create Release
needs: [wheels]
runs-on: ubuntu-22.04
steps:
- name: Get version
id: get_version
run: |
echo "VERSION=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_ENV
echo ${{ env.VERSION }}
- uses: actions/checkout@v4
with:
fetch-depth: 0
# download all artifacts to project dir
- uses: actions/download-artifact@v4
- name: check artifacts
run: |
ls -l packages/
- name: Generate changes file
uses: sarnold/gitchangelog-action@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN}}
- name: Create release
id: create_release
uses: softprops/action-gh-release@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ env.VERSION }}
name: Release v${{ env.VERSION }}
body_path: CHANGES.md
draft: false
prerelease: false
files: |
packages/timew*
docs:
name: Release docs
needs: [create_release]
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
# sphinx really does need the GObject package deps
- name: Deps for system pkgs
run: |
sudo apt-get -qq update
sudo apt-get install -yqq python3-gi python3-gi-cairo gir1.2-gtk-3.0
sudo apt-get install -yqq libgirepository1.0-dev libappindicator3-dev
sudo apt-get install -yqq software-properties-common
sudo add-apt-repository -y -s ppa:nerdboy/embedded
sudo apt-get -qq update
sudo apt-get install -yqq timew-report
- uses: actions/setup-python@v5
with:
python-version: '3.9'
- name: Add python requirements
run: |
python -m pip install --upgrade pip
pip install tox
- name: Build docs
run: |
tox -e ldocs,docs
- uses: actions/upload-artifact@v4
with:
name: ApiDocsHTML
path: "docs/_build/html/"
- name: set nojekyll for github
run: |
sudo touch docs/_build/html/.nojekyll
- name: Deploy docs to gh-pages
if: ${{ github.event_name == 'push' }}
uses: JamesIves/github-pages-deploy-action@v4
with:
branch: gh-pages
folder: docs/_build/html/
single-commit: true