https://github.com/actionstoolbox/get-language-versions
Dynamic language version matrix or value for your Github Actions workflows.
Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.0%) to scientific vocabulary
Keywords
Repository
Dynamic language version matrix or value for your Github Actions workflows.
Basic Info
Statistics
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 1
- Releases: 4
Topics
Metadata Files
README.md
Overview
This action was inspired by latest-python-versions
Latest Language Version(s)
This action will fetch up-to-date data on the latest version(s) available on Github Actions for a given set of languages. It does this by first identifying the latest release (if the version source is in GitHub), and then extracting the information from the versions file of that latest release.
The reason behind this, if that most people will pin their action to the latest release instead of main or master, but developers can push new code into master which causes the action to fail.
If you wish to continue using the head of main or master, then we have added a new option 'use-head' which will do this instead.
| Language | GitHub Action | Version Source | | ------------- |:---------------------------------------------------------------:|:--------------------------------------------------------------------------------------------------------:| | Go | setup-go | go-versions | | Node / NodeJS | setup-node | node-versions | | Perl | setup-perl | perl-versions | | PHP | setup-php | php-versions | | Python | setup-python | python-versions | | Ruby | setup-ruby | ruby-versions | | Terraform | setup-terraform | terraform-versions |
If you're already running tests on multiple versions of a language, this action will allow you to replace your static matrix definitions with dynamic ones. It will also allow you to define a specific version if you are running a single version of a language.
Usage
To use the action, simply throw this into one of your workflows
yaml
- uses: ActionsToolbox/get-language-versions@master
id: get-versions
with:
language: "python"
min-version: 3.7 # not required - defaults to "EOL"
max-version: 3.10 # not required - defaults to latest
max-versions: 0 # not required - defaults to latest
include-prereleases: true # not required - defaults to false
highest-only: true # not required - defaults to false
remove-patch-version: true # not required - defaults to false
The action produces an output that can be accessed using:
python
${{ steps.get-versions.outputs.latest-versions }}
All Parameters
| Parameters | Required | Default | Options | | -------------------- |:--------:| -------- | ----------------------------------------------- | | language | Yes | | Go, Node, Perl, PHP, Python, Ruby or Terraform. | | min-version | No | "EOL" | semver, "EOL" or "ALL" | | max-version | No | "latest" | semver or "latest" | | max-versions | No | 0 | 0-N (N is number of versions to return. | | include-prereleases | No | false | true or false | | highest-only | No | false | true or false | | remove-patch-version | No | false | true or false | | use-head | No | false | true or false
See examples below for recommended usage.
Example
Matrix Example
This example will return a list of versions of Python from 3.8 up to and including the latest pre-release version. This is then converted into a matrix using fromJson.
```yaml name: Test
on: pull_request
jobs: linting: ...
# Define the job to run before your matrix job get-versions: runs-on: ubuntu-latest outputs: version-matrix: ${{ steps.get-language-versions.outputs.latest-versions }} steps: - uses: ActionsToolbox/get-language-versions-action@master id: get-language-versions with: language: "python" min-version: 3.8 include-prereleases: true
# Then use the output from the previous job in the matrix definition test: needs: [linting, get-versions] runs-on: ubuntu-latest strategy: matrix: version: ${{ fromJson(needs.get-versions.outputs.version-matrix) }} steps: - uses: actions/setup-python@v4 with: python-version: ${{ matrix.version }} ```
Single Value Example
This example will return the highest non pre-release version of Python as a string which is then used in setup python for a single job.
```yaml name: Test
on: pull_request
jobs: linting: ...
# Define the job to run before your matrix job get-versions: runs-on: ubuntu-latest outputs: version: ${{ steps.get-language-versions.outputs.latest-versions }} steps: - uses: ActionsToolbox/get-language-versions-action@master id: get-language-versions with: language: "python" highest-only: true
# Then use the output from the previous job in the matrix definition test: needs: [linting, get-versions] runs-on: ubuntu-latest steps: - uses: actions/setup-python@v4 with: python-version: ${{ needs.get-versions.outputs.version }} ```
Owner
- Name: Actions Toolbox
- Login: ActionsToolbox
- Kind: organization
- Email: github@wolfsoftware.com
- Location: United Kingdom
- Website: https://wolfsoftware.com
- Twitter: wolfsoftware
- Repositories: 6
- Profile: https://github.com/ActionsToolbox
A collection of GitHub actions. Created by Wolf Software.
GitHub Events
Total
- Delete event: 8
- Issue comment event: 1
- Push event: 6
- Pull request review event: 5
- Pull request event: 15
- Create event: 8
Last Year
- Delete event: 8
- Issue comment event: 1
- Push event: 6
- Pull request review event: 5
- Pull request event: 15
- Create event: 8
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 0
- Total pull requests: 8
- Average time to close issues: N/A
- Average time to close pull requests: 3 days
- Total issue authors: 0
- Total pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 6
- Bot issues: 0
- Bot pull requests: 8
Past Year
- Issues: 0
- Pull requests: 8
- Average time to close issues: N/A
- Average time to close pull requests: 3 days
- Issue authors: 0
- Pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.0
- Merged pull requests: 6
- Bot issues: 0
- Bot pull requests: 8
Top Authors
Issue Authors
- dependabot[bot] (2)
Pull Request Authors
- dependabot[bot] (73)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
- Total downloads: unknown
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 4
github actions: ActionsToolbox/get-language-versions
Get latest language versions
- License: mit
-
Latest release: v0.1.3
published almost 2 years ago
Rankings
Dependencies
- Gamesight/slack-workflow-status 26a36836c887f260477432e4314ec3490a84f309 composite
- actions/checkout 8e5e7e5ab8b370d6c329ec480221332ada57f0ab composite
- actions/setup-python 57ded4d7d5e986d7296eab16560982c6dd7c923b composite
- Gamesight/slack-workflow-status 26a36836c887f260477432e4314ec3490a84f309 composite
- actions/checkout 8e5e7e5ab8b370d6c329ec480221332ada57f0ab composite
- github/codeql-action/analyze 421a1b344fb0def373a0794a4051f19f207461ec composite
- github/codeql-action/autobuild 421a1b344fb0def373a0794a4051f19f207461ec composite
- github/codeql-action/init 421a1b344fb0def373a0794a4051f19f207461ec composite
- Gamesight/slack-workflow-status 26a36836c887f260477432e4314ec3490a84f309 composite
- MajorScruffy/delete-old-workflow-runs 78b5af714fefaefdf74862181c467b061782719e composite
- dependabot/fetch-metadata efb5c8deb113433243b6b08de1aa879d5aa01cf7 composite
- Bullrich/generate-release-changelog 6b60f004b4bf12ff271603dc32dbd261965ad2f2 composite
- Gamesight/slack-workflow-status 26a36836c887f260477432e4314ec3490a84f309 composite
- actions/checkout 8e5e7e5ab8b370d6c329ec480221332ada57f0ab composite
- softprops/action-gh-release de2c0eb89ae2a093876385947365aca7b0e5f844 composite
- Gamesight/slack-workflow-status 26a36836c887f260477432e4314ec3490a84f309 composite
- GitGuardian/ggshield-action 77e073e59056e3833ce7c9c7c0cc903a2b364a50 composite
- actions/checkout 8e5e7e5ab8b370d6c329ec480221332ada57f0ab composite
- Gamesight/slack-workflow-status 26a36836c887f260477432e4314ec3490a84f309 composite
- actions/first-interaction 1d8459ca65b335265f1285568221e229d45a995e composite
- Gamesight/slack-workflow-status 26a36836c887f260477432e4314ec3490a84f309 composite
- actions/stale 1160a2240286f5da8ec72b1c0816ce2481aabf84 composite
- Gamesight/slack-workflow-status 26a36836c887f260477432e4314ec3490a84f309 composite
- otto-de/purge-deprecated-workflow-runs 0de33de0a9fe17321e4cf3c21dcbc0445e7c5b61 composite
- ./ * composite
- Gamesight/slack-workflow-status 26a36836c887f260477432e4314ec3490a84f309 composite
- actions/checkout 8e5e7e5ab8b370d6c329ec480221332ada57f0ab composite
- actions/setup-go 4d34df0c2316fe8122ab82dc22947d607c0c91f9 composite
- actions/setup-node 64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c composite
- actions/setup-python 57ded4d7d5e986d7296eab16560982c6dd7c923b composite
- ruby/setup-ruby d2b39ad0b52eca07d23f3aa14fdf2a3fcc1f411c composite
- Gamesight/slack-workflow-status 26a36836c887f260477432e4314ec3490a84f309 composite
- actions/checkout 8e5e7e5ab8b370d6c329ec480221332ada57f0ab composite
- zgosalvez/github-actions-ensure-sha-pinned-actions 21991cec25093947ff3f62e4c223df0260c39944 composite
- ./ * composite
- Gamesight/slack-workflow-status 26a36836c887f260477432e4314ec3490a84f309 composite
- actions/checkout 8e5e7e5ab8b370d6c329ec480221332ada57f0ab composite
- actions/setup-go 4d34df0c2316fe8122ab82dc22947d607c0c91f9 composite
- ./ * composite
- Gamesight/slack-workflow-status 26a36836c887f260477432e4314ec3490a84f309 composite
- actions/checkout 8e5e7e5ab8b370d6c329ec480221332ada57f0ab composite
- actions/setup-node 64ed1c7eab4cce3362f8c340dee64e5eaeef8f7c composite
- ./ * composite
- Gamesight/slack-workflow-status 26a36836c887f260477432e4314ec3490a84f309 composite
- actions/checkout 8e5e7e5ab8b370d6c329ec480221332ada57f0ab composite
- shogo82148/actions-setup-perl b9fdc2813ba5e0239dd7bce477e5f37e86d145cc composite
- ./ * composite
- Gamesight/slack-workflow-status 26a36836c887f260477432e4314ec3490a84f309 composite
- actions/checkout 8e5e7e5ab8b370d6c329ec480221332ada57f0ab composite
- shivammathur/setup-php cb8f453143149404c7fd670b5f37c91d395b3054 composite
- ./ * composite
- Gamesight/slack-workflow-status 26a36836c887f260477432e4314ec3490a84f309 composite
- actions/checkout 8e5e7e5ab8b370d6c329ec480221332ada57f0ab composite
- actions/setup-python 57ded4d7d5e986d7296eab16560982c6dd7c923b composite
- ./ * composite
- Gamesight/slack-workflow-status 26a36836c887f260477432e4314ec3490a84f309 composite
- actions/checkout 8e5e7e5ab8b370d6c329ec480221332ada57f0ab composite
- ruby/setup-ruby d2b39ad0b52eca07d23f3aa14fdf2a3fcc1f411c composite
- ./ * composite
- Gamesight/slack-workflow-status 26a36836c887f260477432e4314ec3490a84f309 composite
- actions/checkout 8e5e7e5ab8b370d6c329ec480221332ada57f0ab composite
- hashicorp/setup-terraform 633666f66e0061ca3b725c73b2ec20cd13a8fdd1 composite
- Dockerfile * docker
- python 3.11-alpine build
- beautifulsoup4 ==4.12.2
- packaging ==23.1
- requests ==2.29.0