A collection of GitHub Actions created by rtCamp.
This repo itself acts as a placeholder only. We have created a separate repo for each GitHub action to make our actions available via GitHub actions marketplace.
Please go to individual GitHub action to read more about them, including usage instructions. All our GitHub actions can be used individually or combined on projects according the requirements.
A minimal WordPress CI/CD including three actions has been setup on a skeleton repo. You can refer the main.workflow to see how these work together.
GitHub Action | GitHub Action's Purpose |
---|---|
🕵️♂️ PHPCS Code Review | Run PHPCS on pull requests. |
🚀 Deploy WordPress | Deploy a WordPress site using using PHP's Deployer.org |
❗ Slack Notify | Send a notification to a Slack channel |
We follow "One Site, One Repo" approach for all our WordPress projects. You can check our wordpress skeleton repo here. Some of our actions, such as WordPress Deployer, depends on git repo structure.
If you don't use Vault, you can ignore this part. This is completely optional.
We use Hashicorp Vault internally for secrets management. So all our actions support fetching secrets from Hashicorp Vault, in addition to GitHub secrets.
For some actions such as Slack Notify, Vault may seems redundant. But for other such as Deploy WordPress action, Vault is time saver.
GitHub doesn't support organization wide secrets. So with GitHub secrets, we need to duplicate many secrets, such as dev/test server SSH keys, across multiple repos.
Using Vault, we reduce this effort to setup Vault's token in GitHub secrets. Further, Vault policies help us enforce fine grain control.