Skip to content

Task 10 — Add CI and release workflows for Beacon UPM package#9

Open
KostasBan wants to merge 1 commit into
developmentfrom
codex/add-ci-pipeline-and-release-workflow-for-upm
Open

Task 10 — Add CI and release workflows for Beacon UPM package#9
KostasBan wants to merge 1 commit into
developmentfrom
codex/add-ci-pipeline-and-release-workflow-for-upm

Conversation

@KostasBan

Copy link
Copy Markdown
Owner

Motivation

  • Provide DevOps signals and automated validation for the UPM package by adding CI that runs tests and a release workflow that supports tagged releases and changelog-driven release notes.
  • Keep the changes limited to DevOps, documentation, and package metadata so runtime code is not modified.

Description

  • Add a CI workflow at .github/workflows/ci.yml that triggers on PRs to main/develop and pushes to develop, runs Unity EditMode tests with game-ci/unity-test-runner, uploads test artifacts, and validates the UPM package manifest and archive artifact.
  • Add a Release workflow at .github/workflows/release.yml that supports workflow_dispatch with a required version input and v* tag pushes, updates Packages/com.kbanakakis.beacon/package.json version, inserts a templated changelog section, tags the repo (vX.Y.Z), and creates a GitHub Release with notes derived from CHANGELOG.md.
  • Update Packages/com.kbanakakis.beacon/package.json to include documentationUrl, changelogUrl, licensesUrl, and repository metadata while preserving existing fields and samples.
  • Add contributor documentation and release scaffolding by creating CONTRIBUTING.md and CHANGELOG.md with an Unreleased section and Added / Changed / Fixed template.

Testing

  • Ran jq . Packages/com.kbanakakis.beacon/package.json to validate the updated package manifest, and the check succeeded.
  • Attempted to parse the workflow YAML files with Python yaml.safe_load, but the environment lacked PyYAML so the check could not run there.
  • Attempted to parse the workflows with Ruby’s YAML loader which failed on GitHub Actions expression syntax, so local YAML parsing is not fully reliable for Actions files but the workflows are syntactically structured for GitHub Actions usage.

Codex Task

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 5db33c83b4

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread .github/workflows/ci.yml
Comment on lines +22 to +24
UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}
UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }}
UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }}

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Guard Unity tests when PRs lack license secrets

This workflow runs on every pull_request, but the Unity step depends on UNITY_LICENSE, UNITY_EMAIL, and UNITY_PASSWORD from repository secrets; on fork-based PRs, GitHub does not expose those secrets, so game-ci/unity-test-runner will fail even when the change is valid. That makes external contributions consistently red unless maintainers intervene, so the Unity job should be conditionally skipped or switched to a non-secret path when those secrets are unavailable.

Useful? React with 👍 / 👎.

Comment on lines +55 to +57
### Added
- TBD

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Eliminate placeholder changelog text before tagging

In the prepare-release path, the new version section is auto-created with - TBD entries and the workflow immediately commits and tags, after which github-release reads that section to build the published release body. When maintainers run workflow_dispatch for a new version without pre-authoring notes, the released notes will include placeholders instead of actual changes; this should either fail fast on placeholder content or derive real notes from Unreleased before tagging.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant