I’m trying to set up a simple CI/CD pipeline for a UiPath process:
- I created a new external app in the cloud (UiPath cloud->admin->my tenant->external applications) with administrative access and added secrets on github (settings->secrets and variables->actions->secrets)
- then push changes in UiPath Studio to Github (it’s working)
- while pushing UiPath project to Github main branch, yaml file is automatically run and its running forever until I stop it manually
- deploy to Orchestrator folder “SpaceName/ExampleFolder” doesn’t work
I think there is someting wrong with my yaml code. Currently I try to use this one:
name: UiPath-CICD-Prod
on:
push:
branches: [ main ]
jobs:
deploy:
runs-on: ubuntu-lastest
steps:
- uses: actions/checkout@v4
- name: UiPath CLI Pack
uses: UiPath/cli@v2
with:
client_id: ${{ secrets.UiPath_CLIENT_ID }}
client_secret: ${{ secrets.UiPath_CLIENT_SECRET }}
account: ${{ secrets.UiPath_ORGANIZATION_NAME }}
tenant: ${{ secrets.ORCH_TENANT }}
url: ${{ secrets.ORCH_URL }}
- name: Pack project
run: uipath pack .
- name: Deploy to Orchestrator
run: uipath deploy . --folder "SpaceName/ExampleFolder"
Can you tell me what I’m doing wrong? I’d like the flow to automatically add the project package to the orchestrator after publishing the code on GitHub.
the indentations in the yml code are correct, but when published on the forum they were pasted incorrectly
Hi @Susannna
There was some naming convention and space issue is coming so that’s the reason you saw that error please try this
name: UiPath-CICD-Prod
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: UiPath CLI Login
uses: UiPath/cli@v2
with:
client_id: ${{ secrets.UIPATH_CLIENT_ID }}
client_secret: ${{ secrets.UIPATH_CLIENT_SECRET }}
account: ${{ secrets.UIPATH_ORGANIZATION_NAME }}
tenant: ${{ secrets.ORCH_TENANT }}
url: ${{ secrets.ORCH_URL }}
- name: Pack UiPath project
run: |
uipath pack ./ --output ./output
- name: Deploy package to Orchestrator
run: |
uipath deploy ./output/*.nupkg --folder "ExampleFolder"
If this solution works for you please mark as Solved or let me know if u still face issue
Thanks & Happy Automations
Hi @Susannna ,
Got it. If indentation is correct, then the real issues are not YAML formatting. The main problems are that UiPath/cli@v2 only installs the CLI (it does not authenticate), ubuntu-latest must be spelled correctly, and you need an explicit UiPath auth login step before pack/deploy. Also make sure you deploy the generated .nupkg and that the external app has access to the target Orchestrator folder. These are what cause the job to run indefinitely and the deploy to fail.
Hi @Susannna
- Fix typo: ubuntu-lastest → ubuntu-latest
- YAML indentation is wrong (GitHub Actions is very strict)
- Use folder name only, not SpaceName/Folder
- Pack to an output folder and deploy that package
fix:
runs-on: ubuntu-latest
and deploy like:
UiPath pack . --output ./output
UiPath deploy ./output --folder “ExampleFolder”
After this, the pipeline should publish the package to Orchestrator correctly.