Skip to content
1 change: 1 addition & 0 deletions RELEASENOTES.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
### Issues

- Issue 1915 CICD fails on releases/26.x branch - '26.x' cannot be recognized as a semantic version string
- Issue 2126 Deliver and Deploy actions now skip execution when no app artifacts are found, preventing errors on initial commits

### The default pull request trigger is changing

Expand Down
2 changes: 2 additions & 0 deletions Scenarios/DeliveryTargets.md
Original file line number Diff line number Diff line change
Expand Up @@ -294,6 +294,8 @@ Your custom delivery script receives a hash table with the following parameters:

> **Note:** The folder parameters (`*Folder`) may be `$null` if no artifacts of that type were found. The plural versions (`*Folders`) contain arrays of all matching folders across different build modes.

> **Important:** The delivery step is automatically skipped at the workflow level when no app artifacts are available. This means your custom delivery script will not be executed if no app artifacts were built. This behavior prevents errors on initial commits, failed builds, or branches without code changes that produce artifacts.

### Branch-Specific Delivery

Configure different delivery targets for different branches:
Expand Down
2 changes: 2 additions & 0 deletions Templates/AppSource App/.github/workflows/CICD.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -338,6 +338,7 @@ jobs:

- name: Deploy to Business Central
id: Deploy
if: hashFiles('.artifacts/**/*.app') != ''
uses: microsoft/AL-Go-Actions/Deploy@main
env:
Secrets: '${{ steps.ReadSecrets.outputs.Secrets }}'
Expand Down Expand Up @@ -391,6 +392,7 @@ jobs:
getSecrets: '${{ matrix.deliveryTarget }}Context'

- name: Deliver
if: hashFiles('.artifacts/**/*.app') != ''
uses: microsoft/AL-Go-Actions/Deliver@main
env:
Secrets: '${{ steps.ReadSecrets.outputs.Secrets }}'
Expand Down
2 changes: 2 additions & 0 deletions Templates/Per Tenant Extension/.github/workflows/CICD.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -352,6 +352,7 @@ jobs:

- name: Deploy to Business Central
id: Deploy
if: hashFiles('.artifacts/**/*.app') != ''
uses: microsoft/AL-Go-Actions/Deploy@main
env:
Secrets: '${{ steps.ReadSecrets.outputs.Secrets }}'
Expand Down Expand Up @@ -405,6 +406,7 @@ jobs:
getSecrets: '${{ matrix.deliveryTarget }}Context'

- name: Deliver
if: hashFiles('.artifacts/**/*.app') != ''
uses: microsoft/AL-Go-Actions/Deliver@main
env:
Secrets: '${{ steps.ReadSecrets.outputs.Secrets }}'
Expand Down
6 changes: 6 additions & 0 deletions Workshop/ContinuousDelivery.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,12 @@ For detailed step-by-step instructions, configuration examples, and troubleshoot

Custom delivery will be handled in an advanced part of this workshop later.

## Important Note: Automatic Skip Behavior

Delivery jobs automatically skip execution when no app artifacts are available.

This skip behavior prevents delivery errors and ensures that delivery targets are only invoked when there are actual artifacts to deliver. You'll see the delivery step appear as skipped in the workflow summary when this occurs.

OK, so **CD** stands for **Continuous Delivery**, I thought it was **Continuous Deployment**? Well, it is actually both, so let's talk about **Continuous Deployment**...

______________________________________________________________________
Expand Down
6 changes: 6 additions & 0 deletions Workshop/ContinuousDeployment.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,6 +86,12 @@ Paste the value from the clipboard into the "Value" field of the **AuthContext**

AL-Go can also be setup for custom deployment when you want to deploy to non-SaaS environments. More about this in the advanced section.

## Important Note: Automatic Skip Behavior

Deployment jobs automatically skip execution when no app artifacts are available.

This skip behavior prevents deployment errors and ensures that environments are only targeted when there are actual artifacts to deploy. You'll see the deployment step appear as skipped in the workflow summary when this occurs.

This section was about Continuous Deployment, but you might not want to deploy to production environments continuously - how can we publish to production on demand?

______________________________________________________________________
Expand Down
Loading