CI/CD Template

Use Case: CI/CD pipeline for Salesforce deployment

Template:

.github/workflows/deploy.yml (GitHub Actions):

name: Deploy to Salesforce

on:
  push:
    branches: [ main ]

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      
      - name: Setup Salesforce CLI
        uses: salesforce/setup-sfdx@v1
      
      - name: Authenticate Org
        run: |
          sf org login sfdx-url \
            --sfdx-url-file $
      
      - name: Deploy
        run: |
          sf project deploy start \
            --target-org production \
            --wait 10
      
      - name: Run Tests
        run: |
          sf apex run test \
            --target-org production \
            --code-coverage \
            --wait 10

Usage: