87 lines
2.6 KiB
Markdown
87 lines
2.6 KiB
Markdown
# Get Release
|
|
|
|
GitHub Action to get release.
|
|
Useful when you want to get upload_url of current release then upload additional assets by the [`@actions/upload-release-asset`](https://www.github.com/actions/upload-release-asset) GitHub Action.
|
|
|
|
## Usage
|
|
|
|
See [action.yml](action.yml)
|
|
|
|
# Outputs
|
|
|
|
For more information on these outputs, see the [API Documentation](https://developer.github.com/v3/repos/releases/#response-4) for an example of what these outputs look like
|
|
|
|
- `id`: The release ID
|
|
- `html_url`: The URL users can navigate to in order to view the release. ex: `https://github.com/joutvhu/get-release/releases/v1.0.0`
|
|
- `upload_url`: The URL for uploading assets to the release, which could be used by GitHub Actions for additional uses, for example the [`@actions/upload-release-asset`](https://www.github.com/actions/upload-release-asset) GitHub Action
|
|
- `tag_name`: The git tag associated with the release. ex: `v1.1.0`
|
|
- `prerelease`: Whether the release is a pre-release
|
|
|
|
## Get Current Release
|
|
|
|
If you don't specify `tag_name` and `latest` in your inputs the action will be get release of current release if available
|
|
|
|
```yaml
|
|
name: Upload Asset To Current Release
|
|
on:
|
|
release:
|
|
types: [created]
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- name: Build project
|
|
run: |
|
|
zip --junk-paths my-artifact README.md
|
|
|
|
- name: Get Current Release
|
|
id: get_current_release
|
|
uses: joutvhu/get-release@v1
|
|
with:
|
|
debug: true
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
- name: Upload Release Asset
|
|
uses: actions/upload-release-asset@v1
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
with:
|
|
upload_url: ${{ steps.get_current_release.outputs.upload_url }}
|
|
asset_path: ./my-artifact.zip
|
|
asset_name: my-artifact.zip
|
|
asset_content_type: application/zip
|
|
```
|
|
|
|
## Get Release By Tag Name
|
|
|
|
You can specify the exact `tag_name` of release you want to get
|
|
|
|
```yaml
|
|
steps:
|
|
- uses: joutvhu/get-release@v1
|
|
with:
|
|
tag_name: v1.0.0
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
```
|
|
|
|
## Get The Latest Release
|
|
|
|
Set `latest: true` to find the latest release whose tag_name matches `pattern`.
|
|
Set `prerelease: true` to search for releases that include pre-releases.
|
|
|
|
```yaml
|
|
steps:
|
|
- uses: joutvhu/get-release@v1
|
|
with:
|
|
latest: true
|
|
# Tag name start with `v`
|
|
pattern: '^v.*'
|
|
# Including pre-release
|
|
prerelease: true
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
```
|