hey guy's, im using Azure devops and have multiple pipelines set up for all our apps, i would like to set one up for Roku..
Does anybody know how this can be done?
@philanderson777 most of the logic behind the vscode extension is available as independent npm packages, which is why I linked to brighterscript and roku-deploy directly.
You can build a zip of your app by running the BrighterScript cli like this:
npm install brighterscript
cd your/Roku/root/dir
npx brighterscript
It'll check your app for syntax errors (missing curly brace, that function does not exist, etc...) and then create a zip in the ./out directory.
The nice thing is, you can run this locally as well, so you can keep testing it until it works the way you want.
What specifically do you want to accomplish in this pipeline? There are several great nodejs tools out there to help validate, package, and sign your roku apps (brighterscript, roku-deploy ). But the captcha on the Roku developer upload portal prevents fully automated app submission.
Also just to add to that ...
we have local jenkins server with a local Roku hardware device which is semi-automated ...
I don't think azure in the cloud will work yet because there are no virtualized Roku devices yet that could attach to a cloud server .... that's my thinking anyway, could be wrong on that!
With Roku at present you have got to have a physical hardware device to run the code against, so fully cloud operations/testing etc is not going to work ...
all we need is to build the code to Zip and share with QA team..
the process of building the app is were im confused. it Zips it?
the app still needs to be uploaded to the store and processed.
im sure there is something in the pipeline that just builds it and not test it?
I am not sure if @TwitchBronBron has any better suggestions because the VSCode brightscript extensions etc - they won't be running on the Azure server, right? So you won't have access to that functionality? They are what is used normally to build the files into a ZIP file.
Here is an alternative where someone is using a cloud-only solution to build the ZIP - don't know if that helps at all? https://gist.github.com/rymawby/32a80f6e6a446d2e3e77
Sorry can't be more helpful.
@philanderson777 most of the logic behind the vscode extension is available as independent npm packages, which is why I linked to brighterscript and roku-deploy directly.
You can build a zip of your app by running the BrighterScript cli like this:
npm install brighterscript
cd your/Roku/root/dir
npx brighterscript
It'll check your app for syntax errors (missing curly brace, that function does not exist, etc...) and then create a zip in the ./out directory.
The nice thing is, you can run this locally as well, so you can keep testing it until it works the way you want.
ah i have an NPM extension in azure il test it out to see. Thx for the help guys!
hey, i have been playimng arround with this and have a question seen that i would need to download the IDK and build from that?does this make sence?
trigger:
- main
pool:
vmImage: 'ubuntu-latest'
- script: |
wget https://myrepo.com/DefaultCollection/Main/_git/repo-RokuIDK?path=/11.0.811-IDK.tar.gz&version=GBmain
unzip 11.0.811-IDK.tar.gz -d /opt
displayName: 'Install Roku SDK'
- task: Bash@3
inputs:
targetType: 'inline'
script: |
cd source
rake build
- task: CopyFiles@2
displayName: 'Copy zip Files 2'
inputs:
contents: '**/*.zip'
targetFolder: '$(build.artifactStagingDirectory)'
overWrite: true
CleanTargetFolder: true
flattenFolders: true
- task: PublishBuildArtifacts@1
displayName: 'Publishing Artifacts 2'
inputs:
pathToPublish: '$(build.artifactStagingDirectory)'
artifactName: 'Release-$(Build.BuildId)'
artifactType: 'container'
But i get an error downloading the file..that i can add to google drive if any, but do i need to use the IDK to build it?
No, you don't need the IDK. that's for writing bare-metal applications using Roku's C++ IDK SDK. It is very unlikely that you've written an IDK app. You are probably writing your app using scenegraph and brightscript, which does not use the IDK or NDK.
Roku apps must be compiled on a Roku device. The only "build" you can do off-device is to zip the application, which involves copying your .brs, .xml, .jpg, manifest files into a zip with a specific structure.
Then, you can upload that zip to a working roku with dev mode enabled, and ask that Roku to generate a pkg for you. Then a human must upload that pkg to the roku portal.