{"id":31821383,"url":"https://github.com/bcyran/bumper","last_synced_at":"2025-10-11T13:24:15.637Z","repository":{"id":65695968,"uuid":"560578257","full_name":"bcyran/bumper","owner":"bcyran","description":"Easily bump $pkgver in your AUR packages.","archived":false,"fork":false,"pushed_at":"2025-10-01T06:38:54.000Z","size":237,"stargazers_count":10,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-10T13:41:38.804Z","etag":null,"topics":["archlinux","aur","package-maintenance","packaging"],"latest_commit_sha":null,"homepage":"","language":"Go","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/bcyran.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-11-01T20:00:33.000Z","updated_at":"2025-10-01T06:38:52.000Z","dependencies_parsed_at":"2023-02-19T00:31:03.237Z","dependency_job_id":"3b90840c-0392-4722-852d-c556223e2458","html_url":"https://github.com/bcyran/bumper","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/bcyran/bumper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcyran%2Fbumper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcyran%2Fbumper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcyran%2Fbumper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcyran%2Fbumper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bcyran","download_url":"https://codeload.github.com/bcyran/bumper/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bcyran%2Fbumper/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279007325,"owners_count":26084280,"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","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["archlinux","aur","package-maintenance","packaging"],"created_at":"2025-10-11T13:24:14.497Z","updated_at":"2025-10-11T13:24:15.632Z","avatar_url":"https://github.com/bcyran.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# bumper\n[![CI](https://github.com/bcyran/bumper/actions/workflows/test.yml/badge.svg?branch=master)](https://github.com/bcyran/bumper/actions/workflows/test.yml)\n[![codecov](https://codecov.io/github/bcyran/bumper/branch/master/graph/badge.svg?token=GCRN2996B0)](https://codecov.io/github/bcyran/bumper)\n[![GitHub release](https://img.shields.io/github/v/release/bcyran/bumper)](https://github.com/bcyran/bumper/releases/latest)\n[![Go Reference](https://pkg.go.dev/badge/github.com/bcyran/bumper.svg)](https://pkg.go.dev/github.com/bcyran/bumper)\n[![license](https://img.shields.io/github/license/bcyran/bumper)](https://github.com/bcyran/bumper/blob/master/LICENSE)\n\nHelper for [Arch Linux User Repository](https://aur.archlinux.org/) (AUR) package maintainers to easily bump `$pkgver` in their packages.\n\n![bumper demo gif](./demo.gif)\n\n## TL;DR\nImagine you have all your maintained AUR packages in a single directory.\nRunning `bumper` in this dir will find the packages in subdirectories and perform the following actions for each of them:\n1. **check** - attempt to use URLs found in `.SRCINFO` to infer the latest released version number.\n  Compare that with the `.SRCINFO` version.\n2. **bump** - update `$pkgver` and `$pkgrel` in `PKGBUILD`, run `updpkgsums`, regenerate `.SRCINFO`.\n3. **make** - build the package to make sure it's still valid.\n4. **commit** - `git commit` the changes.\n5. **push** - `git push` the changes.\n\nNothing will be committed or pushed in case of `make` or any other action failure.\n\n## Installation\n### AUR\nAUR packages are available: [bumper](https://aur.archlinux.org/packages/bumper) and [bumper-bin](https://aur.archlinux.org/packages/bumper-bin).\n\n### Binary\nYou can download tarball containing the latest prebuilt binary from the [releases page](https://github.com/bcyran/bumper/releases).\nThe binary named `bumper` has to be placed in directory in your `$PATH`, e.g. `/usr/local/bin`.\n\n### Go\n```\ngo install github.com/bcyran/bumper@latest\n```\n\n## Usage\n### Basics\n`bumper` accepts a single optional argument - path to a directory, if omitted `$PWD` is used.\nThe path can be either a package directory or a directory with many subdirectories containing packages.\n\nConsider the following directory structure:\n```\n/home/user/workspace/aur\n├── package1\n├── package2\n└── package3\n```\nExample `bumper` usage could look like this:\n```bash\n# bump all three packages\nbumper /home/user/workspace/aur\n# or alternatively\ncd /home/user/workspace/aur \u0026\u0026 bumper\n\n# bump a single package\nbumper /home/user/workspace/aur/package1\n# or alternatively\ncd /home/user/workspace/aur/package1 \u0026\u0026 bumper\n```\n\n### Options\n| CLI option | Default | Description |\n| ---------- | ------- | ----------- |\n| `--bump`/`-b` | `true` | Bump outdated packages. If disabled, `bumper` will only check for updates. |\n| `--make`/`-m` | `true` | Build the package after bumping and before commiting. |\n| `--commit`/`-c` | `true` | Commit made changes. Disabling commit disables push as well. |\n| `--push`/`-p` | `false` | Push commited changes. |\n| `--config` | `$XDG_CONFIG_HOME/bumper/config.yaml`, `$HOME/.config/bumper/config.yaml` | Configuration file path. See [configuration section](#configuration). |\n| `--depth`/`-d` | `1` | Depth of directory tree recursion when looking for packages. By default checks given directory and its children. |\n| `--override`/`-o` | - | Override version for specified packages, e.g.: `-o mypackage=1.2.3`. This skips upstream check completely. Can be used multiple times for multiple overrides. |\n| `--completion` | - | Generate and print shell completion script. Available: bash, zsh, fish. |\n| `--version`/`-v` | - | Print version and exit. |\n| `--help`/`-h` | - | Print help and exit. |\n\n### Configuration\nAPIs used to retrieve the upstream versions can have some limitations for unauthorized access.\nGitHub and GitLab APIs in particular use rate limiting, so requests made by `bumper` could fail after a few usages or when bumping a lot of packages.\nYou can configure `bumper` to use your API keys to avoid those limits.\n\nIt's also possible to configure the value used as the commit author.\n\nConfiguration file is expected to be present at `$XDG_CONFIG_HOME/bumper/config.yaml` or `$HOME/.config/bumper/config.yaml`.\nThe format is as follows:\n```yaml\ncheck:\n  providers:\n    github:\n      apiKey: github_api_key\n    gitlab:\n      apiKeys:\n        gitlab.com: gitlab_com_api_key\n        other.gitlab.instance: other_api_key\ncommit:\n  author: John Doe \u003cjohn.doe@example.com\u003e\n```\n**Warning**: All configuration fields are optional and the file isn't checked for additional keys!\nThis means that `bumper` will not fail if you make a typo or other mistake.\nIt will just continue as usual without using your keys.\n\n## Supported upstream services\n- [github.com](https://github.com) - releases and tags API.\n- [gitlab.com](https://gitlab.com) and other GitLab instances - releases and tags API.\n  Instances other than gitlab.com need to have `git` in domain name to be considered.\n- [pypi.org](https://pypi.org) - package metadata API.\n\n## Credits / resources\n- https://github.com/simon04/aur-out-of-date\n- https://github.com/knqyf263/go-rpm-version\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbcyran%2Fbumper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbcyran%2Fbumper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbcyran%2Fbumper/lists"}