{"id":28024549,"url":"https://github.com/okteto/build","last_synced_at":"2026-04-08T13:00:47.019Z","repository":{"id":40355680,"uuid":"267441876","full_name":"okteto/build","owner":"okteto","description":"Github action to build images using Okteto","archived":false,"fork":false,"pushed_at":"2026-03-18T16:35:11.000Z","size":138,"stargazers_count":9,"open_issues_count":5,"forks_count":4,"subscribers_count":4,"default_branch":"main","last_synced_at":"2026-03-31T13:09:22.575Z","etag":null,"topics":["cloud-computing","github-actions","kubernetes","microservices","okteto"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/okteto.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"code-of-conduct.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-05-27T22:48:50.000Z","updated_at":"2026-03-18T16:35:28.000Z","dependencies_parsed_at":"2023-12-04T14:54:53.662Z","dependency_job_id":"626580d9-0225-4568-a4da-ab70e615c602","html_url":"https://github.com/okteto/build","commit_stats":{"total_commits":66,"total_committers":9,"mean_commits":7.333333333333333,"dds":0.4696969696969697,"last_synced_commit":"e572c923c1851fb29a72ffb3334d2450f3b5cf44"},"previous_names":[],"tags_count":164,"template":false,"template_full_name":null,"purl":"pkg:github/okteto/build","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okteto%2Fbuild","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okteto%2Fbuild/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okteto%2Fbuild/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okteto%2Fbuild/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/okteto","download_url":"https://codeload.github.com/okteto/build/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okteto%2Fbuild/sbom","scorecard":{"id":704257,"data":{"date":"2025-08-11","repo":{"name":"github.com/okteto/build","commit":"efddd5fe972e42e82e2f6ac7d10bf86b17ab6209"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.9,"checks":[{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Maintained","score":5,"reason":"6 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 5","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: Apache License 2.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: containerImage not pinned by hash: Dockerfile:1: pin your Docker image by updating okteto/okteto:master to okteto/okteto:master@sha256:18ba0185c8f2372f7cf3c5c3b3077aa06727f4b5babd4fba2368e936b373d2ee","Info:   0 out of   1 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}}]},"last_synced_at":"2025-08-22T06:03:16.783Z","repository_id":40355680,"created_at":"2025-08-22T06:03:16.783Z","updated_at":"2025-08-22T06:03:16.783Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31556239,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T10:21:54.569Z","status":"ssl_error","status_checked_at":"2026-04-08T10:21:38.171Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["cloud-computing","github-actions","kubernetes","microservices","okteto"],"created_at":"2025-05-11T02:16:25.829Z","updated_at":"2026-04-08T13:00:47.011Z","avatar_url":"https://github.com/okteto.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitHub Actions for Okteto\n\n## Automate your development workflows using Github Actions and Okteto\n\nGitHub Actions gives you the flexibility to build automated software development workflows. With GitHub Actions for Okteto you can create workflows to build, deploy and update your applications in [Okteto](https://www.okteto.com).\n\nTry Okteto for free for 30 days, no credit card required. [Start your 30-day trial now](https://www.okteto.com/free-trial/)!\n\n## Github Action for Building your Containers in Okteto\n\nYou can use this action to build images from an [Okteto Manifest](https://www.okteto.com/docs/reference/manifest/).\n\n## Inputs\n\n### `tag`\n\nName and optionally a tag in the `name:tag` format for the build. When `file` points to a `Dockerfile`, in order to push the image to a registry, a `tag` is required. Otherwise, the build would be done but no image will be pushed to the registry.\n\n### `file`\n\nThe relative path to the Okteto Manifest.\n\n\u003e You can also use this input to point to a Dockerfile. In this mode, okteto build will ignore your Okteto manifest, and directly build the image defined in the Dockerfile. Use this to build images that are not defined on your Okteto manifest.\n\n### `path`\n\nService from the Okteto Manifest to build. You can select the service to build providing the `path`, otherwise all images at the Okteto Manifest build definition would be build.\n\nWhen repository does not have an Okteto Manifest or `Dockerfile` is provided at `file`, `path` is the execution path of the action. .\n\n### `buildargs`\n\nA list of comma-separated build arguments.\n\n### `target`\n\nSpecific target stage to build image. Only available when `file` refers to a Dockerfile instead of an Okteto Manifest.\n\n### `no-cache`\n\nSet to \"true\" when no cache should be used when building the image\n\n### `cache-from`\n\nA list of comma-separated images where cache should be imported from. Specific target stage to build image. Only available when `file` refers to a Dockerfile instead of an Okteto Manifest.\n\n### `export-cache`\n\nA list of comma-separated images where cache should be exported to.\n\n### `secrets`\n\nA list of semi-colon secrets. Each with format: id=mysecret,src=/local/secret. Specific target stage to build image. Only available when `file` refers to a Dockerfile instead of an Okteto Manifest.\n\n### `platform`\n\nA list of semi-colon target platforms to build\n\n### `log-level`\n\nLog level used. Supported values are: `debug`, `info`, `warn`, `error`. (defaults to warn)\n\n## Example usage\n\n### Build and push images for all services described at an Okteto Manifest\n\nThis example runs the context action `okteto/context@latest` and then builds and pushes an image. A valid Okteto Manifest should exist at the repository.\n\n```yaml\n# File: .github/workflows/workflow.yml\non: [push]\n\nname: example\n\nconcurrency:\n  # more info here: https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#concurrency\n  group: ${{ github.workflow }}-${{ github.ref }}\n  cancel-in-progress: false\n\njobs:\n  devflow:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: okteto/context@latest\n        with:\n          url: https://okteto.example.com\n          token: ${{ secrets.OKTETO_TOKEN }}\n\n      - name: \"Build\"\n        uses: okteto/build@latest\n```\n\n### Build and push images for single service described in the Okteto Manifest\n\nThis example runs the context action `okteto/context@latest` and then builds and pushes the image for the service `service`. A valid Okteto Manifest should exist at the repository.\n\n```yaml\n# File: .github/workflows/workflow.yml\non: [push]\n\nname: example\n\njobs:\n  devflow:\n    runs-on: ubuntu-latest\n    steps:\n      - name: \"Context Setup\"\n        uses: okteto/context@latest\n        with:\n          url: https://okteto.example.com\n          token: ${{ secrets.OKTETO_TOKEN }}\n\n      - name: \"Build\"\n        uses: okteto/build@latest\n        with:\n          path: service\n```\n\n### Build and push images that are not defined in your Okteto manifest.\n\nThis example sets the context, and then builds an image that is not defined in the Okteto Manifest.\n\n```yaml\n# File: .github/workflows/workflow.yml\non: [push]\n\nname: example\n\njobs:\n  devflow:\n    runs-on: ubuntu-latest\n    steps:\n      - name: \"Context Setup\"\n        uses: okteto/context@latest\n        with:\n          url: https://okteto.example.com\n          token: ${{ secrets.OKTETO_TOKEN }}\n\n      - name: \"Build\"\n        uses: okteto/build@latest\n        with:\n          tag: myapp-backend:latest\n          file: Dockerfile\n          path: backend\n```\n\nIf `tag` is not provided, the image won't be pushed to the registry.\n\n## Advanced usage\n\n### Custom Certification Authorities or Self-signed certificates\n\nYou can specify a custom certificate authority or a self-signed certificate by setting the `OKTETO_CA_CERT` environment variable. When this variable is set, the action will install the certificate in the container, and then execute the action.\n\nUse this option if you're using a private Certificate Authority or a self-signed certificate in your [Okteto SH](https://www.okteto.com/docs/self-hosted/) instance. We recommend that you store the certificate as an [encrypted secret](https://docs.github.com/en/actions/reference/encrypted-secrets), and that you define the environment variable for the entire job, instead of doing it on every step.\n\n```yaml\n# File: .github/workflows/workflow.yml\non: [push]\n\nname: example\n\njobs:\n  devflow:\n    runs-on: ubuntu-latest\n    env:\n      OKTETO_CA_CERT: ${{ secrets.OKTETO_CA_CERT }}\n    steps:\n    - name: checkout\n      uses: actions/checkout@master\n\n    - name: \"Context Setup\"\n      uses: okteto/context@latest\n      with:\n        url: https://okteto.example.com\n        token: ${{ secrets.OKTETO_TOKEN }}\n\n    - name: \"Build\"\n      uses: okteto/build@latest\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fokteto%2Fbuild","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fokteto%2Fbuild","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fokteto%2Fbuild/lists"}