data-driven historical perspective section #154
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Manubot | |
| on: | |
| push: | |
| branches: [main, master] | |
| pull_request: | |
| branches: [main, master] | |
| workflow_dispatch: | |
| inputs: | |
| BUILD_PDF: | |
| type: boolean | |
| description: generate PDF output | |
| default: true | |
| BUILD_DOCX: | |
| type: boolean | |
| description: generate DOCX output | |
| default: false | |
| BUILD_LATEX: | |
| type: boolean | |
| description: generate LaTeX output | |
| default: false | |
| SPELLCHECK: | |
| type: boolean | |
| description: Check spelling | |
| default: true | |
| MANUBOT_USE_DOCKER: | |
| type: boolean | |
| description: Use Docker to generate PDF | |
| default: true | |
| jobs: | |
| manubot: | |
| name: Manubot | |
| runs-on: ubuntu-latest | |
| permissions: | |
| contents: write | |
| env: | |
| GITHUB_PULL_REQUEST_SHA: ${{ github.event.pull_request.head.sha }} | |
| SPELLCHECK: true | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Set Environment Variables (Workflow Dispatch) | |
| if: github.event_name == 'workflow_dispatch' | |
| run: | | |
| echo "BUILD_PDF=${{ github.event.inputs.BUILD_PDF }}" >> $GITHUB_ENV | |
| echo "BUILD_DOCX=${{ github.event.inputs.BUILD_DOCX }}" >> $GITHUB_ENV | |
| echo "BUILD_LATEX=${{ github.event.inputs.BUILD_LATEX }}" >> $GITHUB_ENV | |
| echo "SPELLCHECK=${{ github.event.inputs.SPELLCHECK }}" >> $GITHUB_ENV | |
| echo "MANUBOT_USE_DOCKER=${{ github.event.inputs.MANUBOT_USE_DOCKER }}" >> $GITHUB_ENV | |
| - name: Set Environment Variables | |
| run: | | |
| TRIGGERING_SHA=${GITHUB_PULL_REQUEST_SHA:-$GITHUB_SHA} | |
| echo "TRIGGERING_SHA_7=${TRIGGERING_SHA::7}" >> $GITHUB_ENV | |
| echo "TRIGGERING_SHA: $TRIGGERING_SHA" | |
| DEFAULT_BRANCH=${{ github.event.repository.default_branch }} | |
| echo "DEFAULT_BRANCH=${DEFAULT_BRANCH}" >> $GITHUB_ENV | |
| echo "DEFAULT_BRANCH_REF=refs/heads/$DEFAULT_BRANCH" >> $GITHUB_ENV | |
| echo "DEFAULT_BRANCH=$DEFAULT_BRANCH" | |
| - name: Cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: ci/cache | |
| key: ci-cache-${{ github.ref }} | |
| restore-keys: | | |
| ci-cache-${{ env.DEFAULT_BRANCH_REF }} | |
| - name: Setup Micromamba | |
| uses: mamba-org/setup-micromamba@v1 | |
| with: | |
| environment-file: build/environment.yml | |
| environment-name: manubot | |
| cache-environment: true | |
| - name: Install Spellcheck | |
| if: env.SPELLCHECK == 'true' | |
| run: | | |
| micromamba activate manubot | |
| bash ci/install-spellcheck.sh | |
| shell: bash -l {0} | |
| - name: Build Manuscript | |
| run: | | |
| micromamba activate manubot | |
| bash build/build.sh | |
| shell: bash -l {0} | |
| - name: Upload Artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: manuscript-${{ github.run_id }}-${{ env.TRIGGERING_SHA_7 }} | |
| path: output | |
| - name: Deploy Manuscript | |
| if: github.ref == env.DEFAULT_BRANCH_REF && github.event_name != 'pull_request' && !github.event.repository.fork | |
| env: | |
| MANUBOT_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| MANUBOT_SSH_PRIVATE_KEY: ${{ secrets.MANUBOT_SSH_PRIVATE_KEY }} | |
| CI_BUILD_WEB_URL: https://github.com/${{ github.repository }}/commit/${{ github.sha }}/checks | |
| CI_JOB_WEB_URL: https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }} | |
| run: | | |
| micromamba activate manubot | |
| bash ci/deploy.sh | |
| shell: bash -l {0} |