Skip to content

Fix generating documentation for std itself #898

Fix generating documentation for std itself

Fix generating documentation for std itself #898

Workflow file for this run

---
name: Build
on:
push:
branches:
- '**'
workflow_dispatch:
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
jobs:
lints:
uses: ./.github/workflows/lint.yml
linux:
uses: ./.github/workflows/linux.yml
mac:
uses: ./.github/workflows/mac.yml
freebsd:
uses: ./.github/workflows/freebsd.yml
nightly-container:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
needs:
- lints
- linux
- mac
- freebsd
if: |
github.repository == 'inko-lang/inko' && github.ref_name == 'main'
steps:
- uses: actions/checkout@v4
- uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- uses: docker/metadata-action@v5
id: meta
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
- uses: docker/build-push-action@v5
with:
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
docs:
runs-on: ubuntu-latest
container:
image: ghcr.io/inko-lang/inko:latest
env:
RCLONE_S3_ACCESS_KEY_ID: ${{ secrets.CLOUDFLARE_ACCESS_KEY_ID }}
RCLONE_S3_SECRET_ACCESS_KEY: ${{ secrets.CLOUDFLARE_SECRET_ACCESS_KEY }}
RCLONE_S3_ENDPOINT: https://${{ secrets.CLOUDFLARE_ACCOUNT_ID }}.r2.cloudflarestorage.com
needs:
- nightly-container
if: |
github.repository == 'inko-lang/inko' && github.ref_name == 'main'
steps:
- name: Install dependencies
run: microdnf install --quiet --assumeyes rclone git tar make
- uses: actions/checkout@v4
- uses: actions/cache@v4
with:
path: |
docs/build
~/.local/share/inko/packages
key: docs-main
# This is needed so the paths-filter action doesn't fail with a "dubious
# path" error.
- run: git config --global --add safe.directory $PWD
- uses: dorny/paths-filter@v3
id: changes
with:
filters: |
docs:
- 'docs/**'
- Makefile
- .github/workflows/push.yml
- name: Deploy the documentation
if: steps.changes.outputs.docs == 'true'
run: make docs/publish
std-docs:
runs-on: ubuntu-latest
container:
image: ghcr.io/inko-lang/ci:idoc
env:
RCLONE_S3_ACCESS_KEY_ID: ${{ secrets.CLOUDFLARE_ACCESS_KEY_ID }}
RCLONE_S3_SECRET_ACCESS_KEY: ${{ secrets.CLOUDFLARE_SECRET_ACCESS_KEY }}
RCLONE_S3_ENDPOINT: https://${{ secrets.CLOUDFLARE_ACCOUNT_ID }}.r2.cloudflarestorage.com
needs:
- lints
- linux
- mac
- freebsd
if: |
github.repository == 'inko-lang/inko' && github.ref_name == 'main'
steps:
- uses: actions/checkout@v4
- uses: actions/cache@v4
with:
path: |
~/.local/share/inko/packages
key: std-docs-main
# This is needed so the paths-filter action doesn't fail with a "dubious
# path" error.
- run: git config --global --add safe.directory $PWD
- uses: dorny/paths-filter@v3
id: changes
with:
filters: |
docs:
- 'std/**'
- .github/workflows/push.yml
- name: Deploy the documentation
if: steps.changes.outputs.docs == 'true'
run: make std-docs/publish