# ivuorinen/actions - My Reusable GitHub Actions and Workflows ## Overview This project contains a collection of workflows and composable actions to streamline CI/CD processes and ensure code quality. The actions are grouped by purpose for easier discovery. ## Setup & Caching - [Node Setup][node-setup]: Sets up Node.js with caching and tooling. - [PHP Composer][php-composer]: Installs PHP dependencies using Composer. - [Dotnet Version Detect][dotnet-v-detect]: Detects the required .NET version from `global.json`. - [Go Version Detect][go-version-detect]: Detects the required Go version from configuration files. - [Common Cache][common-cache]: Provides a consistent caching strategy for multiple languages. - [Set Git Config][set-git-config]: Configures Git user information for automated commits. ## Linting & Formatting ### Code Linting - [Ansible Lint and Fix][ansible-lint-fix]: Lints and fixes Ansible playbooks and roles. - [Biome Check][biome-check]: Runs Biome to lint multiple languages and formats. - [Biome Fix][biome-fix]: Automatically fixes issues detected by Biome. - [C# Lint Check][csharp-lint-check]: Lints C# code using tools like `dotnet-format`. - [ESLint Check][eslint-check]: Runs ESLint to check for code style violations. - [ESLint Fix][eslint-fix]: Automatically fixes code style issues with ESLint. - [Go Lint Check][go-lint]: Lints Go code using `golangci-lint`. - [PR Lint][pr-lint]: Runs MegaLinter against pull requests. - [Python Lint and Fix][python-lint-fix]: Lints and fixes Python code using `flake8` and `black`. - [Terraform Lint and Fix][terraform-lint-fix]: Lints and fixes Terraform configurations. ### Code Formatting - [Prettier Check][prettier-check]: Checks code formatting using Prettier. - [Prettier Fix][prettier-fix]: Automatically fixes code formatting with Prettier. - [Pre-Commit][pre-commit]: Runs `pre-commit` hooks to enforce code quality standards. ## Testing - [PHP Tests][php-tests]: Runs PHPUnit tests to ensure PHP code correctness. - [Laravel PHPUnit][php-laravel-phpunit]: Sets up Laravel and runs Composer tests. ## Build & Package - [C# Build][csharp-build]: Builds C# projects using the .NET SDK. - [Go Build][go-build]: Builds Go projects using the `go build` command. - [Docker Build][docker-build]: Builds Docker images using a Dockerfile. ## Publish & Deployment - [C# Publish][csharp-publish]: Publishes .NET projects to an output directory. - [Docker Publish][docker-publish]: Publishes Docker images to GitHub Packages and Docker Hub. - [Docker Publish to Docker Hub][docker-publish-hub]: Publishes Docker images to Docker Hub. - [Docker Publish to GitHub Packages][docker-publish-gh]: Publishes Docker images to GitHub's Container Registry. - [Publish to NPM][npm-publish]: Publishes packages to the NPM registry. ## Release Management - [GitHub Release][github-release]: Automates GitHub release creation with custom tags and notes. - [Release Monthly][release-monthly]: Creates a monthly GitHub release with autogenerated notes. ## Repository Maintenance - [Common File Check][common-file-check]: Checks for the presence of specific files based on a glob pattern. - [Compress Images][compress-images]: Optimizes and creates a pull request with compressed images. - [Stale][stale]: Closes stale issues and pull requests automatically. - [Sync Labels][sync-labels]: Syncs repository labels from a YAML file. ## License This project is licensed under the MIT License. See the [LICENSE](LICENSE.md) file for details. [ansible-lint-fix]: ansible-lint-fix/README.md [biome-check]: biome-check/README.md [biome-fix]: biome-fix/README.md [common-cache]: common-cache/README.md [common-file-check]: common-file-check/README.md [compress-images]: compress-images/README.md [csharp-build]: csharp-build/README.md [csharp-lint-check]: csharp-lint-check/README.md [csharp-publish]: csharp-publish/README.md [docker-build]: docker-build/README.md [docker-publish]: docker-publish/README.md [docker-publish-gh]: docker-publish-gh/README.md [docker-publish-hub]: docker-publish-hub/README.md [dotnet-v-detect]: dotnet-version-detect/README.md [eslint-check]: eslint-check/README.md [eslint-fix]: eslint-fix/README.md [github-release]: github-release/README.md [go-build]: go-build/README.md [go-lint]: go-lint/README.md [go-version-detect]: go-version-detect/README.md [node-setup]: node-setup/README.md [npm-publish]: npm-publish/README.md [php-composer]: php-composer/README.md [php-laravel-phpunit]: php-laravel-phpunit/README.md [php-tests]: php-tests/README.md [pr-lint]: pr-lint/README.md [pre-commit]: pre-commit/README.md [prettier-check]: prettier-check/README.md [prettier-fix]: prettier-fix/README.md [python-lint-fix]: python-lint-fix/README.md [release-monthly]: release-monthly/README.md [set-git-config]: set-git-config/README.md [stale]: stale/README.md [sync-labels]: sync-labels/README.md [terraform-lint-fix]: terraform-lint-fix/README.md