Skip to content

Commit

Permalink
Update README to be less wrong and more helpful
Browse files Browse the repository at this point in the history
- Fix the wording to talk about this Action
- Fix the details in the example workflow
- Complete the example by including build and upload steps
  • Loading branch information
bruceadams committed Jul 30, 2020
1 parent 2aa5c6d commit 2d16373
Showing 1 changed file with 30 additions and 14 deletions.
44 changes: 30 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,43 +1,59 @@
# GitHub Action - Get a Releases

This GitHub Action (written in JavaScript) wraps the [GitHub Release API](https://developer.github.com/v3/repos/releases/), specifically the [Get a Release](https://developer.github.com/v3/repos/releases/#create-a-release) endpoint, to allow you to leverage GitHub Actions to get releases.

## Usage

### Pre-requisites
Create a workflow `.yml` file in your `.github/workflows` directory. An [example workflow](#example-workflow---create-a-release) is available below. For more information, reference the GitHub Help Documentation for [Creating a workflow file](https://help.github.com/en/articles/configuring-a-workflow#creating-a-workflow-file).

Create a workflow `.yml` file in your `.github/workflows` directory. An [example workflow](#example-workflow) is available below. My [yj](https://github.com/bruceadams/yj) project uses this Action, see [release.yml](https://github.com/bruceadams/yj/blob/main/.github/workflows/release.yml). For more information, reference the GitHub Help Documentation for [Creating a workflow file](https://help.github.com/en/articles/configuring-a-workflow#creating-a-workflow-file).

This Action requires that the environment variable `GITHUB_TOKEN` be set correctly.

### 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. i.e. `https://github.com/octocat/Hello-World/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

### Example workflow - get a release
On every `push` to a tag matching the pattern `v*`, [create a release](https://developer.github.com/v3/repos/releases/#create-a-release):
### Example workflow

Everytime a new release is created, build a binary for the release and upload it to the release on Github. This example is building and uploading a Linux binary for a Rust executable.

```yaml
on:
push:
# Sequence of patterns matched against refs/tags
tags:
- 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10

name: Create Release
release:
types: [created]

env:
GITHUB_TOKEN: ${{ github.token }}

jobs:
build:
name: Get Release
name: Build release binary
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@master
- name: Get Release
id: get
uses: bruceadams/get-release@v1
uses: actions/checkout@v2

- name: Get release
id: get_release
uses: bruceadams/[email protected]

- name: Build binary
run: cargo build --release --verbose

- name: Upload release binary
uses: actions/[email protected]
with:
upload_url: ${{ steps.get_release.outputs.upload_url }}
asset_path: ./target/release/my-widget
asset_name: my-widget
asset_content_type: application/octet-stream
```
## License
The scripts and documentation in this project are released under the [MIT License](LICENSE)

0 comments on commit 2d16373

Please sign in to comment.