Skip to content

Publish GraalPy Embedding javadocs to gh-pages branch#53

Merged
fniephaus merged 6 commits intooracle:release/graal-vm/25.0from
olyagpl:og/apidocs
Feb 19, 2026
Merged

Publish GraalPy Embedding javadocs to gh-pages branch#53
fniephaus merged 6 commits intooracle:release/graal-vm/25.0from
olyagpl:og/apidocs

Conversation

@olyagpl
Copy link
Member

@olyagpl olyagpl commented Feb 17, 2026

Add a workflow that will build publish only GraalPy Embedding javadocs to the gh-pages branch
Run only on push action to release/graal-vm/25.0
Tested the workflow from this fork and the pages are published as expected at https://olyagpl.github.io/graalpy-extensions/org.graalvm.python.embedding/module-summary.html:
Screenshot 2026-02-17 at 14 08 34

Task: GR-71198

@oracle-contributor-agreement oracle-contributor-agreement bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Feb 17, 2026
@@ -0,0 +1,41 @@
name: Publish GraalPy Embedding API Docs
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@steve-s , @fniephaus , @timfel please review

Copy link
Member Author

@olyagpl olyagpl Feb 17, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The workflow won't run against the main branch because Maven can't find GraalPy artifact version 25.1.
Next steps, if I understand well, are:

  1. Add .github/workflows/apidocs.yml to the main branch too;
  2. Create and push an orphan gh-pages branch with some placeholder(GA can't push to a branch that doesn’t exist yet.)
  3. Go to Settings under this main repository -> Pages -> Deploy from a branch -> select gh-pages

@fniephaus, does it sound right?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just opened a PR for the main branch #54.
@steve-s, can you please create and push an orphan gh-pages branch with some placeholder? I can't do push directly to the repo.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.


- name: Copy over GraalPy API Docs
run: |
echo "Hello" > gh-pages/index.html
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks like leftover debugging code?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, now it's gone. Thank you!

@@ -0,0 +1,41 @@
name: Publish GraalPy Embedding API Docs
on: [push]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe this can be:

on:
  push:
    branches:
      - "release/**"

and we can push the workflow also to master (from which we'll be branching future release branches too)


- name: Copy over GraalPy API Docs
run: |
cp -R org.graalvm.python.embedding/target/reports/apidocs/* gh-pages/
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similar to the NBTs, we should deploy into a version-specific subdirectory. Not sure how to best determine the concrete version. Maybe @steve-s has an idea?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

./mvnw help:evaluate -Dexpression=revision -q -DforceStdout

gives out the version including -SNAPSHOT if present. On the release branch it should give 25.0.2. So something like this can work (depending on the directory structure we want):

cp -R org.graalvm.python.embedding/target/reports/apidocs/* gh-pages/$(./mvnw help:evaluate -Dexpression=revision -q -DforceStdout)

Copy link
Member Author

@olyagpl olyagpl Feb 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let me try.

- name: Build GraalPy Embedding API docs with commit ID
run: |
./mvnw -pl org.graalvm.python.embedding -am -DskipTests package javadoc:javadoc
COMMIT=$(git rev-parse --short HEAD)
Copy link
Member Author

@olyagpl olyagpl Feb 18, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@fniephaus, this modification will print the exact version and commit ID in the doc header, like this:

Image

Is that what we want to achieve? Similar to https://www.graalvm.org/25.0/javadoc/sdk/

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Plus the apidocs will be placed in a version-specific directory:
https:///.../graalpy-extensions/25.0.2/org.graalvm.python.embedding/module-summary.html

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@fniephaus fniephaus merged commit b25d2ed into oracle:release/graal-vm/25.0 Feb 19, 2026
olyagpl added a commit to olyagpl/graalpy-extensions that referenced this pull request Feb 19, 2026
olyagpl added a commit to olyagpl/graalpy-extensions that referenced this pull request Feb 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

OCA Verified All contributors have signed the Oracle Contributor Agreement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants