{"id":27235770,"url":"https://github.com/helmless/google-cloudrun-action","last_synced_at":"2025-04-10T16:59:21.130Z","repository":{"id":263594521,"uuid":"890809009","full_name":"helmless/google-cloudrun-action","owner":"helmless","description":"A Github Action to deploy a rendered Helmless chart to Google Cloud Run.","archived":false,"fork":false,"pushed_at":"2025-03-27T11:10:15.000Z","size":1126,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-03-27T11:39:52.477Z","etag":null,"topics":["cloudrun","github-action","google"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/helmless.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-19T08:10:44.000Z","updated_at":"2025-03-27T11:10:00.000Z","dependencies_parsed_at":"2024-11-19T12:37:29.567Z","dependency_job_id":"cdae858c-5143-4e03-b682-aeeba1950d76","html_url":"https://github.com/helmless/google-cloudrun-action","commit_stats":null,"previous_names":["helmless/google-cloudrun-deploy-action","helmless/google-cloudrun-action"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/helmless%2Fgoogle-cloudrun-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/helmless%2Fgoogle-cloudrun-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/helmless%2Fgoogle-cloudrun-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/helmless%2Fgoogle-cloudrun-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/helmless","download_url":"https://codeload.github.com/helmless/google-cloudrun-action/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248259809,"owners_count":21074197,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["cloudrun","github-action","google"],"created_at":"2025-04-10T16:59:20.533Z","updated_at":"2025-04-10T16:59:21.121Z","avatar_url":"https://github.com/helmless.png","language":"Shell","readme":"\u003ca href=\"https://helmless.io\" target=\"_blank\"\u003e\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\".github/helmless_title.png\"\u003e\n    \u003cimg alt=\"Helmless.io - Serverless Deployments Without Compromise\" src=\".github/helmless_title_light.png\"\u003e\n  \u003c/picture\u003e\n\u003c/a\u003e\n\n# helmless/google-cloudrun-action\n\n![Version](https://img.shields.io/github/v/release/helmless/google-cloudrun-action)\n![License](https://img.shields.io/github/license/helmless/google-cloudrun-action)\n\nThe [helmless/google-cloudrun-action](https://github.com/helmless/google-cloudrun-action) is a GitHub Action to template and deploy Helmless Helm charts to Google Cloud Run in a single step. This streamlined action follows a \"golden path\" approach for ease of use, while providing just enough flexibility for common use cases.\n\nFor advanced customization, you can use the individual actions directly: [helmless/template-action](https://github.com/helmless/template-action) and [helmless/google-cloudrun-action/deploy](https://github.com/helmless/google-cloudrun-action/tree/main/deploy).\n\n## Prerequisites\n\n- A Google Cloud Platform account with appropriate permissions\n- Credentials for Google Cloud (typically provided via [google-github-actions/auth](https://github.com/google-github-actions/auth))\n- Your values file must include the `project` and `region` settings to identify the GCP project and region\n\n## Example Workflow\n\nThe following example workflow demonstrates how to deploy a Helmless Helm chart to Google Cloud Run. For more details on how to setup your workflow, see the [Helmless Documentation](https://helmless.io/docs/cloudrun/ci-cd).\n\n\u003c!-- x-release-please-start-version --\u003e\n```yaml\nname: 🚀 Deploy to Google Cloud Run\n\non:\n  workflow_dispatch:\n  push:\n    branches:\n      - main\n  pull_request:\n    branches:\n      - main\n\njobs:\n  deploy:\n    name: 🚀 Deploy\n    runs-on: ubuntu-latest\n    permissions:\n      contents: read\n      id-token: write\n    steps:\n      - name: 📥 Checkout Repository\n        uses: actions/checkout@v4\n\n      - name: 🔑 Google Auth\n        id: auth\n        uses: google-github-actions/auth@v2\n        with:\n          # See the Helmless Documentation for more information on how to setup a Workload Identity Provider\n          # https://helmless.io/docs/cloudrun/ci-cd/#workload-identity-federation\n          workload_identity_provider: \"projects/YOUR_PROJECT_ID/locations/global/workloadIdentityPools/YOUR_WORKLOAD_IDENTITY_POOL/providers/github\"\n\n      - name: 🚀 Deploy Workload with Custom Chart\n        uses: helmless/google-cloudrun-action@v1.0.0\n        with:\n          # Replace this with the path to your Helm chart using the Helmless Helm chart as dependency\n          chart: './charts/e2e-test'\n          # The values files are merged in order with the values.yaml file in the chart\n          # The last file wins if there are conflicts\n          files: |\n            ./charts/values-only/values.dev.yaml\n          # If true, the final manifest will be checked against the Cloud Run API\n          # without actually deploying.\n          dry_run: false\n      \n      - name: 🚀 Deploy Helmless Default Chart\n        uses: helmless/google-cloudrun-action@v1.0.0\n        with:\n          # As a convenience you can set the type to \"service\" or \"job\"\n          # and the chart will be set automatically.\n          type: service\n          # In this case you need to provide all values files you want to use.\n          files: |\n            ./charts/values-only/values.yaml\n            ./charts/values-only/values.dev.yaml\n```\n\u003c!-- x-release-please-end --\u003e\n\n\u003c!-- x-release-please-start-version --\u003e\n\u003c!-- action-docs-usage action=\"action.yaml\" project=\"helmless/google-cloudrun-action\" version=\"v1.0.0\" --\u003e\n### Usage\n\n```yaml\n- uses: helmless/google-cloudrun-action@v1.0.0\n  with:\n    chart:\n    # Helm chart to use for templating. Defaults to the Google Cloud Run chart.\n    #\n    # Required: false\n    # Default: oci://ghcr.io/helmless/google-cloudrun-service\n\n    chart_version:\n    # Version of the Helm chart to use.\n    #\n    # Required: false\n    # Default: latest\n\n    type:\n    # One of \"service\" or \"job\". The chart and type settings are mutually exclusive. If the type is set, the chart input will be ignored and the type will be used to determine which Helmless chart to use.\n    #\n    # Required: false\n    # Default: \"\"\n\n    files:\n    # Glob patterns of value files to include when templating the chart.\n    #\n    # Required: false\n    # Default: values.yaml\n\n    template_only:\n    # If true, only template the chart without deploying. Will also skip dry_run validation.\n    #\n    # Required: false\n    # Default: false\n\n    dry_run:\n    # If true, only validate the configuration without deploying.\n    #\n    # Required: false\n    # Default: false\n```\n\u003c!-- action-docs-usage action=\"action.yaml\" project=\"helmless/google-cloudrun-action\" version=\"v1.0.0\" --\u003e\n\u003c!-- x-release-please-end --\u003e\n\n\u003c!-- action-docs-inputs source=\"action.yaml\" --\u003e\n### Inputs\n\n| name | description | required | default |\n| --- | --- | --- | --- |\n| `chart` | \u003cp\u003eHelm chart to use for templating. Defaults to the Google Cloud Run chart.\u003c/p\u003e | `false` | `oci://ghcr.io/helmless/google-cloudrun-service` |\n| `chart_version` | \u003cp\u003eVersion of the Helm chart to use.\u003c/p\u003e | `false` | `latest` |\n| `type` | \u003cp\u003eOne of \"service\" or \"job\". The chart and type settings are mutually exclusive. If the type is set, the chart input will be ignored and the type will be used to determine which Helmless chart to use.\u003c/p\u003e | `false` | `\"\"` |\n| `files` | \u003cp\u003eGlob patterns of value files to include when templating the chart.\u003c/p\u003e | `false` | `values.yaml` |\n| `template_only` | \u003cp\u003eIf true, only template the chart without deploying. Will also skip dry_run validation.\u003c/p\u003e | `false` | `false` |\n| `dry_run` | \u003cp\u003eIf true, only validate the configuration without deploying.\u003c/p\u003e | `false` | `false` |\n\u003c!-- action-docs-inputs source=\"action.yaml\" --\u003e\n\n\u003c!-- action-docs-outputs source=\"action.yaml\" --\u003e\n### Outputs\n\n| name | description |\n| --- | --- |\n| `manifests_deployed` | \u003cp\u003eThe number of manifests that were deployed.\u003c/p\u003e |\n| `workloads` | \u003cp\u003eJSON array of all deployed Cloud Run workloads with their details (name, type, region, project).\u003c/p\u003e |\n\u003c!-- action-docs-outputs source=\"action.yaml\" --\u003e\n\n### Using Deployment Outputs\n\nThe action returns information about all deployed workloads as a JSON array, which you can use in subsequent steps:\n\u003c!-- x-release-please-start-version --\u003e\n```yaml\n- name: Deploy to Cloud Run\n  id: deploy\n  uses: helmless/google-cloudrun-action@v1.0.0\n  with:\n    files: values/production.yaml\n\n- name: Use deployment outputs\n  run: |\n    # The number of manifests deployed\n    echo \"Deployed ${{ steps.deploy.outputs.manifests_deployed }} workload(s)\"\n    \n    # Access the workloads array (parse with jq)\n    echo '${{ steps.deploy.outputs.workloads }}' | jq -r '.[] | \"Deployed \\(.type) \\(.name) to \\(.project) in \\(.region)\"'\n```\n\u003c!-- x-release-please-end --\u003e\n\n## 🤝🏻 Contributing\n\nWe welcome contributions! Please see the [Contributing Guide](CONTRIBUTING.md) for more information and the general [Helmless contribution guidelines](https://helmless.io/contributing).\n\n## 📝 License\n\nThis project is licensed under the [MIT License](LICENSE). See the [LICENSE](LICENSE) file for details.","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhelmless%2Fgoogle-cloudrun-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhelmless%2Fgoogle-cloudrun-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhelmless%2Fgoogle-cloudrun-action/lists"}