2023-03-30 14:18:23 +02:00
# forgejo-release
2024-07-08 20:49:13 +02:00
<!-- action - docs - description source="action.yml" -->
2023-03-30 14:18:23 +02:00
## Description
Upload or download the assets of a release to a Forgejo instance.
2024-07-08 20:49:13 +02:00
<!-- action - docs - description source="action.yml" -->
<!-- action - docs - inputs source="action.yml" -->
2023-03-30 14:18:23 +02:00
## Inputs
2024-07-08 20:49:13 +02:00
| name | description | required | default |
2023-03-30 14:18:23 +02:00
| --- | --- | --- | --- |
2024-07-08 20:49:13 +02:00
| `url` | < p > URL of the Forgejo instance</ p > | `false` | `""` |
| `repo` | < p > owner/project relative to the URL</ p > | `false` | `""` |
| `tag` | < p > Tag of the release</ p > | `false` | `""` |
2024-10-29 12:03:05 +01:00
| `title` | < p > Title of the release (defaults to tag)</ p > | `false` | `""` |
2024-07-08 20:49:13 +02:00
| `sha` | < p > SHA of the release</ p > | `false` | `""` |
| `token` | < p > Forgejo application token</ p > | `true` | `""` |
| `release-dir` | < p > Directory in whichs release assets are uploaded or downloaded</ p > | `true` | `""` |
| `release-notes` | < p > Release notes</ p > | `false` | `""` |
2024-10-29 12:03:05 +01:00
| `direction` | < p > Can either be < code > download</ code > or < code > upload</ code ></ p > | `true` | `""` |
2024-07-08 20:49:13 +02:00
| `gpg-private-key` | < p > GPG Private Key to sign the release artifacts</ p > | `false` | `""` |
| `gpg-passphrase` | < p > Passphrase of the GPG Private Key</ p > | `false` | `""` |
| `download-retry` | < p > Number of times to retry if the release is not ready (default 1)</ p > | `false` | `""` |
| `download-latest` | < p > Download the latest release</ p > | `false` | `false` |
| `verbose` | < p > Increase the verbosity level</ p > | `false` | `false` |
2024-10-29 12:03:05 +01:00
| `override` | < p > Override an existing release by the same < code > {tag}</ code ></ p > | `false` | `false` |
2024-07-08 20:49:13 +02:00
| `prerelease` | < p > Mark Release as Pre-Release</ p > | `false` | `false` |
2024-10-29 16:08:41 +01:00
| `release-notes-assistant` | < p > Generate release notes with Release Notes Assistant</ p > | `false` | `false` |
2024-07-08 20:49:13 +02:00
<!-- action - docs - inputs source="action.yml" -->
2023-03-30 14:18:23 +02:00
2024-10-29 11:59:40 +01:00
## Examples
2023-03-30 14:18:23 +02:00
2024-02-01 13:50:40 +01:00
### Upload
2024-10-29 11:59:40 +01:00
Upload the release located in `release-dir` to the release section of a repository (`url` and `repo` ):
2024-02-01 13:50:40 +01:00
```yaml
2023-03-30 14:18:23 +02:00
on: [tag]
jobs:
upload-release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
2024-10-29 11:59:40 +01:00
- uses: actions/forgejo-release@v2
2023-03-30 14:18:23 +02:00
with:
2024-08-10 07:58:49 +02:00
direction: upload
url: https://code.forgejo.org
2023-03-30 14:18:23 +02:00
release-dir: dist/release
release-notes: "MY RELEASE NOTES"
```
2024-01-03 22:35:14 +01:00
2024-02-01 13:50:40 +01:00
### Download
Example downloading the forgejo release v1.21.4-0 into the working directory:
```yaml
on: [tag]
jobs:
download-release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
2024-10-29 11:59:40 +01:00
- uses: actions/forgejo-release@v2
2024-02-01 13:50:40 +01:00
with:
2024-08-10 07:58:49 +02:00
direction: download
url: https://code.forgejo.org
2024-02-01 13:50:40 +01:00
repo: forgejo/forgejo
tag: v1.21.4-0
release-dir: ./ # by default, files are downloaded into dist/release
```
2024-10-29 11:59:40 +01:00
### Real world example
This action is used to [publish ](https://code.forgejo.org/forgejo/release-notes-assistant/src/branch/main/.forgejo/workflows/release.yml ) the release notes assistant assets.
## Update the `input` section of the README
2024-01-03 22:35:14 +01:00
2024-10-29 11:59:40 +01:00
Using [action-docs ](https://github.com/npalm/action-docs ):
```shell
# Edit the action.yml file and run:
action-docs --update-readme
```