Skip to content

Automate the upload of website and examples archives in release drafts #859

Description

@tbouffard

Is your feature request related to a problem? Please describe.

Currently, website and examples archives are manually attached to GitHub releases. This process is tedious and error-prone:

  • Artifacts must be retrieved from a GitHub Actions job
  • Then manually renamed or adjusted
  • And finally uploaded to the draft release

The manual procedure is documented here:
https://github.com/maxGraph/maxGraph/blob/c72ac6e520d5171600d7d351fd1321d971d7b99d/packages/website/docs/development/release.md#create-the-github-release

It's easy to forget or mess up this step during a release, especially under time pressure.

Describe the solution you'd like

This process should be automated as part of the release draft creation.

  • Build or fetch the website and examples archives (like we do manually today)
  • Apply the necessary adjustments (rename, restructure, etc.)
  • Upload them directly to the release draft

This could be done inside our current workflow using ncipollo/release-action@v1, or as a separate post-build step.

This would save time, reduce the risk of manual errors, and make the release process more consistent.

Additional context

We could look into softprops/action-gh-release as an example - it supports uploading assets when a release is triggered by a tag.

The changes can be tested in process-analytics/github-actions-playground or in a dedicated test repository.

Tasks

Not exhaustive list

  • update the release workflow
  • in the build.yml workflow, we are building the storybook demo, which is already built as part of the website. The only benefits is to ensure it can be built with all OSes and to have this demo in the archive of examples.
    • We could remove it from this workflow, because the storybook demo is already available in the archive of the website
    • We never had build issues specific to a dedicated OS, so we can only build it on Ubuntu

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Fields

No fields configured for Task.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions