aboutsummaryrefslogtreecommitdiff
path: root/.github
diff options
context:
space:
mode:
authorBill Traynor <wmat@riscv.org>2023-01-30 12:50:37 -0500
committerBill Traynor <wmat@riscv.org>2023-01-30 12:50:37 -0500
commit9e10384588b31dc7ab399bac2872c0c60efe5b14 (patch)
treec891a885ad2efbf2d8471c4e94d8f8540b6c2359 /.github
parent98975c6ba778c35501dad796f108a7de81887635 (diff)
downloadriscv-isa-manual-9e10384588b31dc7ab399bac2872c0c60efe5b14.zip
riscv-isa-manual-9e10384588b31dc7ab399bac2872c0c60efe5b14.tar.gz
riscv-isa-manual-9e10384588b31dc7ab399bac2872c0c60efe5b14.tar.bz2
Adding back build-pdf.yml
Added back build-pdf.yml in order to be able to trigger it from actions.
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/build-pdf.yml75
1 files changed, 75 insertions, 0 deletions
diff --git a/.github/workflows/build-pdf.yml b/.github/workflows/build-pdf.yml
new file mode 100644
index 0000000..ba7929f
--- /dev/null
+++ b/.github/workflows/build-pdf.yml
@@ -0,0 +1,75 @@
+# This workflow installs dependencies for PDF generation, generates the PDF,
+# and uploads the PDF as an artifact.
+
+name: Build Document PDF
+
+on:
+ workflow_dispatch:
+ workflow_call:
+ outputs:
+ name:
+ description: "The base name of the pdf file (without .pdf extensions)"
+ value: ${{ jobs.build.outputs.name }}
+ pdf-name:
+ description: "The name of the pdf file (with .pdf extensions)"
+ value: ${{ jobs.build.outputs.pdf-name }}
+
+jobs:
+ build:
+ runs-on: ubuntu-latest
+
+ env:
+ NAME: unpriv-isa-asciidoc
+ 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
+ outputs:
+ name: ${{ steps.step1.outputs.name }}
+ pdf-name: ${{ steps.step2.outputs.pdf-name }}
+ if: contains(github.ref, 'riscv-isa-asciidoc')
+ steps:
+ - name: Set outputs.name
+ id: step1
+ run: echo "name=$NAME" >> $GITHUB_OUTPUT
+ - name: Set outputs.pdf-name
+ id: step2
+ run: echo "pdf-name=$NAME.pdf" >> $GITHUB_OUTPUT
+ - name: Checkout repository
+ uses: actions/checkout@v3
+ with:
+ submodules: 'true'
+ - 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@v3
+ with:
+ path: ~/.npm
+ key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
+ restore-keys: |
+ ${{ runner.os }}-node-
+ - name: Setup Node.js
+ uses: actions/setup-node@v3
+ with:
+ node-version: '16'
+ - 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@v3
+ with:
+ name: ${{ env.NAME }}.pdf
+ path: ./build/${{ env.NAME }}.pdf
+ retention-days: 7 \ No newline at end of file