Skip to content

Add new cci command group for hashing config, flows, and dependencies and support for freezing flows #27

Add new cci command group for hashing config, flows, and dependencies and support for freezing flows

Add new cci command group for hashing config, flows, and dependencies and support for freezing flows #27

Workflow file for this run

name: Feature Test
on:
workflow_dispatch:
pull_request:
types: [opened, synchronize, reopened] # Default
push:
branches:
- main
jobs:
lint:
name: Lint
if: ${{ contains(fromJSON('["workflow_dispatch", "pull_request"]'), github.event_name) }}
uses: SFDO-Tooling/.github/.github/workflows/pre-commit.yml@main
docs:
name: Build Docs
if: ${{ github.event_name == 'pull_request' }}
runs-on: SFDO-Tooling-Ubuntu
steps:
- name: "Checkout"
uses: actions/checkout@v2
with:
fetch-depth: 1
- name: Set up Python 3.8
id: py
uses: actions/setup-python@v4
with:
python-version: 3.8
cache: pip
cache-dependency-path: "requirements/*.txt"
- name: Install dependencies
run: pip install -r requirements_dev.txt
- name: Build Docs
run: make docs
unit_tests:
name: "Unit tests: ${{ matrix.os }}-${{ matrix.python-version }}"
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-latest, SFDO-Tooling-Ubuntu, SFDO-Tooling-Windows]
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
exclude:
- os: macos-latest
python-version: 3.8
include:
- os: macos-13
python-version: 3.8
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "${{ matrix.python-version }}"
cache: pip
cache-dependency-path: "requirements/*.txt"
- name: Install dependencies
run: pip install -r requirements_dev.txt
- name: Run Pytest
run: pytest --cov-report= --cov=cumulusci
robot_api:
name: "Robot: No browser"
runs-on: SFDO-Tooling-Ubuntu
steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
uses: actions/setup-python@v4
with:
python-version: 3.8
cache: pip
cache-dependency-path: "requirements/*.txt"
- name: Install Python dependencies
run: pip install -r requirements_dev.txt
- name: Install sfdx
run: |
mkdir sfdx
wget -qO- https://developer.salesforce.com/media/salesforce-cli/sf/channels/stable/sf-linux-x64.tar.xz | tar xJ -C sfdx --strip-components 1
echo $(realpath sfdx/bin) >> $GITHUB_PATH
- name: Authenticate Dev Hub
run: |
sfdx plugins --core
echo $SFDX_HUB_KEY_BASE64 | base64 --decode > sfdx.key
sfdx auth:jwt:grant --clientid $SFDX_CLIENT_ID --jwtkeyfile sfdx.key --username $SFDX_HUB_USERNAME --setdefaultdevhubusername -a hub
env:
SFDX_HUB_KEY_BASE64: ${{ secrets.SFDX_HUB_KEY_BASE64 }}
SFDX_CLIENT_ID: ${{ secrets.SFDX_CLIENT_ID }}
SFDX_HUB_USERNAME: ${{ secrets.SFDX_HUB_USERNAME }}
- name: Run robot tests
run: |
coverage run --append $(which cci) task run robot \
--org dev \
-o name "CumulusCI" \
-o suites cumulusci/robotframework/tests \
-o include no-browser
- name: Delete scratch org
if: always()
run: |
cci org scratch_delete dev
- name: Store robot results
if: failure()
uses: actions/upload-artifact@v1
with:
name: robot
path: robot/CumulusCI/results