{"id":37136623,"url":"https://github.com/drone/drone-convert-starlark","last_synced_at":"2026-01-14T15:55:29.956Z","repository":{"id":142631358,"uuid":"205745227","full_name":"drone/drone-convert-starlark","owner":"drone","description":"DEPRECATED:  native Starlark support was added to Drone core.  This extension is no longer required and has been deprecated.","archived":true,"fork":false,"pushed_at":"2021-05-10T19:02:14.000Z","size":48,"stargazers_count":16,"open_issues_count":2,"forks_count":9,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-08-16T02:59:18.958Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://docs.drone.io/server/reference/drone-starlark-enabled/","language":"Go","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/drone.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-09-01T23:43:57.000Z","updated_at":"2023-01-28T09:01:24.000Z","dependencies_parsed_at":"2023-04-28T00:47:22.242Z","dependency_job_id":null,"html_url":"https://github.com/drone/drone-convert-starlark","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/drone/drone-convert-starlark","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drone%2Fdrone-convert-starlark","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drone%2Fdrone-convert-starlark/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drone%2Fdrone-convert-starlark/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drone%2Fdrone-convert-starlark/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/drone","download_url":"https://codeload.github.com/drone/drone-convert-starlark/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/drone%2Fdrone-convert-starlark/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28425570,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T15:24:48.085Z","status":"ssl_error","status_checked_at":"2026-01-14T15:23:41.940Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-14T15:55:29.379Z","updated_at":"2026-01-14T15:55:29.947Z","avatar_url":"https://github.com/drone.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"__Deprecation Notice__\n\nStarlark configuration support is natively available in Drone; use of this extension is no longer required.  See https://docs.drone.io/server/reference/drone-starlark-enabled/\n\n---\n\nA conversion plugin that provides optional support for generating pipeline configuration files via Starlark scripting. _Please note this project requires Drone server version 1.4 or higher._\n\nQuestions and Support:\u003cbr/\u003e\nhttps://discourse.drone.io\n\nBug Tracker:\u003cbr/\u003e\nhttps://discourse.drone.io/c/bugs\n\nFeatures and Roadmap:\u003cbr/\u003e\nhttps://trello.com/b/ttae5E5o/drone\n\n## Installation\n\nCreate a shared secret:\n\n```text\n$ openssl rand -hex 16\nbea26a2221fd8090ea38720fc445eca6\n```\n\nDownload and run the plugin:\n\n```text\n$ docker run -d \\\n  --publish=3000:3000 \\\n  --env=DRONE_DEBUG=true \\\n  --env=DRONE_SECRET=bea26a2221fd8090ea38720fc445eca6 \\\n  --restart=always \\\n  --name=starlark drone/drone-convert-starlark\n```\n\nUpdate your Drone server configuration to include the plugin address and the shared secret.\n\n```text\nDRONE_CONVERT_PLUGIN_ENDPOINT=http://1.2.3.4:3000\nDRONE_CONVERT_PLUGIN_SECRET=bea26a2221fd8090ea38720fc445eca6\n```\n\n## External loads/imports (optional)\n\nStarlark/Bazel has support for [loading](https://docs.bazel.build/versions/master/build-ref.html#load) extensions (modules). This is useful for cases where you'd like to share re-usable logic. drone-convert-starlark supports the ability to define extension repositories that pipelines can load extensions from.\n\nFor example:\n\n```python\n# Relative load.\nload(\"@test//:steps.star\", \"example_step\")\n\n# Absolute load.\nload(\"@test//subpackage:pipelines.star\", \"example_pipeline\")\n\ndef main(ctx):\n    return example_pipeline(\"sample\", steps = example_step())\n``` \n\nIn this case, `test` is the repo name. The first `load` imports an extension named `steps_extension.star` and extracts the `example_step` symbol for use in our Drone pipeline. The second example drills into the `subpackage` directory within the `test` repo to load an extension called `pipelines.star`, then extracts a symbol named `example_pipeline`.\n\nTo make this work for your own pipelines, you'll need to set an `DRONE_STARLARK_REPO_PATHS` environment variable, with the value being a comma-separated list of `repoName:repoPath` pairs. For example:\n\n```text\nDRONE_STARLARK_REPO_PATHS=test:/var/lib/drone/starlark/test,othertest:/var/lib/drone/starlark/othertest\n```\n\nAfter setting the above, the converter will output the defined repos during startup.\n\n_Note: This will only allow pipelines to load from the remote repos you define. A build will not be able to `load()` files in the same repo as the pipeline (`.drone.star`). \n\n## Testing\n\nYou can test the extension using the command line utility. Provide the command line utility with the conversion extension endpoint and secret.\n\n```text\n$ export DRONE_CONVERT_ENDPOINT=http://1.2.3.4:3000\n$ export DRONE_CONVERT_SECRET=bea26a2221fd8090ea38720fc445eca6\n```\n\nUse the command line utility to convert the Starlark script:\n\n```\n$ drone plugins convert path/to/.drone.star\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrone%2Fdrone-convert-starlark","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdrone%2Fdrone-convert-starlark","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdrone%2Fdrone-convert-starlark/lists"}