From 7c354b46e0682518152e076b1991196afbdfc494 Mon Sep 17 00:00:00 2001 From: Rene Nochebuena Date: Tue, 22 Apr 2025 23:58:47 -0600 Subject: [PATCH] Update README.md with improved structure and detailed inputs Enhanced README.md to include updated inputs, better descriptions, and additional sections for improved clarity. Added new fields for container registry authentication and refined workflow explanations for different CI/CD modes. Improved formatting for better readability and usability. --- README.md | 39 ++++++++++++++++++++++++++------------- 1 file changed, 26 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index cd88559..f7adc92 100644 --- a/README.md +++ b/README.md @@ -1,31 +1,44 @@ -# Go CI/CD Composite Action +# ⚙️ Go CI/CD Composite Action A reusable GitHub Action for Go projects, forged to handle various CI/CD scenarios like a true warrior of code. Supports protected branches, tagged releases, and minimal development flows — with optional Docker image publishing for applications. +> “We don’t just build software — we forge legacy.” + +--- + ## 🔧 Features - Multiple workflow modes: `protected`, `tag`, and `minimal` - Go version configuration -- Automatic test execution with code coverage +- Automatic test execution with coverage reporting - Build support for both libraries and applications - Conditional Docker image creation and publishing -- Composable and easy to integrate in any Go project +- Full registry authentication support +- Easy integration across all Go-based grimoires + +--- ## 📥 Inputs -| Input Name | Description | Required | Default | -|---------------------|-------------------------------------------------------------------------|----------|---------------| -| `workflow-type` | Type of CI/CD flow (`protected`, `minimal`, `tag`) | Yes | `protected` | -| `go-version` | Go version to install and use | No | `1.24` | -| `build-type` | Type of build (`application`, `library`) | No | `application` | -| `container-registry`| Container registry URL (used if publishing Docker image) | Yes | — | -| `publish-docker` | Whether to build and push Docker image (`true` / `false`) | No | `true` | +| Input Name | Description | Required | Default | +|----------------------|-----------------------------------------------------------|----------|---------------| +| `workflow-type` | Type of CI/CD flow (`protected`, `minimal`, `tag`) | Yes | `protected` | +| `go-version` | Go version to install and use | No | `1.24` | +| `build-type` | Type of build (`application`, `library`) | No | `application` | +| `container-registry` | Container registry URL (used if publishing Docker image) | Yes | — | +| `registry-username` | Your container registry username | Yes | — | +| `registry-token` | Access token or password for container registry | Yes | — | +| `publish-docker` | Whether to build and push Docker image (`true` / `false`) | No | `true` | + +--- ## ⚙️ Workflow Types -- **protected**: Full CI/CD pipeline for mainline branches. Runs tests, builds the binary, and optionally publishes a Docker image. -- **minimal**: Lean setup for pull requests or early development. Runs tests and builds only. -- **tag**: Triggered on Git tags. Behaves like `protected`, ideal for versioned releases. +- **protected** – Full battle mode. Ideal for `main`/`release` branches. Tests, builds, and publishes. +- **minimal** – Light mode for PRs and early dev. Just tests and builds. +- **tag** – Triggered on Git tags. Behaves like `protected`, meant for releases. + +--- ## 🚀 How to Use