802709c076 | ||
---|---|---|
.devcontainer | ||
.github/workflows | ||
.husky | ||
.vscode | ||
auth | ||
config | ||
docs | ||
force-app/main/default | ||
node-scripts | ||
release-notes | ||
scripts | ||
.eslintignore | ||
.eslintrc.json | ||
.forceignore | ||
.gitignore | ||
.nvmrc | ||
.prettierignore | ||
.prettierrc | ||
CODEOWNERS | ||
CODE_OF_CONDUCT.md | ||
LICENSE | ||
README.md | ||
SECURITY.md | ||
SUPPORT.md | ||
github-mark.png | ||
jest.config.js | ||
package-lock.json | ||
package.json | ||
sfdx-project.json |
README.md
octoforce-actions
A lightweight open-source template Salesforce CI/CD built on the GitHub
actions platform.
Features
- Automation to create a development sandbox and UAT sandbox for each issue created.
- Automation to deploy metadata changes to UAT sandboxes for each pull request created against a release branch.
- Automation to compile release notes when changes are merged into a release branch.
- Automation to deploy changes to production.
- Support for including desctructive changes in deployments.
- Script to authenticate against sandboxes using
SFDX
and encrypt the credentials for use in GitHub Actions. - Setup script for MacOS to setup
SFDX
andNodeJS
as well other development dependencies. - Basic Docker configuration for use in
Codespaces
.
Limitations
- Setup script does not support Windows.
- The number of dev sandboxes you are entitled to will determine how many issues your team can work on simultaneously.
Background
This project is meant to be a starting point for Salesforce developers who want to automate their CI/CD process using GitHub Actions. It is not meant to be a complete solution for all Salesforce development teams.
Requirements
NodeJS 14.x is the minimum requirement for this project. More recent versions of NodeJS are still being tested. We are currently testing Node 18.x and have found issues with authentication against sandboxes using SFDX
web auth flow.
The setup scripts require MacOS to run locally, however is not required to make use of this template.
The sandbox authentication script requires SFDX
to be installed and configured and requires a bash environment.
These actions rely on several repository secrets and variables to be set in the repository settings. Please refer to the Required Configurations section of our getting started doc for more details.
Your team will be required to follow the dev flow outlined here in order for the workflows in this repo to function as expected.
Getting Started
See the setup guide.
License
This project is licensed under the terms of the MIT open source license. Please refer to MIT for the full terms.
Maintainers
Support
This template will receive basic maintenace such as bug fixes and security updates.