aboutsummaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorStephano Cetola <scetola@linuxfoundation.org>2021-12-28 14:36:02 -0800
committerGitHub <noreply@github.com>2021-12-28 14:36:02 -0800
commit27365e77cbafc7799291182fbb3a75c5a1ab3790 (patch)
tree8b8b64b735c2cae046c2501398d2c737a71ad4cf /.github
parent1647721d81ec5dcf4e2fa21b879fe6efd4c4159d (diff)
downloadriscv-isa-manual-27365e77cbafc7799291182fbb3a75c5a1ab3790.zip
riscv-isa-manual-27365e77cbafc7799291182fbb3a75c5a1ab3790.tar.gz
riscv-isa-manual-27365e77cbafc7799291182fbb3a75c5a1ab3790.tar.bz2
Add yaml file for build automation (#801)
Add GitHub workflow for building the Asciidoc Unprivileged ISA pdf. Signed-off-by: Stephano Cetola <scetola@linuxfoundation.org>
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/build-pdf.yml58
1 files changed, 58 insertions, 0 deletions
diff --git a/.github/workflows/build-pdf.yml b/.github/workflows/build-pdf.yml
new file mode 100644
index 0000000..ed2140b
--- /dev/null
+++ b/.github/workflows/build-pdf.yml
@@ -0,0 +1,58 @@
+# This workflow installs dependencies for PDF generation, generates the PDF,
+# and uploads the PDF as an artifact.
+
+name: Build Document PDF
+
+on:
+ push:
+ branches: [ convert2adoc ]
+ pull_request:
+ branches: [ convert2adoc ]
+ workflow_dispatch:
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ env:
+ APT_PACKAGES_FILE: ${{ github.workspace }}/dependencies/apt_packages.txt
+ BUNDLE_GEMFILE: ${{ github.workspace }}/dependencies/Gemfile
+ BUNDLE_BIN: ${{ github.workspace }}/bin
+ NPM_PACKAGE_FOLDER: ${{ github.workspace }}/dependencies
+ PDF_RESULT: unpriv-isa-asciidoc.pdf
+ steps:
+ - uses: actions/checkout@v2
+ - name: Install Ubuntu packages
+ run: |
+ sudo apt-get update
+ grep -vE '^#' ${APT_PACKAGES_FILE} | xargs sudo apt-get install --yes --no-install-recommends
+ # Ruby for asciidoctor
+ - name: Setup Ruby and Gemfile content
+ uses: ruby/setup-ruby@v1
+ with:
+ ruby-version: "2.6"
+ bundler-cache: true
+ # Node.js for wavedrom
+ - uses: actions/cache@v2
+ with:
+ path: ~/.npm
+ key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
+ restore-keys: |
+ ${{ runner.os }}-node-
+ - name: Setup Node.js
+ uses: actions/setup-node@v2
+ with:
+ node-version: '14'
+ - name: Install Node.js dependencies
+ run: npm install ${NPM_PACKAGE_FOLDER}
+ - name: Generate PDF
+ working-directory: ./build
+ run: |
+ PATH=${PATH}:${BUNDLE_BIN}:$(npm bin) \
+ make
+ - name: Archive PDF result
+ uses: actions/upload-artifact@v2
+ with:
+ name: ${{ env.PDF_RESULT }}
+ path: ./build/${{ env.PDF_RESULT }}
+ retention-days: 7