Hey! I think we have most of the pieces in place to do this…
- A standalone version of the Yak CLI can be downloaded from https://files.mcneel.com/yak/tools/latest/yak.exe.
- To get a suitable auth token, run
yak login --ci
locally. This will generate a non-expiring auth token and print it to the command line. The token is scoped to the “yak” client, so it can’t be used for anything else related to your Rhino Account. In your CI environment store the token as a secret and set it as the value of theYAK_TOKEN
environment variable so that yak.exe can used it. - I recommend not using
yak spec
in the CI build. Instead run it locally and add the manifest.yml to version control. In manifest.yml, you can use a placeholder for the version field, i.e.version=$version
and the build command will populate this from the Rhino plug-in.
A couple of examples using GitHub Actions…
- Github Action to Yak
- https://github.com/mcneel/GSA-Grasshopper/blob/master/.github/workflows/yakdeploy.yml
It’s possible to sync packages published to the public server with F4R. It may need a little manual intervention from the F4R team to get this working with an existing F4R “app”.