Skip to content

[Feature] CI/CD Pipeliine for automated build and tests #1783

@thijs-hakkenberg

Description

@thijs-hakkenberg

CI/CD Pipeline Analysis

What Exists

GitHub Actions Workflow (.github/workflows/buildAndOptionalRelease.yml):

  • Trigger: Manual only (workflow_dispatch) - no automatic builds on push/PR
  • Platforms: Windows, macOS, Linux, Android (all configurable)
  • Build Environment: Windows runner with Unity 2019.4.41f1
  • Artifacts: Uploads build logs and distributable packages (.zip, .7z, .exe installer, .tar.gz, .apk)
  • Release: Optional release creation to GitHub Releases (supports draft/pre-release flags)

Build Scripts:

  • build.ps1 - PowerShell build script
  • build.bat - Batch file wrapper

What Does NOT Exist

Missing Component Status
Automated tests ❌ None
Auto-trigger on push/PR ❌ Manual only
Code linting/style checks ❌ None
Static analysis ❌ None
Security scanning ❌ None
Dependency auditing ❌ None
Test coverage ❌ None
Branch protection Unknown (not in repo config)

Summary

The CI/CD pipeline is build-focused only. It provides:

  • Multi-platform build automation (when manually triggered)
  • Release packaging and publishing

It lacks:

  • Any form of automated testing
  • Continuous integration (no auto-triggers)
  • Quality gates or checks

CI/CD Improvement Plan for Valkyrie

Overview

Add comprehensive CI/CD with automated testing, PR triggers, and code quality checks.

 Current State

 - Manual-only builds via workflow_dispatch
 - No automated tests
 - No code quality checks
 - Unity Test Framework installed but unused

 ---
 Implementation Phases

 Phase 1: PR-Triggered CI Workflow

 File: .github/workflows/ci.yml (new)

 Create a lightweight CI workflow that runs on PRs to master:
 - Triggers: pull_request to master branch
 - Jobs:
   a. Build libraries (fast feedback)
   b. Run library tests
   c. Run Unity tests (edit mode)
   d. Code quality checks

 on:
   pull_request:
     branches: [master]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions