{"id":13849954,"url":"https://github.com/atomist-attic/travis-editors","last_synced_at":"2025-07-12T21:32:27.940Z","repository":{"id":141019028,"uuid":"75415817","full_name":"atomist-attic/travis-editors","owner":"atomist-attic","description":"Rug editors to enable Travis CI","archived":true,"fork":false,"pushed_at":"2017-02-15T14:04:44.000Z","size":88,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-15T21:15:50.717Z","etag":null,"topics":["atomist","rugs","travis-ci"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/atomist-attic.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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}},"created_at":"2016-12-02T17:17:29.000Z","updated_at":"2023-01-28T18:57:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"d2640137-5c94-4ace-a1df-2d49ceb7cf3a","html_url":"https://github.com/atomist-attic/travis-editors","commit_stats":null,"previous_names":["atomist-rugs/travis-editors"],"tags_count":86,"template":false,"template_full_name":null,"purl":"pkg:github/atomist-attic/travis-editors","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomist-attic%2Ftravis-editors","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomist-attic%2Ftravis-editors/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomist-attic%2Ftravis-editors/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomist-attic%2Ftravis-editors/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/atomist-attic","download_url":"https://codeload.github.com/atomist-attic/travis-editors/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atomist-attic%2Ftravis-editors/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261311657,"owners_count":23139479,"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":["atomist","rugs","travis-ci"],"created_at":"2024-08-04T20:00:53.859Z","updated_at":"2025-07-12T21:32:27.724Z","avatar_url":"https://github.com/atomist-attic.png","language":"TypeScript","funding_links":[],"categories":["Travis CI"],"sub_categories":[],"readme":"# Atomist 'travis-editors'\n\n[![Build Status](https://travis-ci.org/atomist-rugs/travis-editors.svg?branch=master)](https://travis-ci.org/atomist-rugs/travis-editors)\n[![Slack Status](https://join.atomist.com/badge.svg)](https://join.atomist.com)\n\nThis [Rug](http://docs.atomist.com/) archive has editors that enable\nand configure a [Travis CI](https://travis-ci.org/) build for a GitHub\nrepository.  These Rugs work with both public (travis-ci.org) and\nprivate (travis-ci.com) builds.\n\nThis project uses an extended version of the Rug language, using the [Travis language extension](https://github.com/atomist-rugs/travis-rug-type).\n\n## Rugs\n\n### EnableTravisForRugArchiveDSL and EnableTravisForRugArchiveTS\n\nThe EnableTravisForRugArchiveDSL and EnableTravisForRugArchiveTS are\nimplementations of the exact same functionality using two different\nRug languages: the [Rug DSL][rug] and [TypeScript][ts].\n\n[rug]: http://docs.atomist.com/\n[ts]: https://www.typescriptlang.org/\n\n#### Prerequisites\n\nBefore running this Editor, you must have the following prerequisites\nsatisfied.\n\n*   A GitHub repository for a Rug archive cloned locally.\n*   Travis CI authorized to access the repository containing your\n    Rugs.  Typically, Travis CI authorizations are done on an\n    user/organization basis.  See the Travis\n    CI [Getting Started Guide][travis-start] for more information.\n\n#### Parameters\n\nTo run this editor, you must supply the following parameters.\n\n*   `repo_slug`: The Rug archive's GitHub repository slug, e.g.,\n    `atomist-rugs/common-editors`.\n*   `github_token`: A [GitHub Personal Access Token][gh-token] with\n    the following scopes:\n\n    -    `repo`: for Travis CI, creating tags\n    -    `write:repo_hook`: for Travis CI\n    -    `user:email`: for Travis CI\n    -    `read:org`: for Travis CI\n\n    This token is used by Travis CI to authenticate to GitHub for\n    these edits.  It is not needed and can be deleted after the Editor\n    completes.  These above scopes are a union of the permissions\n    required by Travis CI to for both public and private GitHub\n    repositories.  The token must be a from a GitHub user who is an\n    owner of the repository.  If the owner of the repository is a\n    GitHub organization, this means the token must be from a user in\n    the Owner group.  Sometimes the scopes required by Travis CI\n    change.  You can get the current list of scopes directly from\n    Travis CI.  Change `ENDPOINT` to `com` if running the Editor on\n    private repositories or `org` if running the Editor on public\n    repositories.  If you want to use the same token for both, run the\n    command below against both endpoints and create a token with a\n    union of the scopes.\n\n        $ curl -s -H 'Content-Type: application/json' -H 'User-Agent: CurlClient/1.0.0' -H 'Accept: application/vnd.travis-ci.2+json' https://api.travis-ci.ENDPOINT/config | jq .config.github.scopes\n\n*   `org`: Select which Travis CI endpoint to use.  Set to `.org` if\n    `repo_slug` is a public repository and `.com` if it is a private\n    repository.\n*   `maven_base_url`, `maven_user`, `maven_token`: A [Maven][maven]\n    repository base URL and user name \u0026 password/token where the Rug\n    archive will be published.  The base URL is the Maven repository\n    URL without the trailing repository name.  The Maven repositories\n    `maven_base_url`/rugs-dev and `maven_base_url`/rugs-release must\n    exist and `maven_user` must have write access to them.  It is\n    recommended to create a dedicated Maven CI user with just this\n    access.\n\n[travis-start]: https://docs.travis-ci.com/user/getting-started/\n[gh-token]: https://github.com/settings/tokens\n[maven]: https://maven.apache.org/\n\n#### Running\n\nRun it as follows:\n\n```\n$ cd to/your/rug/archive/repo\n$ rug edit atomist-rugs:travis-editors:EnableTravisForRugArchiveDSL \\\n    repo_slug=$REPO_OWNER/$REPO_NAME \\\n    github_token=$GITHUB_TOKEN \\\n    maven_base_url=$MAVEN_BASE_URL \\\n    maven_user=$MAVEN_USER \\\n    maven_token=$MAVEN_TOKEN \\\n    org=.org\n```\n\nThis will add the necessary files to your rug archive and enable the\nbuild in Travis CI.  Commit the changes made by the Editor and push\nthe commit to GitHub.  This will trigger the build of your Rug archive\nand publish it to the `$MAVEN_BASE_URL/rugs-dev` repository.\n\nTo release your rug archive to `$MAVEN_BASE_URL/rugs-release`, push\na [semantic version][semver] tag, i.e., a tag of the form `1.2.3`, to\nyour Rug archive's GitHub repository.  Travis CI will then build the\ntag and publish the archive to the rugs-release repository.\n\n[cli]: https://github.com/atomist/rug-cli\n[semver]: http://semver.org\n\n### UpdateTravisMaven\n\nThe UpdateTravisMaven Editor overwrites the `.settings.xml` and\n`travis-build.bash` files in a [Maven][mvn] project with the latest\nstandard versions.\n\n[mvn]: https://maven.apache.org/\n\n#### Prerequisites\n\nBefore running this Editor, you must have the following prerequisites\nsatisfied.\n\n*   A GitHub repository for a project built with Maven cloned locally.\n\n#### Parameters\n\nThis Editor has no parameters.\n\n#### Running\n\nRun it as follows:\n\n```\n$ cd to/your/rug/archive/repo\n$ rug edit atomist-rugs:travis-editors:UpdateTravisMaven\n```\n\nIf the project is a Maven project, this will upsert `.settings.xml`\nand `travis-build.bash` files in the top-level directory of the\nproject.  If you are happy with the change, commit the changes made by\nthe Editor and push the commit to GitHub.\n\n## Support\n\nGeneral support questions should be discussed in the `#support`\nchannel on our community slack team\nat [atomist-community.slack.com][slack].\n\nIf you find a problem, please create an [issue][].\n\n[issue]: https://github.com/atomist-rugs/travis-editors/issues\n\n## Development\n\nYou can build, test, and install the project locally with\nthe [Rug CLI][cli].  Before running the Rug CLI and after any changes\nto the `.atomist/package.json` file, you should ensure all of the\ndependencies are available locally by running `npm install`.\n\n[cli]: https://github.com/atomist/rug-cli\n\n```sh\n$ cd .atomist\n$ npm install\n$ rug test\n$ rug install\n```\n\nTo create a new release of the project, simply push a tag of the form\n`M.N.P` where `M`, `N`, and `P` are integers that form the next\nappropriate [semantic version][semver] for release.  For example:\n\n```sh\n$ git tag -a 1.2.3\n```\n\nThe Travis CI build (see badge at the top of this page) will\nautomatically create a GitHub release using the tag name for the\nrelease and the comment provided on the annotated tag as the contents\nof the release notes.  It will also automatically upload the needed\nartifacts.\n\n---\nCreated by [Atomist][atomist].\nNeed Help?  [Join our Slack team][slack].\n\n[atomist]: https://www.atomist.com/\n[slack]: https://join.atomist.com/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatomist-attic%2Ftravis-editors","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fatomist-attic%2Ftravis-editors","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatomist-attic%2Ftravis-editors/lists"}