Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
126 commits
Select commit Hold shift + click to select a range
9fbdfc9
Merge pull request #2 from jasonsiders/soql-tests
jasonsiders Apr 21, 2024
7b5d40e
Merge pull request #3 from jasonsiders/develop
jasonsiders Apr 21, 2024
17ff397
created stub MockSoql class & tests
jasonsiders Apr 22, 2024
3749aea
checkpoint - creating failing tests
jasonsiders Apr 22, 2024
ac33496
checkpoint - more tests, finding limits of mocking querylocator and a…
jasonsiders Apr 22, 2024
c33e646
cleaning up soql class, while we're at it
jasonsiders Apr 22, 2024
b74ce32
add queryString to reset
jasonsiders Apr 23, 2024
09008b7
implemented decorator for mock query locators
jasonsiders Apr 23, 2024
230fc82
cleanup
jasonsiders Apr 23, 2024
499b2f3
implemented rudimentary AggregateResult mocking
jasonsiders Apr 23, 2024
f1a199e
adjusted AggregateResult visibilities
jasonsiders Apr 23, 2024
ecd7568
added description
jasonsiders Apr 23, 2024
3ab1851
implemented aggregateresult mocking, finished mocksoql tests
jasonsiders Apr 23, 2024
14442ca
removed unnecessary directories
jasonsiders Apr 23, 2024
5cecc71
changed mockResults type to List<Object>
jasonsiders Apr 23, 2024
2aea9f4
Merge pull request #4 from jasonsiders/feature/mock-soql
jasonsiders Apr 23, 2024
0618966
feature/mock dml (#6)
jasonsiders May 31, 2024
befa037
feature/conductor layer (#15)
jasonsiders Jun 2, 2024
d67df22
Feature: Soql Changes (#16)
jasonsiders Jun 2, 2024
8052011
ran prettier (#17)
jasonsiders Jun 2, 2024
140b874
Feature/mock record (#18)
jasonsiders Jun 20, 2024
f542bec
initial release prep (#19)
jasonsiders Aug 17, 2024
02275ad
udpated doc spacing (#20)
jasonsiders Aug 17, 2024
1fd4462
version/0.1.0 (#21)
jasonsiders Aug 17, 2024
3efd814
added MIT license (#22)
jasonsiders Aug 17, 2024
e63720d
version/1.0.0
jasonsiders Feb 28, 2025
5170f57
Version/2.0.0 (#30)
jasonsiders May 23, 2025
a1417af
#32 added support for Database.Cursor
jasonsiders Jun 2, 2025
8fb5b5c
#31 new methods to get values from a MockRecord
jasonsiders Jun 2, 2025
25dcd6f
packaged version 2.1.0-1
jasonsiders Jun 2, 2025
d6c8d94
version 2.1.0
jasonsiders Jun 2, 2025
082066f
Version 2.2.0 (#38)
jasonsiders Jun 9, 2025
2b92756
version/2.2.1 (#47)
jasonsiders Jun 14, 2025
b2fe951
Version 2.2.2 (#49)
jasonsiders Jun 16, 2025
ddea43d
Version 2.3.0 (#57)
jasonsiders Jun 24, 2025
de4980f
Version/2.4.0 (#64)
jasonsiders Jun 28, 2025
f1854a7
Version/2.4.1 (#68)
jasonsiders Jun 30, 2025
e2988ed
Moving docs to wiki (#69)
jasonsiders Jul 3, 2025
783b0e2
version/2.4.2
jasonsiders Jul 4, 2025
93a9299
version 2.4.3 (#72)
jasonsiders Jul 7, 2025
195e156
Version 2.4.4 (#73)
jasonsiders Jul 12, 2025
9918fb0
Feature/SOQL Plugin (#74)
jasonsiders Jul 13, 2025
25979fc
Feature: Initial Github Actions Setup (#106)
jasonsiders Jul 28, 2025
524cef8
fix/Packaging Action (#107)
jasonsiders Jul 28, 2025
d605b2f
Breaking changes for v3.0.0 (#108)
jasonsiders Aug 3, 2025
86d75e8
Devops/packaging action (#110)
jasonsiders Aug 4, 2025
187412d
Fix/Packaging actions (#111)
jasonsiders Aug 4, 2025
c524896
Update README.md
jasonsiders Aug 5, 2025
dc5149b
Update README.md
jasonsiders Aug 5, 2025
f495d80
Update README.md
jasonsiders Aug 5, 2025
5cbcfc8
Packaged new managed version v3.0.0
jasonsiders Aug 5, 2025
eeca218
Packaged new unlocked version v3.0.0
jasonsiders Aug 5, 2025
f8c8a40
Remove MockDml.Operation enum (#112)
jasonsiders Aug 5, 2025
df63e3c
setting ancestor of managed package to "HIGHEST"
jasonsiders Aug 5, 2025
b9dcaba
Revert "setting ancestor of managed package to "HIGHEST""
jasonsiders Aug 5, 2025
9b8ff1e
fixing managed package directory
jasonsiders Aug 5, 2025
640d8e2
Packaged new managed version v3.1.0
jasonsiders Aug 5, 2025
a958f73
manually doctoring unlocked package file
jasonsiders Aug 5, 2025
880b51e
increment minor version instead of patch (#114)
jasonsiders Aug 5, 2025
674f5f6
added missing version name
jasonsiders Aug 5, 2025
e0ac49c
Restructure Project Directory Layout (#115)
jasonsiders Aug 6, 2025
b0872a5
Version 3.2.0 (#117)
jasonsiders Aug 9, 2025
f0315f2
Packaged new managed version v3.2.0
jasonsiders Aug 9, 2025
fe9d48d
manually adding unlocked version 3.2.0-1
jasonsiders Aug 9, 2025
daed396
fixing version numbers
jasonsiders Aug 9, 2025
f61f3fe
Feature: Nebula Logger Plugin (#116)
jasonsiders Aug 9, 2025
5290dd9
Feature: New CMDT Module (#122)
jasonsiders Aug 19, 2025
1eb8dda
Packaged new managed version v3.3.0
jasonsiders Aug 19, 2025
bdd1854
Packaged new unlocked version v3.3.0
jasonsiders Aug 19, 2025
ea74531
Packaged new managed version v3.4.0
jasonsiders Aug 20, 2025
df94dbc
Packaged new unlocked version v3.4.0
jasonsiders Aug 20, 2025
139db14
Revert "Packaged new unlocked version v3.4.0"
jasonsiders Aug 20, 2025
1cfbbf1
Revert "Packaged new managed version v3.4.0"
jasonsiders Aug 20, 2025
adf545d
removing ci directory requirements; we want to run checks on all PRs
jasonsiders Aug 20, 2025
55cfeed
DevOps Improvements (#125)
jasonsiders Aug 20, 2025
b502bc0
Packaged new managed version v3.4.0
jasonsiders Aug 20, 2025
06aaa29
Packaged new unlocked version v3.4.0
jasonsiders Aug 20, 2025
3a4928c
Revert "Packaged new managed version v3.4.0"
jasonsiders Aug 20, 2025
8b95bf4
Revert "Packaged new unlocked version v3.4.0"
jasonsiders Aug 20, 2025
d0d96c8
Fix: Prevent CRUD/FLS Errors in Unit Tests (#130)
jasonsiders Sep 10, 2025
8bf4158
fixing release.yml
jasonsiders Sep 10, 2025
01cea98
Packaged new managed version v3.4.0
jasonsiders Sep 10, 2025
003407a
Packaged new unlocked version v3.4.0
jasonsiders Sep 10, 2025
3b5791a
Fix: Failing Tests (#131)
jasonsiders Sep 10, 2025
16f7917
Packaged new managed version v3.5.0
jasonsiders Sep 10, 2025
02e99ec
Packaged new unlocked version v3.5.0
jasonsiders Sep 10, 2025
6e172c0
Reduce False Positives for Plugin Errors (#133)
jasonsiders Sep 16, 2025
a5b0d41
Packaged new managed version v3.6.0
jasonsiders Sep 16, 2025
80356dd
Packaged new unlocked version v3.6.0
jasonsiders Sep 16, 2025
01fe699
Cmdt.Repository Revamp (#134)
jasonsiders Sep 20, 2025
89acad7
Packaged new unlocked version v3.7.0
jasonsiders Sep 20, 2025
42d660a
wiki
jasonsiders Sep 21, 2025
4e72917
Packaged new unlocked version v3.7.1
jasonsiders Sep 21, 2025
edfcb23
removing managed package from release.yml (#136)
jasonsiders Sep 21, 2025
bd76cd3
Wiki restructuring and automated workflow improvements (#138)
jasonsiders Sep 21, 2025
f114892
Fix wiki sync permissions issue (#141)
jasonsiders Sep 21, 2025
898e08e
adding concurrency (#142)
jasonsiders Sep 21, 2025
b0b661e
Add TYPEOF query support for polymorphic fields (#140)
jasonsiders Sep 22, 2025
683a052
Packaged new unlocked version v3.7.2
jasonsiders Sep 22, 2025
1cfdd2a
Docs: Fix References to MockSoql.Simulator (#148)
jasonsiders Oct 3, 2025
67d5238
Feature: New `Duplicates` Module (#151)
jasonsiders Nov 11, 2025
013f043
Packaged new unlocked version v3.7.3
jasonsiders Nov 11, 2025
1ca50a8
Fix: MockDml Now Respects Lead Convert/Opportunity Flag (#152)
jasonsiders Nov 14, 2025
cea4ceb
Packaged new unlocked version v3.7.4
jasonsiders Nov 14, 2025
bbe67d1
Fix: MockDml correctly sets Lead fields on conversion (#153)
jasonsiders Nov 14, 2025
da66761
Packaged new unlocked version v3.7.5
jasonsiders Nov 14, 2025
26577ba
Fix: Add Email to Leads in DmlTest (#154)
jasonsiders Dec 21, 2025
70fc023
Packaged new unlocked version v3.7.6
jasonsiders Dec 21, 2025
bd2a70c
Fix: CMDT queries (#156)
jasonsiders Mar 2, 2026
8199e90
Packaged new unlocked version v3.7.7
jasonsiders Mar 2, 2026
1473f93
Add Soql.Selectable Support in TYPEOF 'thenSelect' method (#159)
jasonsiders Mar 11, 2026
029d636
Packaged new unlocked version v3.7.8
jasonsiders Mar 11, 2026
73a4209
Soql: queryAndMap Method (#161)
jasonsiders Mar 15, 2026
05bb2e3
Packaged new unlocked version v3.7.9
jasonsiders Mar 15, 2026
c3c9abe
Rearchitect DatabaseLayerSetting__mdt (#162)
jasonsiders Mar 15, 2026
d27a3eb
Packaged new unlocked version v3.7.9
jasonsiders Mar 15, 2026
18ff4f3
Packaged new unlocked version v4.0.0
jasonsiders Mar 15, 2026
1548cde
formally removing support for managed packages; consolidating project…
jasonsiders Mar 15, 2026
0829971
packaged nebula plugin v1.1.0
jasonsiders Mar 15, 2026
b2d71ae
adding gates for bot users to trigger ci jobs
jasonsiders Mar 16, 2026
c1b449d
adding gates for bot users to trigger ci jobs; refactoring triggers
jasonsiders Mar 16, 2026
e66bd01
moving layout to correct folder
jasonsiders Mar 16, 2026
ff1684e
reorganizing
jasonsiders Mar 16, 2026
3675b05
updating packaging workflows
jasonsiders Mar 16, 2026
f2e4d6c
removing co-authored by claude
jasonsiders Mar 16, 2026
dd05970
Merge remote-tracking branch 'origin/main' into 163-repo-cleanup
jasonsiders Mar 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 23 additions & 13 deletions .github/workflows/auto-documentation.yml
Original file line number Diff line number Diff line change
@@ -1,16 +1,8 @@
name: Auto Documentation

on:
pull_request:
branches: [main]
types: [opened, ready_for_review, reopened, synchronize]
paths:
- "source/**"
- "plugins/**"

concurrency:
group: auto-doc
cancel-in-progress: true
workflow_dispatch:
workflow_call:

permissions:
contents: write
Expand All @@ -20,7 +12,6 @@ permissions:
jobs:
auto-documentation:
name: Generate Documentation
if: ${{ !github.event.pull_request.draft }}
runs-on: ubuntu-latest
timeout-minutes: 15

Expand All @@ -29,7 +20,7 @@ jobs:
uses: actions/checkout@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
ref: ${{ github.head_ref }}
ref: ${{ github.head_ref || github.ref_name }}
fetch-depth: 0

- name: Check if last commit was auto-documentation
Expand Down Expand Up @@ -99,6 +90,25 @@ jobs:
## Expected Output:
Create or modify files in the `wiki/` directory as needed. I will review these changes as part of the PR.

- name: Remove Claude Attribution
if: steps.check-auto-commit.outputs.auto-commit == 'false' && steps.changed-files.outputs.has-apex-changes == 'true'
run: |
BRANCH="${{ github.head_ref || github.ref_name }}"
BASE=$(git rev-parse "origin/${BRANCH}" 2>/dev/null || echo "")
if [ -z "$BASE" ]; then
echo "Cannot determine base commit; skipping attribution cleanup"
exit 0
fi
if git log --format="%B" "${BASE}..HEAD" 2>/dev/null | grep -qi "co-authored-by.*claude"; then
echo "Stripping Claude Co-authored-by trailers from new commits..."
FILTER_BRANCH_SQUELCH_WARNING=1 git filter-branch -f --msg-filter \
'sed "/[Cc]o-[Aa]uthored-[Bb]y.*[Cc]laude/d"' \
"${BASE}..HEAD"
git push origin "HEAD:${BRANCH}" --force
else
echo "No Claude attribution found in new commits"
fi

- name: Check if Home.md Changed
if: steps.check-auto-commit.outputs.auto-commit == 'false'
id: check-home
Expand Down Expand Up @@ -147,4 +157,4 @@ jobs:

Generated documentation for new global classes/methods/properties"

git push origin ${{ github.head_ref }}
git push origin ${{ github.head_ref || github.ref_name }}
90 changes: 46 additions & 44 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@ on:
- main
types: [opened, ready_for_review, reopened, synchronize]
paths:
- "source/**"
- "plugins/**"
- "src/**"
- ".github/**"

concurrency:
Expand All @@ -32,40 +31,9 @@ permissions:
pull-requests: write

jobs:
claude-review:
name: Claude Code Review
if: ${{ '! github.event.pull_request.draft' }}
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
issues: write
id-token: write

steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 1

- name: Run Claude Code Review
id: claude-review
uses: anthropics/claude-code-action@beta
with:
allowed_bots: "claude"
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
github_token: ${{ secrets.GITHUB_TOKEN }}
direct_prompt: |
Please review this pull request and provide feedback on:
- Code quality and best practices
- Potential bugs or issues
- Performance considerations
- Security concerns
- Test coverage

scan:
name: Run Static Analysis
if: ${{ '! github.event.pull_request.draft' }}
if: ${{ !github.event.pull_request.draft && !contains(github.actor, '[bot]') }}
runs-on: ubuntu-latest
timeout-minutes: 10
steps:
Expand All @@ -84,7 +52,7 @@ jobs:
# Ensure this check only runs against changed files in the current PR; not the entire codebase
set -euo pipefail
mkdir "$CHANGES_DIR"
sf sgd source delta --generate-delta --from "HEAD^" --to "HEAD" --output-dir "$CHANGES_DIR"/ --source-dir "source/"
sf sgd source delta --generate-delta --from "HEAD^" --to "HEAD" --output-dir "$CHANGES_DIR"/ --source-dir "src/"
echo "Changed files:"
ls "$CHANGES_DIR"

Expand Down Expand Up @@ -127,16 +95,14 @@ jobs:

run-unit-tests:
name: Run Unit Tests
if: ${{ '! github.event.pull_request.draft' }}
if: ${{ !github.event.pull_request.draft && !contains(github.actor, '[bot]') }}
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup SF CLI
uses: ./.github/actions/setup-sf-cli

- name: Authenticate Devhub
env:
CLIENT_ID: ${{ secrets.SALESFORCE_CONSUMER_KEY }}
Expand All @@ -150,7 +116,6 @@ jobs:
--jwt-key-file server.key \
--set-default-dev-hub \
--username "$USERNAME"

- name: Get Existing Scratch Org
id: get-existing
continue-on-error: true
Expand All @@ -177,7 +142,6 @@ jobs:
--username "$USERNAME"
echo "success=true" >> "$GITHUB_OUTPUT"
fi

- name: Create Scratch Org
if: ${{ steps.get-existing.outputs.success != 'true' }}
run: |
Expand All @@ -192,18 +156,16 @@ jobs:
--set-default \
--username "$USERNAME" \
--wait 10

- name: Run Tests
run: |
sf project deploy start \
--coverage-formatters json-summary \
--dry-run \
--ignore-conflicts \
--source-dir source \
--source-dir src \
--test-level RunLocalTests \
--verbose \
--wait 30

- name: Check Code Coverage
run: |
# Parse the JSON coverage summary file to extract overall coverage percentage
Expand All @@ -213,7 +175,47 @@ jobs:
echo "❌ Code coverage is ${COVERAGE_PERCENT}%, but >= 99% is required"
exit 1
fi

- name: Post Authenticate Devhub
if: ${{ always() }}
run: rm -f server.key

claude-review:
name: Claude Code Review
needs: [scan, run-unit-tests]
if: ${{ !github.event.pull_request.draft && !contains(github.actor, '[bot]') }}
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
issues: write
id-token: write
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 1
- name: Run Claude Code Review
id: claude-review
uses: anthropics/claude-code-action@beta
with:
allowed_bots: "claude"
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
github_token: ${{ secrets.GITHUB_TOKEN }}
direct_prompt: |
Please review this pull request and provide feedback on:
- Code quality and best practices
- Potential bugs or issues
- Performance considerations
- Security concerns
- Test coverage

generate-docs:
name: Generate Documentation
needs: [scan, run-unit-tests]
if: ${{ !github.event.pull_request.draft && !contains(github.actor, '[bot]') }}
uses: ./.github/workflows/auto-documentation.yml
permissions:
contents: write
pull-requests: write
id-token: write
secrets: inherit
Loading