Yes, PLTcloud allows for uploading a release utilizing a command line client. This client can be included in your CI pipeline in order to automatically deploy a firmware build to PLTcloud.
The PLTcloud client is distributed as a Debian package and should work on Debian and other distributions supporting 'deb' files.
The PLTcloud CLI has been tested with TravisCI and GitHub Actions. Other CI tools can be utilized as long as they run a supported OS and support the installation of custom packages.
pltcloud -t <TOKEN> -v <VERSION> -p <UUID> -f <GLOB>
|-t token||API Token|
|-f string||File specifier|
|-v version||Release version|
|-p uuid||Project UUID|
Files can be specified with patterns such as: **/prefix*, grandparent/**/child?, **/parent/*, or even just ** (which will include all files and directories recursively).
Example: Travis CI integration
- A TravisCI account and Travis CI client
- A git repository containing DUT firmware image and test plans
- A PLTcloud organization, user and project
Step 1: Validate Travis CI build
In order to upload a release, the PLT test plan, and any associated assets such as DUT firmware must be available in a directory. The existing build should create all the necessary files for a release in the install or script life cycle.
sudo: required language: c script: - make dist
Step 2: Add section to install PLTcloud CLI
Add a before_deploy: section to .travis.yml in order to install the CLI tool.
before_deploy: - sudo apt-get update - sudo apt-get install -y musl - wget https://download.pltcloud.com/cli/pltcloud_0.2.2_amd64.deb - sudo dpkg -i pltcloud_0.2.2_amd64.deb
Step 3: Configure Project and Token environment variables
Log in to PLTcloud and select the Project menu item from the project drop-down in the top banner.
Copy the UUID from the project detail page and as an environment variable in .travis.yml
env: global: PROJECT_UUID=672124b6-9894-11e5-be38-001d42e813fe
Select API Tokens from the drop-down menu under the user menu.
Select Add Release Token, login and copy the Release Upload Token
Encrypt the token and add it to .travis.yml with the command travis encrypt API_TOKEN=*************** --add
Step 4: Add deployment
Add deployment section to .travis.yml
deploy: - provider: script skip_cleanup: true script: pltcloud -t "$API_TOKEN" -f "dist/*" -v "$TRAVIS_TAG" -p "$PROJECT_UUID" on: all_branches: true tags: true