Skip to content

Auto-build release tarball + GitHub release on tag push #80

@Jaggob

Description

@Jaggob

Once normal CI exists (see the GitHub Actions test/lint workflow issue), the next step is automating the release-tarball build + GitHub release creation on tag push.

Today the release flow is:

  1. Bump appinfo/info.xml version, update CHANGELOG.md, commit, merge, tag.
  2. Run scripts/build-release-tarball.sh locally.
  3. gh release create v<version> dist/etherpad_nextcloud-<version>.tar.gz ... manually.

Steps 2-3 should fire automatically on push of a v* tag.

Proposed workflow

.github/workflows/release.yml triggered on push: tags: [v*]:

  1. Check out the tagged ref.
  2. composer install --no-dev to fetch any runtime deps (currently empty, but defensive).
  3. npm ci && npm run build to make sure js/ is up to date with the source.
  4. Run scripts/build-release-tarball.sh dist.
  5. Extract the matching CHANGELOG section as release notes.
  6. gh release create $TAG dist/*.tar.gz --notes-file ... --prerelease (prerelease flag based on whether the tag has -alpha/-beta/-rc).

Out of scope

  • Code-signing for App Store submission — that step still requires the private key, which lives outside CI. Tracked separately.

Acceptance

  • Pushing a v1.x.y tag produces a GitHub release with the tarball attached, no manual steps required.
  • Pre-release tags (*-alpha.*, *-beta.*, *-rc.*) auto-mark the release as pre-release.
  • Release notes pulled from the corresponding CHANGELOG section.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestpriority:lowWhen time allows / future

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions