{"id":13981060,"url":"https://github.com/bradfitz/shipit","last_synced_at":"2025-07-10T19:05:40.919Z","repository":{"id":597670,"uuid":"233083","full_name":"bradfitz/shipit","owner":"bradfitz","description":"Software Release Tool","archived":false,"fork":false,"pushed_at":"2014-06-01T06:53:43.000Z","size":290,"stargazers_count":55,"open_issues_count":8,"forks_count":23,"subscribers_count":6,"default_branch":"master","last_synced_at":"2024-04-14T09:13:34.980Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://search.cpan.org/~bradfitz/ShipIt/","language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"ha/doozer","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bradfitz.png","metadata":{"files":{"readme":"README","changelog":"ChangeLog","contributing":"CONTRIBUTING","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2009-06-22T03:58:29.000Z","updated_at":"2023-03-26T10:41:00.000Z","dependencies_parsed_at":"2022-08-16T10:31:11.865Z","dependency_job_id":null,"html_url":"https://github.com/bradfitz/shipit","commit_stats":null,"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"purl":"pkg:github/bradfitz/shipit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bradfitz%2Fshipit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bradfitz%2Fshipit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bradfitz%2Fshipit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bradfitz%2Fshipit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bradfitz","download_url":"https://codeload.github.com/bradfitz/shipit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bradfitz%2Fshipit/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264638487,"owners_count":23642160,"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-08-09T04:01:55.940Z","updated_at":"2025-07-10T19:05:40.887Z","avatar_url":"https://github.com/bradfitz.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"NAME\n    ShipIt - software release tool\n\nSYNOPSIS\n     shipit\n\nOVERVIEW\n    Releasing a new version of software takes a lot of steps... finding the\n    next version number (and making sure you didn't already use that version\n    number before), making sure your changelog is updated, making sure your\n    \"make dist\" results in a tarball that builds, commiting changes (with\n    updated version number), tagging, and uploading the tarball somewhere.\n\n    Or maybe more steps. Or not some of the above. Maybe you forgot\n    something! And maybe you manage multiple projects, and each project has\n    a different release process.\n\n    This is all a pain in the ass.\n\n    You want to be hacking, not jumping through hoops.\n\n    Your contributors want to see their patches actually make it into a\n    release, which won't happen if you're afraid of releases.\n\n    shipit automates all the hell. It makes life beautiful.\n\nHOW TO USE\n    Three steps: run \"shipit --write-config\" to make a dummy/template\n    config, edit config file, then run \"shipit\" again\n\n  Step 1/3: Write out template config file\n    In the root directory of your project, run:\n\n      $ shipit --write-config\n\n    And it'll bring up your $EDITOR, so you can do step 2...\n\n  Step 2/3: Tweak your config file\n    The default config file is something like:\n\n      # auto-generated shipit config file.\n      steps = FindVersion, ChangeVersion, CheckChangeLog, DistTest, Commit, Tag, MakeDist\n\n      # svn.tagpattern = MyProj-%v\n      # svn.tagpattern = http://code.example.com/svn/tags/MyProj-%v\n\n      # CheckChangeLog.files = ChangeLog, MyProj.CHANGES\n\n    Tweak away. You may want to add the \"UploadCPAN\" step at the end of\n    steps, as it isn't included by default. It requires cpan-upload or\n    cpan-upload-http installed.\n\n    The comma-separate steps are ShipIt::Step subclasses. Each one may or\n    may accept additional config, as you can see the CheckChangeLog step\n    does. (although CheckChangeLog by default figures it out, how your\n    changelog files are named)\n\n    All values have sensible defaults, and any missing/extra keys generate\n    errors.\n\n    For more info on svn.tagpattern, see ShipIt::VC::SVN.\n\n  Step 3/3: Run 'shipit' again\n    From the root directory of your project, where your new .shipit config\n    file is, type shipit:\n\n       you@host:~/proj$ shipit\n\n    And then it does the rest, after verifying with you the version number\n    you want to release.\n\n    If you're really cautious, run with \"shipit --dry-run\" instead.\n\nCONTRIBUTING\n    If you'd like to contribute to ShipIt (with either a bug report or\n    patch), see:\n\n    http://contributing.appspot.com/shipit\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbradfitz%2Fshipit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbradfitz%2Fshipit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbradfitz%2Fshipit/lists"}