Skip to content

Commit

Permalink
Merge branch 'main' into improve-testing
Browse files Browse the repository at this point in the history
  • Loading branch information
dalejo96 authored Dec 22, 2023
2 parents 00b92a7 + 3fc4c47 commit ed5c9d5
Showing 1 changed file with 47 additions and 10 deletions.
57 changes: 47 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,61 @@
# Repository Name
# semantic-release-hackage

Quick summary about the repository or library. What is
[semantic-release](https://semantic-release.gitbook.io/semantic-release/) plugin to publish a haskell package to [Hackage](https://hackage.haskell.org/)

## How it works / motivation / purpose
## Motivation

Promote the library/project explaining how it works. You can also add the motiviation for writing the library or explain its porpuse in this section.
Semantic-release is widely used in the development world but have not been implemented for haskell projects and applications until now. This plugin is intended to help you creating your candidate releases for a hackage package using the benefits of semantic-release

## Steps

| Step | Description |
| ------------------ | ------------------------------------------------------------------------------ |
| `verifyConditions` | verify the environment variable `HACKAGE_TOKEN` |
| `prepare` | Update the version of `.cabal` file and create the distribution package (.tar) |
| `publish` | Publish the hackage package to the specified repository |

## Environment variables

| Variable | Description | Required |
| --------------- | -------------------------------------------------------------- | -------- |
| `HACKAGE_TOKEN` | [API token](https://hackage.haskell.org/packages/) for hackage | true |

## Install

Its a good idea to explain/show how to install the library/project. You can try to use badges of the package registry (NPM, MyPy, Stackage, Maven, etc) to always display the latest version so this section is easier to maintain.
With npm:

```sh
npm install semantic-release-hackage -D
```

With yarn:

```sh
yarn add semantic-release-hackage --dev
```

## Usage

This section can show a quick start of the library/project. This helps developers quickly understand how the software is expected to be used, giving a great entry point to project as well. In this section you can also write the documentation for the end-user, or add a link to the docs if they are in some external source (the wiki, a dedicated page, the `docs/` folder, etc.).
The plugin can be configured in the [**semantic-release** configuration file](https://github.com/semantic-release/semantic-release/blob/master/docs/usage/configuration.md#configuration). Here is a minimal example:

<!-- Add any other required sections here as needed -->
```json
{
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"semantic-release-hackage"
]
}
```

## License
## Configuration

| Property | Description | Default |
| ------------- | ----------------------- | --------------------------------------------- |
| `cabalFile` | Cabal file name | Plugin will read your root `.cabal` file name |
| `packageName` | Package name in Hackage | |

<!-- NOTE: If you need a different type of licence, please check with the OSS team before changing it -->
## License

MIT, see [the LICENSE file](LICENSE).

Expand All @@ -27,6 +64,6 @@ MIT, see [the LICENSE file](LICENSE).
Do you want to contribute to this project? Please take a look at our [contributing guideline](/docs/CONTRIBUTING.md) to know how you can help us build it.

---

<img src="https://www.stackbuilders.com/media/images/Sb-supports.original.png" alt="Stack Builders" width="50%"></img>
[Check out our libraries](https://github.com/stackbuilders/) | [Join our team](https://www.stackbuilders.com/join-us/)

0 comments on commit ed5c9d5

Please sign in to comment.