This action builds a DataMiner Artifact from your Automation Script solution and deploys it to your cloud-connected DataMiner System. The action will wait until the deployment is finished, with a configurable timeout. At present, only DataMiner Automation Script solutions created by DIS are supported.
The action consists of 2 stages: Upload
and Deploy
.
This stage creates an artifact and uploads it to dedicated storage in the cloud. The output of this stage will be the ID of the artifact, which can be used in the deploy stage.
This stage deploys the artifact from the artifact storage to your cloud-connected DataMiner System.
This action currently only supports the creation of artifacts with Automation scripts.
Required. The API key generated in the DCP Admin app to authenticate to a certain DataMiner System. E.g. ${{ secrets.NAME_OF_YOUR_APIKEY_SECRET }}
. For more information about creating a key, refer to the DataMiner documentation.
Required. The path to the .sln file of the solution. At present, only DataMiner Automation Script solutions are supported. E.g. './Example/AutomationScript.sln'
. Required for stages 'Upload'
and 'All'
.
Optional. The chosen name for the artifact. E.g. 'MyPackageName'
. Required for stages 'Upload'
and 'All'
.
Optional.
The version number for the artifact. Only required for a release run. Format A.B.C for a stable release or A.B.C-text for a pre-release. E.g. '1.0.1'
. Required for stages 'Upload'
and 'All'
if no build-number was provided instead.
Optional. The maximum time spent waiting for the deployment to finish, in seconds. Default '900'. E.g. '300'
.
Optional. The stage of the action to run. Options are: 'Upload'
, 'Deploy'
and 'All'
. Default: 'All'.
Optional. The private artifact to deploy. This is only needed when 'stage' is 'Deploy'
.
Optional.
The build number of a workflow run. Only required for a development run. Required for stages 'Upload'
and 'All'
if no version was provided instead.
The ID of the private artifact that has been deployed. This is only filled in for stages 'Upload'
and 'All'
.
on: [push]
jobs:
deploy_artifact_job:
runs-on: ubuntu-latest
name: Deploy the artifact on the DataMiner System job
steps:
# To use this action, the repository must be checked out
- name: Checkout
uses: actions/checkout@v3
- name: Set up NuGet
uses: nuget/setup-nuget@v1.1.1
- name: NuGet restore solution
run: nuget restore "AutomationScript.sln" -OutputDirectory ${{ github.workspace }}/packages
- name: Deploy the artifact on the DataMiner System step
uses: SkylineCommunications/Skyline-DataMiner-Deploy-Action@v1
id: deploy_artifact_step
with:
api-key: ${{ secrets.NAME_OF_YOUR_APIKEY_SECRET }}
solution-path: './Example/AutomationScript.sln'
artifact-name: 'MyArtifactName'
version: '1.0.1'
timeout: '300'
on: [push]
jobs:
build:
name: build
runs-on: ubuntu-latest
outputs:
ARTIFACT_ID: ${{ steps.Build_and_upload_artifact_step.outputs.ARTIFACT_ID }}
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up NuGet
uses: nuget/setup-nuget@v1.1.1
- name: NuGet restore solution
run: nuget restore "AutomationScript.sln" -OutputDirectory ${{ github.workspace }}/packages
- name: Deploy the artifact on the DataMiner System step
uses: SkylineCommunications/Skyline-DataMiner-Deploy-Action@v1
id: Build_and_upload_artifact_step
with:
api-key: ${{ secrets.NAME_OF_YOUR_APIKEY_SECRET }}
solution-path: './Example/AutomationScript.sln'
artifact-name: 'MyArtifactName'
version: '1.0.1'
stage: Upload
deploy:
name: deploy
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy
uses: SkylineCommunications/Skyline-DataMiner-Deploy-Action@v1
with:
api-key: ${{ secrets.NAME_OF_YOUR_APIKEY_SECRET }}
stage: Deploy
timeout: '300'
artifact-id: ${{ needs.build.outputs.ARTIFACT_ID }}
Code and documentation in this project are released under the MIT License.