2.8 KiB
🛠️ Format Stack Name Action
This GitHub Action formats your repository name into a clean, consistent stack name that's perfect for deployments. 🚀
🤔 Why Use This Action?
When deploying stacks or services, it's crucial to have clean, consistent, and predictable naming conventions. This action takes your GitHub repository name (org/repo) and formats it into a standardized stack name, ensuring compatibility and readability in Docker, Kubernetes, or any other deployment system.
⚙️ How It Works
Given a repository name like:
my-org.cool/repo-name_example
This action will produce:
| Output | Example Result |
|---|---|
name |
my-org-cool__repo-name_example |
org |
my-org-cool |
repo |
repo-name_example |
Formatting rules:
-
Organization (
org):- Replaces dots (
.) with dashes (-) - Replaces any invalid characters with underscores (
_)
- Replaces dots (
-
Repository (
repo):- Replaces any invalid characters with underscores (
_)
- Replaces any invalid characters with underscores (
The final stack name combines the formatted organization and repository names with double underscores (__).
🚦 Inputs & Outputs
📥 Inputs
This action doesn't require any inputs. It automatically uses the current repository context.
📤 Outputs
| Output | Description | Example |
|---|---|---|
name |
Formatted stack name | my-org__my-repo |
org |
Formatted organization name | my-org |
repo |
Formatted repository name | my-repo |
🚀 Example Usage
Here's how you can easily integrate this action into your workflow:
- name: Format Stack Name 🛠️
id: stack-format
uses: your-org/format-stack-name@main
- name: Print Formatted Stack Name 📢
run: |
echo "Formatted Stack Name: ${{ steps.stack-format.outputs.name }}"
echo "Formatted Org Name: ${{ steps.stack-format.outputs.org }}"
echo "Formatted Repo Name: ${{ steps.stack-format.outputs.repo }}"
🐞 Debugging
This action provides debug logs to help you understand what's happening under the hood:
Debug: FULL_REPO=my-org.cool/repo-name_example
Debug: ORG=my-org.cool, REPO=repo-name_example
Debug: FORMATTED_ORG=my-org-cool, FORMATTED_REPO=repo-name_example
Debug: STACK_NAME=my-org-cool__repo-name_example
🙋♂️ Need Help?
If you encounter any issues or have suggestions, please open an issue or reach out directly. Let's make deployments smoother together!
Happy deploying! 🚀
— Grand