Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ipfs-shipyard/release-please-ipfs-plugin
A release-please helper plugin for IPFS repos. Initially created for IPFS-desktop
https://github.com/ipfs-shipyard/release-please-ipfs-plugin
ci-cd ipfs ipfs-desktop release-please
Last synced: about 2 months ago
JSON representation
A release-please helper plugin for IPFS repos. Initially created for IPFS-desktop
- Host: GitHub
- URL: https://github.com/ipfs-shipyard/release-please-ipfs-plugin
- Owner: ipfs-shipyard
- License: other
- Created: 2023-10-12T21:44:08.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-01-12T10:51:01.000Z (12 months ago)
- Last Synced: 2024-11-01T21:36:40.724Z (about 2 months ago)
- Topics: ci-cd, ipfs, ipfs-desktop, release-please
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/@ipfs-shipyard/release-please-ipfs-plugin
- Size: 203 KB
- Stars: 0
- Watchers: 8
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# @ipfs-shipyard/release-please-ipfs-plugin
[![codecov](https://img.shields.io/codecov/c/github/ipfs-shipyard/release-please-ipfs-plugin.svg?style=flat-square)](https://codecov.io/gh/ipfs-shipyard/release-please-ipfs-plugin)
[![CI](https://img.shields.io/github/actions/workflow/status/ipfs-shipyard/release-please-ipfs-plugin/js-test-and-release.yml?branch=main\&style=flat-square)](https://github.com/ipfs-shipyard/release-please-ipfs-plugin/actions/workflows/js-test-and-release.yml?query=branch%3Amain)> A release-please helper plugin for IPFS repos. Initially created for IPFS-desktop
## Table of contents
- [Install](#install)
- [Introduction](#introduction)
- [What it does](#what-it-does)
- [How to use](#how-to-use)
- [Add to release-please config](#add-to-release-please-config)
- [Ensure you call the release-please binary](#ensure-you-call-the-release-please-binary)
- [Gotchas](#gotchas)
- [License](#license)
- [Contribution](#contribution)## Install
```console
$ npm i @ipfs-shipyard/release-please-ipfs-plugin
```## Introduction
Created when release-please was added to the [IPFS Desktop](https://github.com/ipfs/ipfs-desktop) repo.
**NOTE:** Other examples of release-please plugins were not available when this was created, so it may not be the best example of how to write a release-please plugin. Please let us know if you find a better way!
### What it does
Modifies the changes in the PR created by release-please in the following ways:
- ipfs-desktop README.md updates - Update any text with the old-version tag to the new version, similar to
## How to use
### Add to release-please config
```jsonc
{
// ...
"plugins": [/** ... */, "@ipfs-shipyard/release-please-ipfs-plugin"]
// ...
}
```### Ensure you call the release-please binary
**NOTE:** Simply adding to the release-please config *is not enough* to make it run. You must also call the release-please CLI with the plugin name.
```bash
release-please release-pr ... --plugin=@ipfs-shipyard/release-please-ipfs-plugin
```This is the only way I found that [a release-please plugin can actually load itself](https://github.com/googleapis/release-please/blob/71dcc7b3b2df4bb3d3e0884b3f0bfb96700cb76a/src/bin/release-please.ts#L828-L843), so it can call [`registerPlugin`](https://github.com/googleapis/release-please/blob/71dcc7b3b2df4bb3d3e0884b3f0bfb96700cb76a/src/factories/plugin-factory.ts#L140-L142), so that the inner [`pluginFactories`](https://github.com/googleapis/release-please/blob/71dcc7b3b2df4bb3d3e0884b3f0bfb96700cb76a/src/factories/plugin-factory.ts#L54) can reference it when running.
## Gotchas
1. I have only tested this plugin with the `release-pr` command of `release-please` so far. It may not work with, or may break, other commands.
2. This plugin is currently focused on the needs of [IPFS Desktop](https://github.com/ipfs/ipfs-desktop) and may need to be updated to support other repos and use cases.## License
Licensed under either of
- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / )
- MIT ([LICENSE-MIT](LICENSE-MIT) / )## Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.