diff --git a/.github/workflows/build-and-publish-doc.yml b/.github/workflows/build-and-publish-doc.yml new file mode 100644 index 0000000..fa54c68 --- /dev/null +++ b/.github/workflows/build-and-publish-doc.yml @@ -0,0 +1,38 @@ +name: Build and Deploy Docs + +on: + push: + branches: + - main + pull_request: + branches: + - main + workflow_dispatch: + +jobs: + build-and-test: + runs-on: ubuntu-latest + container: + image: ghcr.io/${{ github.repository_owner }}/embedded-lib-dev:latest + + permissions: + contents: write + + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Build Doxygen + run: doxygen Doxyfile + working-directory: ./doc + + - name: Build Sphinx HTML + run: sphinx-build -b html ./source ./build + working-directory: ./doc + + - name: Deploy to GitHub Pages + uses: peaceiris/actions-gh-pages@v3 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: doc/build diff --git a/README.md b/README.md index c88c875..d3f6ebc 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ ## EmbeddedLib: Generic Embedded Software Library [![Tests](https://github.com/emilcode-dev/embedded-lib/actions/workflows/build-test.yml/badge.svg)](https://github.com/emilcode-dev/embedded-lib/actions/workflows/build-test.yml) [![Build Devcontainer Image](https://github.com/emilcode-dev/embedded-lib/actions/workflows/devcontainer.yml/badge.svg)](https://github.com/emilcode-dev/embedded-lib/actions/workflows/devcontainer.yml) +[![Build and Deploy Docs](https://github.com/emilcode-dev/embedded-lib/actions/workflows/build-and-publish-doc.yml/badge.svg)](https://github.com/emilcode-dev/embedded-lib/actions/workflows/build-and-publish-doc.yml) EmbeddedLib is a modular C/C++ library designed for embedded software projects. It provides reusable components, build/test automation with CMake, and packaging via Conan. The repository supports both development and production builds, integrates with JFrog Artifactory for package management, and includes documentation generation tools. This project aims to streamline embedded development workflows and promote code reuse across projects. @@ -95,4 +96,5 @@ sphinx-build ./source ./build ### Outlook -- [ ] Add \ No newline at end of file +- [ ] Extend READMe.md +- [ ] Publish package to another remote after jfrog trial has expired \ No newline at end of file