ci(dependabot): stop auto-merging dependabot (#228) #92
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Unique name for this workflow | |
name: On Push | |
# Definition when the workflow should run | |
on: | |
workflow_dispatch: | |
push: | |
# paths-ignore: | |
# - 'sfdx-project.json' | |
# - 'README.md' | |
# - 'docs/**' | |
# - 'doc-assets/**' | |
# - '.vscode/**' | |
# - '.github/**' | |
paths: | |
- 'force-app/**' | |
- 'triggerhandler/**' | |
- 'unpackaged/**' | |
- 'pmd/**' | |
- 'config/**' | |
- '**/workflows/**' | |
- '.github/workflows/ci.yml' | |
# Jobs to be executed | |
jobs: | |
format-lint: | |
runs-on: ubuntu-latest | |
steps: | |
# Checkout the source code | |
- name: 'Checkout source code' | |
uses: actions/checkout@v4 | |
# Cache node_modules to speed up the process | |
- name: 'Restore node_modules cache' | |
id: cache-npm | |
uses: actions/cache@v4 | |
with: | |
path: node_modules | |
key: npm-${{ hashFiles('**/package-lock.json') }} | |
restore-keys: | | |
npm-${{ env.cache-name }}- | |
npm- | |
# Install npm dependencies for Prettier and Jest | |
- name: 'Install npm dependencies' | |
if: steps.cache-npm.outputs.cache-hit != 'true' | |
run: npm ci | |
# Start local Apex parser server for Prettier | |
# - name: 'Start local Apex parser server for Prettier' | |
# run: npm run apex:local:start & | |
# Wait for Apex parser server startup | |
#- name: 'Wait for Apex parser server startup' | |
# run: timeout 30 bash -c 'until printf "" 2>>/dev/null >>/dev/tcp/$0/$1; do sleep 1; done' 127.0.0.1 2117 | |
# Prettier formatting | |
- name: 'Code formatting verification with Prettier' | |
run: npm run prettier:verify:apex | |
# Stop local Apex parser server for Prettier | |
#- name: 'Stop local Apex parser server for Prettier' | |
# if: always() | |
# run: npm run apex:local:stop | |
pmd-analysis: | |
runs-on: ubuntu-latest | |
needs: format-lint | |
if: ${{ github.actor != 'dependabot[bot]' }} | |
steps: | |
# Checkout the source code | |
- name: 'Checkout source code' | |
uses: actions/checkout@v4 | |
- uses: actions/setup-java@v4 | |
with: | |
distribution: 'temurin' | |
java-version: '11' | |
- name: 'Perform PMD scan with PMD action' | |
uses: pmd/pmd-github-action@v2 | |
id: pmd-action | |
with: | |
version: 'latest' | |
sourcePath: 'force-app' | |
rulesets: 'pmd/deployRules.xml' | |
analyzeModifiedFilesOnly: false | |
createGitHubAnnotations: true | |
# Check for PMD violations | |
- name: 'Check for PMD violations' | |
if: steps.pmd-action.outputs.violations != 0 | |
run: exit 1 | |
pmd-analysis-download: | |
runs-on: ubuntu-latest | |
needs: format-lint | |
if: ${{ github.actor != 'dependabot[bot]' }} | |
steps: | |
# Checkout the source code | |
- name: 'Checkout source code' | |
uses: actions/checkout@v4 | |
# Install PMD | |
- name: 'Install PMD' | |
run: | | |
PMD_VERSION=$(curl -s https://api.github.com/repos/pmd/pmd/releases/latest | grep '.tag_name' | sed 's:.*/::' | sed 's:",::') | |
echo $PMD_VERSION | |
wget https://github.com/pmd/pmd/releases/download/pmd_releases%2F$PMD_VERSION/pmd-dist-$PMD_VERSION-bin.zip | |
unzip pmd-dist-$PMD_VERSION-bin.zip -d ~ | |
mv ~/pmd-bin-$PMD_VERSION ~/pmd | |
~/pmd/bin/pmd --version | |
# Run PMD scan | |
- name: 'Run PMD scan' | |
run: ~/pmd/bin/pmd check --dir force-app --rulesets pmd/deployRules.xml --format text --cache .pmdCache --no-progress --minimum-priority "Medium Low" |