Skip to content

Commit

Permalink
ci(builds): automated builds and deployment to pages
Browse files Browse the repository at this point in the history
Use a matrix to parallelize building the docs for listed DEVFAMILY and
OS combinations. Aggregate the results to build an expected pages
artifact. Deploy the monolithic artifact to GitHub pages.

If any platform fails for any reason, the arguments and logs for that
build will be logged under a separate section of this workflow, and the
results should not be deployed.

We can't use a separate workflow for the deploy step just yet because
actions/deploy-pages does not support fetching artifacts from other
workflow runs.

Signed-off-by: Randolph Sapp <rs@ti.com>
  • Loading branch information
StaticRocket committed Dec 12, 2024
1 parent 71bdf5e commit b62e9b9
Showing 1 changed file with 98 additions and 0 deletions.
98 changes: 98 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
---
name: "build"

on:
push:
branches: [master]

concurrency:
group: ${{ github.ref_name }}
cancel-in-progress: true

defaults:
run:
shell: bash

jobs:
build:
name: Build Linux Documents
runs-on: ubuntu-latest
container:
image: ghcr.io/texasinstruments/processor-sdk-doc:latest
options: --entrypoint /bin/bash
strategy:
matrix:
os: [linux]
device:
- AM335X
- AM437X
- AM57X
- AM62AX
- AM62PX
- AM62X
- AM64X
- AM65X
- AM67
- AM68
- AM69
- CORESDK
- DRA821A
- GEN
- J7200
- J721E
- J721S2
- J722S
- J742S2
- J784S4
include:
- os: android
device: AM62PX
- os: android
device: AM62X
- os: android
device: GEN

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Build ${{ matrix.device }}
run: |
make DEVFAMILY=${{ matrix.device }} OS=${{ matrix.os }} \
VERSION=${{ github.ref_name }}
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.device }}-${{ matrix.os }}
path: build/
retention-days: 1

agregate:
name: Agregate build artifacts
runs-on: ubuntu-latest
needs: build

steps:
- name: Download all artifacts
uses: actions/download-artifact@v4
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
path: build
merge-multiple: true

- name: Upload static files as single artifact
uses: actions/upload-pages-artifact@v3
with:
path: build

deploy:
name: Deploy
runs-on: ubuntu-latest
permissions:
pages: write
id-token: write

steps:
- name: Update github page deployment
uses: actions/deploy-pages@v4

0 comments on commit b62e9b9

Please sign in to comment.