{"id":13487130,"url":"https://github.com/related-sciences/gce-github-runner","last_synced_at":"2025-03-27T21:31:53.623Z","repository":{"id":43956596,"uuid":"381059114","full_name":"related-sciences/gce-github-runner","owner":"related-sciences","description":"Ephemeral GCE/GCP GitHub self-hosted runner","archived":false,"fork":false,"pushed_at":"2023-11-13T13:58:29.000Z","size":36,"stargazers_count":35,"open_issues_count":8,"forks_count":33,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-04-14T04:05:20.008Z","etag":null,"topics":["actions","gcp","github-actions","google-cloud-platform","self-hosted-runner"],"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/related-sciences.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2021-06-28T14:25:09.000Z","updated_at":"2024-06-23T07:55:11.997Z","dependencies_parsed_at":"2024-01-16T09:03:03.917Z","dependency_job_id":"5810e81f-2dcf-44f2-890a-088d7bf3bb87","html_url":"https://github.com/related-sciences/gce-github-runner","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/related-sciences%2Fgce-github-runner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/related-sciences%2Fgce-github-runner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/related-sciences%2Fgce-github-runner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/related-sciences%2Fgce-github-runner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/related-sciences","download_url":"https://codeload.github.com/related-sciences/gce-github-runner/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245927322,"owners_count":20695214,"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":["actions","gcp","github-actions","google-cloud-platform","self-hosted-runner"],"created_at":"2024-07-31T18:00:55.689Z","updated_at":"2025-03-27T21:31:53.175Z","avatar_url":"https://github.com/related-sciences.png","language":"Shell","funding_links":[],"categories":["The matrix (might be better readable on [GitHub pages](https://jonico.github.io/awesome-runners/))"],"sub_categories":["A word about self-hosted action runner images / virtual environments and how to test locally"],"readme":"# gce-github-runner\n[![awesome-runners](https://img.shields.io/badge/listed%20on-awesome--runners-blue.svg)](https://github.com/jonico/awesome-runners)\n[![Pre-commit](https://github.com/related-sciences/gce-github-runner/actions/workflows/pre_commit.yml/badge.svg?branch=main)](https://github.com/related-sciences/gce-github-runner/actions/workflows/pre_commit.yml)\n[![Test](https://github.com/related-sciences/gce-github-runner/actions/workflows/test.yml/badge.svg?branch=main)](https://github.com/related-sciences/gce-github-runner/actions/workflows/test.yml)\n\nEphemeral GCE GitHub self-hosted runner.\n\n## Usage\n\n```yaml\njobs:\n  create-runner:\n    runs-on: ubuntu-latest\n    outputs:\n      label: ${{ steps.create-runner.outputs.label }}\n    steps:\n      - id: create-runner\n        uses: related-sciences/gce-github-runner@v0.11\n        with:\n          token: ${{ secrets.GH_SA_TOKEN }}\n          project_id: ${{ secrets.GCP_PROJECT_ID }}\n          service_account_key: ${{ secrets.GCP_SA_KEY }}\n          image_project: ubuntu-os-cloud\n          image_family: ubuntu-2004-lts\n\n  test:\n    needs: create-runner\n    runs-on: ${{ needs.create-runner.outputs.label }}\n    steps:\n      - run: echo \"This runs on the GCE VM\"\n```\n\n * `create-runner` creates the GCE VM and registers the runner with unique label\n * `test` uses the runner\n * the runner VM will be automatically shut down after the workflow via [self-hosted runner hook](https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/running-scripts-before-or-after-a-job)\n\n## Inputs\n\nSee inputs and descriptions [here](./action.yml).\n\nThe GCE runner image should have at least:\n * `gcloud`\n * `git`\n * (optionally) GitHub Actions Runner (see `actions_preinstalled` parameter)\n\n## Example Workflows\n\n* [Test Workflow](./.github/workflows/test.yml): Test workflow.\n\n## Self-hosted runner security with public repositories\n\nFrom [GitHub's documentation](https://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners#self-hosted-runner-security-with-public-repositories):\n\n\u003e We recommend that you only use self-hosted runners with private repositories. This is because forks of your\n\u003e repository can potentially run dangerous code on your self-hosted runner machine by creating a pull request that\n\u003e executes the code in a workflow.\n\n## EC2/AWS action\n\nIf you need EC2/AWS self-hosted runner, check out [machulav/ec2-github-runner](https://github.com/machulav/ec2-github-runner).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frelated-sciences%2Fgce-github-runner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frelated-sciences%2Fgce-github-runner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frelated-sciences%2Fgce-github-runner/lists"}