All Projects β†’ Contextualist β†’ glare

Contextualist / glare

Licence: other
gracefully download (latest) releases from GitHub

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to glare

React Native Version
πŸ”’ Version your React Native or Expo app in a `npm version` fashion.
Stars: ✭ 408 (+537.5%)
Mutual labels:  semver, release
Gh Release
Create a github release for a node package.
Stars: ✭ 132 (+106.25%)
Mutual labels:  semver, release
Release It
πŸš€ Automate versioning and package publishing
Stars: ✭ 4,773 (+7357.81%)
Mutual labels:  semver, release
perfekt
Release, changelog and version your packages with perfe(k)t πŸ‘Œ ease!
Stars: ✭ 15 (-76.56%)
Mutual labels:  semver, release
octoclairvoyant-webapp
Compare GitHub changelogs across multiple releases in a single view.
Stars: ✭ 45 (-29.69%)
Mutual labels:  github-api, vercel
Cli
πŸ†‘πŸ“ Setup automated semver compliant package publishing
Stars: ✭ 272 (+325%)
Mutual labels:  semver, release
Please
please is semver release made easy
Stars: ✭ 72 (+12.5%)
Mutual labels:  semver, release
Python Semver
Python package to work with Semantic Versioning (http://semver.org/)
Stars: ✭ 264 (+312.5%)
Mutual labels:  semver, release
dont-crack
semantic-release plugin checking if the new semantic release is breaking dependent projects
Stars: ✭ 14 (-78.12%)
Mutual labels:  semver, release
Bumped
πŸ“¦ Makes easy release software
Stars: ✭ 222 (+246.88%)
Mutual labels:  semver, release
change
A simple tool that automates generating and updating a changelog
Stars: ✭ 47 (-26.56%)
Mutual labels:  semver, release
Portfolio
A Next.js & Material UI portfolio that stylizes markdown files from the GitHub API and Contentful CMS.
Stars: ✭ 18 (-71.87%)
Mutual labels:  github-api, vercel
Shipjs
Take control of what is going to be your next release.
Stars: ✭ 668 (+943.75%)
Mutual labels:  semver, release
Semantic Release
πŸ“¦πŸš€ Fully automated version management and package publishing
Stars: ✭ 14,364 (+22343.75%)
Mutual labels:  semver, release
next-ver
Tells you the next semantic version for your local package
Stars: ✭ 27 (-57.81%)
Mutual labels:  semver, release
benjamincarlson.io
My personal website built with Next.js, Chakra UI, Firebase, and next-mdx-remeote.
Stars: ✭ 102 (+59.38%)
Mutual labels:  github-api, vercel
Explorer-for-GitHub
πŸ“±An iOS app that lets you explore repositories on GitHub
Stars: ✭ 14 (-78.12%)
Mutual labels:  github-api
getmein-web
Portal to get an invite to IIITV GitHub organization
Stars: ✭ 26 (-59.37%)
Mutual labels:  github-api
GitHub-Stalker
track your GitHub statistics with Pandas
Stars: ✭ 31 (-51.56%)
Mutual labels:  github-api
semver
Simple PHP Semantic Versioning Parser and Comparator
Stars: ✭ 21 (-67.19%)
Mutual labels:  semver

Glare

Deploy with Vercel

A little service for you to download releases from GitHub gracefully. Simply make a get request to Glare with the repo name (with an optional version) and release file name regex, and she will lead you to the way.

NOTE: You might want to use GitHub's direct link to the latest release asset (e.g. github.com/{owner}/{repo}/releases/latest/download/asset-name.zip) if the asset name is a constant string. Otherwise Glare is still helpful for matching the asset with regex.

Demo

The following will redirect you to https://github.com/xtaci/kcptun/releases/download/{latest_version_tag}/kcptun-linux-amd64-{latest_version_number}.tar.gz, and download the latest release of kcptun for linux-amd64.

curl -fLO https://glare.now.sh/xtaci/kcptun/linux-amd64

Or you might want to have a version constraint:

curl -fLO https://glare.now.sh/v2fly/[email protected]/linux-64

Motivation

Sometimes when I'm writing a Dockerfile, I need to install packages from their GitHub latest releases. A neat way is to parse JSON responses from GitHub API with jq and get the desire link. Such way requires downlaoding jq from GitHub (The binary from Alpine apk is lack of regex feature). Still, the expression with jq is not clear enough, and parsing JSON with sed is way dirtier. So I spend a little time to write Glare. I hope she will save you a few minutes or from a frustring moment.

Usage

# To get the latest release...
/{owner}/{repo}/{file_name_regex}

# To get a specific version or pick within a version range...
/{owner}/{repo}@{tag|semver}/{file_name_regex}

{file_name_regex} is a regular expression to match the file (or specially, it can be tar or zip standing for the source code download in the respective format). It should match at least one file among the latest release files, otherwise Glare will throw an error. If multiple files are matched, Glare returns the one with shortest length.

If {tag} is given, Glare looks for a release with exact matching tag. For {semver} provided, Glare treats it as a npm-flavor semver and matches all release tag names against it. The highest of all satisfied versions is chosen.

Tip: to check if a request leads to the desired redirection, curl it without any option.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].