A simple Github action to get the latest release from another repository. No authentication required.
Example Repository - https://github.com/pozetroninc/github-action-get-latest-release
Inputs
| Name | Description | Example |
|---|---|---|
| owner | The Github user or organization that owns the repository | pozetroninc |
| repo | The repository name | github-action-get-latest-release |
or
| Name | Description | Example |
|---|---|---|
| repository | The repository name in full | pozetroninc/github-action-get-latest-release |
Additional Inputs (Optional)
| Name | Description | Example |
|---|---|---|
| excludes | Exclude draft or pre-release versions. | "prerelease, draft" |
| token | GitHub token or personal access token | ${{ secrets.GITHUB_TOKEN }} or ${{ secrets.PERSONAL_ACCESS_TOKEN }} |
Using the GITHUB_TOKEN will avoid the action failing due to hitting API rate limits from the IP address of the GitHub runner your action is running on. Using a PERSONAL_ACCESS_TOKEN is required to get the release information from a private repo. You can read about how to create a personal access token here and how to add this as a repository secret here.
Outputs
| Name | Description | Example |
|---|---|---|
| release | The latest release version tag | v0.3.0 |
| id | The latest release version id | 12345 |
| description | The latest release description body | This is an example release |
name: Build Docker Imageson: [push, repository_dispatch]jobs:
build:
name: RedisTimeSeriesruns-on: ubuntu-lateststeps:
- id: keydbuses: pozetroninc/github-action-get-latest-release@masterwith:
owner: JohnSullyrepo: KeyDBexcludes: prerelease, draft
- id: timeseriesuses: pozetroninc/github-action-get-latest-release@masterwith:
repository: RedisTimeSeries/RedisTimeSeries
- uses: actions/checkout@v3
- uses: docker/build-push-action@v3with:
username: ${{ secrets.DOCKER_USERNAME }}password: ${{ secrets.DOCKER_PASSWORD }}repository: pozetroninc/keydb-timeseriesdockerfile: timeseries.dockerfilebuild_args: KEY_DB_VERSION=${{ steps.keydb.outputs.release }}, REDIS_TIME_SERIES_VERSION=${{ steps.timeseries.outputs.release }}tags: latest, ${{ steps.keydb.outputs.release }}_${{ steps.timeseries.outputs.release }}To use the current repo:
with:
repository: ${{ github.repository }}To use authentication token:
with:
token: ${{ secrets.GITHUB_TOKEN }}