The Determine Delivery Targets action analyzes your AL-Go projects and determines which delivery targets (AppSource, Storage, etc.) are configured, along with any required context secrets.
Usage
- uses: microsoft/AL-Go/Actions/[email protected]
id: determine
with:
projectsJson: '[".", "Project1"]'
checkContextSecrets: 'true'
shell
string
default:"powershell"
Shell in which you want to run the action (powershell or pwsh)
Projects to investigate in JSON array formatExamples:
'["."]' - Current directory only
'["Project1", "Project2"]' - Specific projects
Check whether context secret exists?When enabled, the action will verify that required secrets are available.
Outputs
An array of Delivery Targets in compressed JSON formatContains information about each configured delivery target including type and settings.
A comma-separated list of Context Secret names usedLists all secret names that are required for the identified delivery targets.
Example Workflow
jobs:
determine:
runs-on: ubuntu-latest
outputs:
deliveryTargetsJson: ${{ steps.determine.outputs.DeliveryTargetsJson }}
contextSecrets: ${{ steps.determine.outputs.ContextSecrets }}
steps:
- uses: actions/checkout@v4
- name: Determine Delivery Targets
id: determine
uses: microsoft/AL-Go/Actions/[email protected]
with:
projectsJson: '["."]'
checkContextSecrets: 'true'
deliver:
needs: determine
if: needs.determine.outputs.deliveryTargetsJson != '[]'
runs-on: ubuntu-latest
strategy:
matrix:
deliveryTarget: ${{ fromJson(needs.determine.outputs.deliveryTargetsJson) }}
steps:
- name: Deliver to ${{ matrix.deliveryTarget }}
uses: microsoft/AL-Go/Actions/[email protected]
with:
deliveryTarget: ${{ matrix.deliveryTarget }}
artifacts: '.artifacts'
Multi-Project Example
- name: Determine Delivery Targets for Multiple Projects
id: determine
uses: microsoft/AL-Go/Actions/[email protected]
with:
projectsJson: '["App1", "App2", "App3"]'
checkContextSecrets: 'true'
- name: Display required secrets
run: |
echo "Required secrets: ${{ steps.determine.outputs.ContextSecrets }}"
This action is typically used before running the Deliver action to identify all configured delivery targets.
When checkContextSecrets is enabled, ensure all required secrets are configured in your repository or organization settings.