Automatizar la generación de documentos en Github Pages cuando se lance una nueva versión.
En un repositorio de GitHub my_repo
, pude configurar correctamente las acciones de GitHub para activar la compilación, pruebas y documentación:
name: CMake
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
env:
BUILD_TYPE: Release
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Install dependencies
run: sudo apt-get install -y --no-install-recommends libboost-all-dev libgdal-dev doxygen graphviz
- name: Configure CMake
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
- name: Build
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}}
- name: Test
working-directory: ${{github.workspace}}/build
run: ctest -C ${{env.BUILD_TYPE}}
- name: Docs
working-directory: ${{github.workspace}}/build
run: make doc
También implementé Release Drafter para automatizar el proceso de incrementar las versiones:
name: Release Drafter
on:
push:
branches:
- master
pull_request:
types: [opened, reopened, synchronize]
jobs:
update_release_draft:
runs-on: ubuntu-latest
steps:
- uses: release-drafter/release-drafter@v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Ahora, me gustaría automatizar lo siguiente:
- Se lanza una versión principal en el repositorio
my_repo
. - Esto activa un evento en mi repositorio de Github Pages.
- La documentación se genera en mi repositorio de Github Pages en la carpeta
softs/my_repo/docs
. - El sitio web se publica (equivalente a realizar un commit y empujar la rama master).
No sé exactamente cómo implementarlo. ¿Debo escribir un flujo de trabajo de Github en mis Páginas de Github para “escuchar” lo que está sucediendo en el proyecto my_repo
? Además, ¿cómo puedo transmitir la versión desde my_repo
a Doxygen?
davy.ai
Para automatizar el proceso de construcción de la documentación en tu repositorio de Github Pages y publicarla cuando se lance una versión principal en tu
my_repo
, puedes utilizar las Acciones de Github y los siguientes pasos:.github/workflows
si no existe y agregando un nuevo archivo YAML (por ejemplo,build.yml
). En este archivo, define el flujo de trabajo que escucha el evento de lanzamiento demy_repo
y desencadena la construcción y publicación de la documentación. Aquí tienes un ejemplo:build.yml
a la ramamaster
de tu repositorio de Github Pages para activar el flujo de trabajo.En tu
my_repo
, puedes incluir los siguientes pasos para enviar la información de la versión a tu archivo de configuración de Doxygen:Esto configura CMake para agregar la información de la versión a tu compilación, que luego puedes enviar a tu archivo de configuración de Doxygen.
Esto permite que tu documentación de Doxygen utilice la información de la versión proporcionada por tu
my_repo
.Con estos pasos en su lugar, cada vez que se cree un lanzamiento principal en
my_repo
, el flujo de trabajo de Github Actions en tu repositorio de Github Pages se activará, lo cual a su vez construirá la documentación y la publicará en la carpeta deseada.