Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
17 changes: 17 additions & 0 deletions .env.local
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# KSM GitHub Action - Local Testing Configuration
# Copy this file to .env.local and fill in your values

# Required: Your KSM configuration (base64 encoded)
KSM_TEST_CONFIG=eyJob3N0bmFtZSI6ImtlZXBlcnNlY3VyaXR5LmNvbSIsImNsaWVudElkIjoiM3ZtT1VsU29maGNIZFpSMzBoQk9OdE1YVFcrTVZvTUo0QWVuczQ2Sjd0VTc2eXdPZ0xXMVkzWUxJMW53dGlUaE9MeWdicmt5QXl1UXdhOXdjTEU3dUE9PSIsInByaXZhdGVLZXkiOiJNSUdIQWdFQU1CTUdCeXFHU000OUFnRUdDQ3FHU000OUF3RUhCRzB3YXdJQkFRUWdQTS9uMVdXRVl0N3dkMHMrU1lhRUJ2MElkUTR5MWRDQWxiVDZZRFNZMm11aFJBTkNBQVFjUDBIdG0rUVM5dzFKeU84QXI2OTN3UUJsalQxWTJXVzFjNVVKamdlQW10d1N2ZFdKSXRDOW5lSVRzd1dZcjBoRCtTRGNEM05HRDl4bGdwazlpdFl4Iiwic2VydmVyUHVibGljS2V5SWQiOiIxMCIsImFwcEtleSI6IjVMRUt5bU9yN3ZnSDFFc0lUTkxBOVR5clNaNkROZ0ZHWjlLTFVRYzkrcE09IiwiYXBwT3duZXJQdWJsaWNLZXkiOiJCTld1VlROKzVDVmtRaEd5LzlsaHFuc1M4RzVrQ1JkZm15VnYxZytjb1VXU1pVSktPYVFnMVhHOUxhUHV0L1lhclpESFBQMk5YbEpMWWs5RG9PZTU5b1U9In0=

# Required: A record UID that your KSM app has read/write access to
KSM_TEST_RECORD_UID=A7Pu-DNINF8d14VD5NGETA

# Required for create-if-missing tests: Folder UID where new records can be created
KSM_TEST_FOLDER_UID=02s3nG_SRZ76R07PEUZXXg

# Optional: Set to 'true' to skip tests that modify data
KSM_TEST_SKIP_DESTRUCTIVE=false

# Optional: Additional test configuration
KSM_TEST_TIMEOUT=30000
28 changes: 16 additions & 12 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@ jobs:
test: # make sure the action works on a clean machine without building
environment: prod
runs-on: ubuntu-latest
env:
# Use repository variable if available, otherwise use default test record UID
# This can be set in GitHub repository settings under Settings > Secrets and variables > Actions > Variables
TEST_RECORD_UID: ${{ vars.KSM_TEST_RECORD_UID || 'MC5EQRXjBQMiKidoMQuoSQ' }}
steps:
- uses: actions/checkout@v4
- name: "Run KSM Action from source"
Expand All @@ -28,12 +32,12 @@ jobs:
with:
keeper-secret-config: ${{ secrets.KSM_ACTION_TEST_CONFIG }}
secrets: |
b7K1o8Fwoot8bryzH6pZJg/field/login > username
b7K1o8Fwoot8bryzH6pZJg/field/password > password
b7K1o8Fwoot8bryzH6pZJg/file/ch.txt > ./ch1.txt
b7K1o8Fwoot8bryzH6pZJg/field/login > env:USERNAME
b7K1o8Fwoot8bryzH6pZJg/field/password > env:PASSWORD
b7K1o8Fwoot8bryzH6pZJg/file/ch.txt > file:./ch1.txt
${{ env.TEST_RECORD_UID }}/field/login > username
${{ env.TEST_RECORD_UID }}/field/password > password
${{ env.TEST_RECORD_UID }}/file/file.txt > ./ch1.txt
${{ env.TEST_RECORD_UID }}/field/login > env:USERNAME
${{ env.TEST_RECORD_UID }}/field/password > env:PASSWORD
${{ env.TEST_RECORD_UID }}/file/file.txt > file:./ch1.txt
- name: Print secrets
run: |
username="${{ steps.ksm.outputs.username }}"
Expand All @@ -48,12 +52,12 @@ jobs:
with:
keeper-secret-config: ${{ secrets.KSM_ACTION_TEST_CONFIG }}
secrets: |
b7K1o8Fwoot8bryzH6pZJg/field/login > username2
b7K1o8Fwoot8bryzH6pZJg/field/password > password2
b7K1o8Fwoot8bryzH6pZJg/file/ch.txt > ./ch12.txt
b7K1o8Fwoot8bryzH6pZJg/field/login > env:USERNAME2
b7K1o8Fwoot8bryzH6pZJg/field/password > env:PASSWORD2
b7K1o8Fwoot8bryzH6pZJg/file/ch.txt > file:./ch12.txt
${{ env.TEST_RECORD_UID }}/field/login > username2
${{ env.TEST_RECORD_UID }}/field/password > password2
${{ env.TEST_RECORD_UID }}/file/file.txt > ./ch12.txt
${{ env.TEST_RECORD_UID }}/field/login > env:USERNAME2
${{ env.TEST_RECORD_UID }}/field/password > env:PASSWORD2
${{ env.TEST_RECORD_UID }}/file/file.txt > file:./ch12.txt
- name: Print secrets2
run: |
username="${{ steps.ksm2.outputs.username2 }}"
Expand Down
16 changes: 8 additions & 8 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
"devDependencies": {
"@actions/core": "^1.10.1",
"@keeper-security/secrets-manager-core": "16.6.2",
"@types/node": "^20.11.26",
"@types/node": "^22.0.2",
"@typescript-eslint/parser": "^7.2.0",
"@vercel/ncc": "^0.38.1",
"eslint": "^8.57.0",
Expand Down
53 changes: 53 additions & 0 deletions test-fix.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 1234567..2345678 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -19,6 +19,10 @@ jobs:
test: # make sure the action works on a clean machine without building
environment: prod
runs-on: ubuntu-latest
+ env:
+ # Use repository variable if available, otherwise use default test record UID
+ # This can be set in GitHub repository settings under Settings > Secrets and variables > Actions > Variables
+ TEST_RECORD_UID: ${{ vars.KSM_TEST_RECORD_UID || 'MC5EQRXjBQMiKidoMQuoSQ' }}
steps:
- uses: actions/checkout@v4
- name: "Run KSM Action from source"
@@ -27,12 +31,12 @@ jobs:
with:
keeper-secret-config: ${{ secrets.KSM_ACTION_TEST_CONFIG }}
secrets: |
- b7K1o8Fwoot8bryzH6pZJg/field/login > username
- b7K1o8Fwoot8bryzH6pZJg/field/password > password
- b7K1o8Fwoot8bryzH6pZJg/file/ch.txt > ./ch1.txt
- b7K1o8Fwoot8bryzH6pZJg/field/login > env:USERNAME
- b7K1o8Fwoot8bryzH6pZJg/field/password > env:PASSWORD
- b7K1o8Fwoot8bryzH6pZJg/file/ch.txt > file:./ch1.txt
+ ${{ env.TEST_RECORD_UID }}/field/login > username
+ ${{ env.TEST_RECORD_UID }}/field/password > password
+ ${{ env.TEST_RECORD_UID }}/file/file.txt > ./ch1.txt
+ ${{ env.TEST_RECORD_UID }}/field/login > env:USERNAME
+ ${{ env.TEST_RECORD_UID }}/field/password > env:PASSWORD
+ ${{ env.TEST_RECORD_UID }}/file/file.txt > file:./ch1.txt
- name: Print secrets
run: |
username="${{ steps.ksm.outputs.username }}"
@@ -47,12 +51,12 @@ jobs:
with:
keeper-secret-config: ${{ secrets.KSM_ACTION_TEST_CONFIG }}
secrets: |
- b7K1o8Fwoot8bryzH6pZJg/field/login > username2
- b7K1o8Fwoot8bryzH6pZJg/field/password > password2
- b7K1o8Fwoot8bryzH6pZJg/file/ch.txt > ./ch12.txt
- b7K1o8Fwoot8bryzH6pZJg/field/login > env:USERNAME2
- b7K1o8Fwoot8bryzH6pZJg/field/password > env:PASSWORD2
- b7K1o8Fwoot8bryzH6pZJg/file/ch.txt > file:./ch12.txt
+ ${{ env.TEST_RECORD_UID }}/field/login > username2
+ ${{ env.TEST_RECORD_UID }}/field/password > password2
+ ${{ env.TEST_RECORD_UID }}/file/file.txt > ./ch12.txt
+ ${{ env.TEST_RECORD_UID }}/field/login > env:USERNAME2
+ ${{ env.TEST_RECORD_UID }}/field/password > env:PASSWORD2
+ ${{ env.TEST_RECORD_UID }}/file/file.txt > file:./ch12.txt
- name: Print secrets2
run: |
username="${{ steps.ksm2.outputs.username2 }}"
Loading