{"id":20589663,"url":"https://github.com/coreos/coreos-ci","last_synced_at":"2025-03-06T13:29:55.081Z","repository":{"id":42079686,"uuid":"237238386","full_name":"coreos/coreos-ci","owner":"coreos","description":"CoreOS CI powers upstream testing for CoreOS projects.","archived":false,"fork":false,"pushed_at":"2025-02-27T02:29:58.000Z","size":89,"stargazers_count":6,"open_issues_count":4,"forks_count":11,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-02-27T03:30:08.746Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://jenkins-coreos-ci.apps.ocp.ci.centos.org/","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/coreos.png","metadata":{"files":{"readme":"README-upstream-ci.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2020-01-30T15:05:52.000Z","updated_at":"2025-02-27T02:30:03.000Z","dependencies_parsed_at":"2023-01-19T18:48:33.916Z","dependency_job_id":"a83429f6-d7c3-4f1f-816a-c64d0d3bc2ad","html_url":"https://github.com/coreos/coreos-ci","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coreos%2Fcoreos-ci","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coreos%2Fcoreos-ci/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coreos%2Fcoreos-ci/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coreos%2Fcoreos-ci/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coreos","download_url":"https://codeload.github.com/coreos/coreos-ci/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242218200,"owners_count":20091353,"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":[],"created_at":"2024-11-16T07:30:18.332Z","updated_at":"2025-03-06T13:29:55.056Z","avatar_url":"https://github.com/coreos.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"## Upstream CI\n\n### Interacting\n\n#### Logging in\n\nThe Jenkins instance uses GitHub authentication. As long as\nyou are a member of either `coreos`, `ostreedev` or\n`openshift`, you should be able to log in and\nstart/stop/retry jobs.\n\n#### Retrying jobs\n\nIn order to retry the failed job, from the GitHub PR, click\nthrough to the details of the failed job and use the retry\n\"loopy icon\" at the top right of the job page.\n\n### Enrolling a new repo for upstream CI\n\nTo enroll a repo, simply open a patch to have it added to\nthe list in `seed-github-ci.Jenkinsfile`.\n\nThe `coreosbot` user needs to have admin access to the repo.\nThis is needed in order to automatically manage webhooks.\nAlternatively, you may elect to only provide write access,\nat the expense of manually setting up the webhook.\n\nFor repos under the `coreos` org. This should be done by\nsimply adding the `team-bots` team.\n\n### Writing a Jenkinsfile\n\nUpstream repos must have a Jenkins pipeline in a file called\n`.cci.jenkinsfile` at the root of the repo.\n\nThis pipeline should heavily leverage the custom steps in\n[coreos-ci-lib](https://github.com/coreos/coreos-ci-lib).\nThis is a global shared library which all jobs automatically\nhave access to.\n\nFor example, here is a sample Jenkinsfile to build the\nsoftware locally, build FCOS with its results overlayed and\nrun kola:\n\n```groovy\n// Documentation: https://github.com/coreos/coreos-ci/blob/main/README-upstream-ci.md\n\ncosaPod {\n    checkout scm\n    fcosBuild(make: true)\n}\n```\n\nThe relevant functions used here are\n[cosaPod](https://github.com/coreos/coreos-ci-lib/blob/main/vars/cosaPod.groovy)\nand\n[fcosBuild](https://github.com/coreos/coreos-ci-lib/blob/main/vars/fcosBuild.groovy).\n\nIn practice, it's likely that the `make: true` functionality\nin `coreos-ci-lib` will be too simplistic. The `fcosBuild`\nstep can also take an arbitrary `overlays` parameter to pass\nany rootfs directory to overlay.\n\n### Contributor trust\n\nBy default, CoreOS CI will refuse to test changes to\n`.cci.jenkinsfile` from contributors that aren't\ncollaborators on the target repo. Instead, the\n`.cci.jenkinsfile` will be taken from the target branch for\ntesting purposes.\n\nIf you'd like to have their changes to `.cci.jenkinsfile`\ntested in the CI for the same PR, then they need to be made\ncollaborators. Read access is sufficient.\n\nIf this is done through org and team membership (e.g. adding\nthem to a team which has read access to the repo), then they\nshould ensure that their org membership is public.\n\nAnother approach is to have a collaborator resubmit the\npatches in a separate PR on their behalf (original commit\nauthorship can and should be kept). This may be more\nappropriate if PRs from the contributor are not expected to\nbe frequent, or will not affect multiple repos.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoreos%2Fcoreos-ci","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoreos%2Fcoreos-ci","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoreos%2Fcoreos-ci/lists"}