{"id":20458493,"url":"https://github.com/asdf-vm/actions","last_synced_at":"2025-04-05T02:02:43.702Z","repository":{"id":37797745,"uuid":"225084930","full_name":"asdf-vm/actions","owner":"asdf-vm","description":"GitHub Actions for the asdf version manager","archived":false,"fork":false,"pushed_at":"2025-03-16T15:00:24.000Z","size":1063,"stargazers_count":146,"open_issues_count":25,"forks_count":44,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-29T01:02:14.392Z","etag":null,"topics":["asdf","asdf-vm","github-actions"],"latest_commit_sha":null,"homepage":"https://asdf-vm.com","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/asdf-vm.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-11-30T23:57:49.000Z","updated_at":"2025-03-25T15:35:37.000Z","dependencies_parsed_at":"2023-02-10T07:16:03.457Z","dependency_job_id":"2b135577-88e6-44c0-9919-97bfa52afd59","html_url":"https://github.com/asdf-vm/actions","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asdf-vm%2Factions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asdf-vm%2Factions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asdf-vm%2Factions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/asdf-vm%2Factions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/asdf-vm","download_url":"https://codeload.github.com/asdf-vm/actions/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247276159,"owners_count":20912288,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asdf","asdf-vm","github-actions"],"created_at":"2024-11-15T12:12:44.666Z","updated_at":"2025-04-05T02:02:43.681Z","avatar_url":"https://github.com/asdf-vm.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitHub Actions for [asdf](https://github.com/asdf-vm/asdf)\n\n[![GitHub Release](https://img.shields.io/github/release/asdf-vm/actions.svg?color=green)](https://github.com/asdf-vm/actions/releases)\n[![lint](https://github.com/asdf-vm/actions/workflows/lint/badge.svg?branch=master)](https://github.com/asdf-vm/actions/actions)\n[![test](https://github.com/asdf-vm/actions/workflows/test/badge.svg?branch=master)](https://github.com/asdf-vm/actions/actions)\n[![build](https://github.com/asdf-vm/actions/workflows/build/badge.svg?branch=master)](https://github.com/asdf-vm/actions/actions)\n[![CodeQL](https://github.com/asdf-vm/actions/workflows/CodeQL/badge.svg?branch=master)](https://github.com/asdf-vm/actions/actions)\n\nA collection of [asdf](https://github.com/asdf-vm/asdf) GitHub Actions for use in your\nworkflows.\n\n| Action        | Use                              | Description                                                                                                                          |\n| :------------ | :------------------------------- | :----------------------------------------------------------------------------------------------------------------------------------- |\n| `install`     | `asdf-vm/actions/install@v4`     | Installs `asdf` \u0026 tools in `.tool-versions`.\u003cbr\u003ePlugins fetched from [asdf-vm/asdf-plugins](https://github.com/asdf-vm/asdf-plugins) |\n| `setup`       | `asdf-vm/actions/setup@v4`       | Only install `asdf` CLI.                                                                                                             |\n| `plugins-add` | `asdf-vm/actions/plugins-add@v4` | Only install plugins, not tools.                                                                                                     |\n| `plugin-test` | `asdf-vm/actions/plugin-test@v4` | Plugin author test automation.                                                                                                       |\n\n\u003c!-- TOC --\u003e\n* [Usage](#usage)\n  * [Automatic Actions Updating](#automatic-actions-updating)\n* [Actions](#actions)\n  * [Install](#install)\n  * [Plugin Test](#plugin-test)\n  * [Setup](#setup)\n  * [Plugins Add](#plugins-add)\n* [Miscellaneous](#miscellaneous)\n  * [Full Example Workflow](#full-example-workflow)\n  * [Docker Tricks](#docker-tricks)\n\u003c!-- TOC --\u003e\n\n## Usage\n\n```yaml\nsteps:\n  - name: Install asdf \u0026 tools\n    uses: asdf-vm/actions/install@v4\n```\n\nTo avoid breaking changes, use the full [Semantic Version](https://semver.org/)\n`vX.Y.Z`. Below are the available version pinning options:\n\n```yaml\nsteps:\n  # Reference a specific commit (most strict, for the supply-chain paranoid)\n  - uses: asdf-vm/actions/install@f4acd427436df623426c29f7e3e9ea715be28396\n  # Reference a semver major version only (GitHub recommended)\n  - uses: asdf-vm/actions/install@v4\n  # Reference a semver version of a release (recommended)\n  - uses: asdf-vm/actions/install@v4.0.2\n  # Reference a branch (most dangerous)\n  - uses: asdf-vm/actions/install@master\n```\n\n### Automatic Actions Updating\n\nGitHub Dependabot has support for tracking GitHub Actions releases and\nautomatically creating PRs with these updates.\n\n```yaml\n# .github/dependabot.yml\nversion: 2\nupdates:\n  - package-ecosystem: \"github-actions\"\n    directory: \"/\"\n    schedule:\n      interval: \"weekly\" # Check for updates to GitHub Actions every week\n```\n\n## Actions\n\n### Install\n\nInstalls `asdf` \u0026 tools in `.tool-versions`. Plugins fetched from\n[asdf-vm/asdf-plugins](https://github.com/asdf-vm/asdf-plugins)\n\n```yaml\nsteps:\n  - uses: asdf-vm/actions/install@v4\n```\n\nOptions are:\n\n| Name           | Required | Default              | Description                                                                                                   |\n| -------------- | -------- | -------------------- | ------------------------------------------------------------------------------------------------------------- |\n| asdf_branch    | false    | master (i.e. latest) | asdf branch to clone                                                                                          |\n| skip_install   | false    | false                | setup env without installing asdf                                                                             |\n| tool_versions  | false    |                      | If present, this value will be written to the .tool-versions file.                                            |\n| before_install | false    |                      | Bash script to run after plugins are installed but before `asdf install`.\u003cbr\u003e\u003cbr\u003ee.g., to install npm keyring |\n\n### Plugin Test\n\nPlugin author test automation\n\n```yaml\nsteps:\n  - uses: asdf-vm/actions/plugin-test@v4\n    with:\n      command: my_tool --version\n```\n\nOptions are:\n\n| Name         | Required | Default                       | Description                                                               |\n| ------------ | -------- | ----------------------------- | ------------------------------------------------------------------------- |\n| asdf_branch  | false    | master (i.e. latest)          | asdf branch to clone                                                      |\n| skip_install | false    | false                         | setup env without installing asdf                                         |\n| command      | true     |                               | Command used to test your plugin tool. Something with --version or --help |\n| plugin       | false    | repository name without asdf- | Plugin name to use                                                        |\n| version      | false    | latest                        | Tool version to test                                                      |\n| giturl       | false    | current github repository     | Plugin repository                                                         |\n| gitref       | false    | current commit                | Branch or commit from repository to test                                  |\n| github_token | false    | github.token value            | Token used to avoid rate limit when asdf calls the GitHub API             |\n\n### Setup\n\nOnly install `asdf` CLI.\n\n\u003e Note: this Action is used internally by Install \u0026 Plugin Test, opt for those\n\u003e first.\n\n```yaml\nsteps:\n  - uses: asdf-vm/actions/setup@v4\n```\n\nOptions are:\n\n| Name         | Default              | Description                       |\n| ------------ | -------------------- | --------------------------------- |\n| asdf_branch  | master (i.e. latest) | asdf branch to clone              |\n| skip_install | false                | setup env without installing asdf |\n\n### Plugins Add\n\nOnly install plugins, not tools.\n\n\u003e Note: this Action is used internally by Install \u0026 Plugin Test, opt for those\n\u003e first.\n\n```yaml\nsteps:\n  - uses: asdf-vm/actions/plugins-add@v4\n```\n\nOptions are:\n\n| Name           | Required | Default              | Description                                                                                                   |\n| -------------- | -------- | -------------------- | ------------------------------------------------------------------------------------------------------------- |\n| asdf_branch    | false    | master (i.e. latest) | asdf branch to clone                                                                                          |\n| skip_install   | false    | false                | setup env without installing asdf                                                                             |\n| tool_versions  | false    |                      | If present, this value will be written to the .tool-versions file.                                            |\n\n\n## Miscellaneous\n\n### Full Example Workflow\n\nThis example workflow demonstrates how to use the Install Action:\n`asdf-vm/actions/install@v4`. It is taken from the\n[asdf-vm/asdf-plugin-template](https://github.com/asdf-vm/asdf-plugin-template)\nrepository.\n\n```shell\n# example .tool-versions\nshellcheck 0.9.0\nshfmt 3.6.0\n```\n\n```yaml\n# https://github.com/asdf-vm/asdf-plugin-template/blob/main/template/.github/workflows/lint.yml\nname: Lint\n\non:\n  push:\n    branches:\n      - main\n  pull_request:\n\njobs:\n  shellcheck:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n      - uses: asdf-vm/actions/install@v4\n      - run: scripts/lint.bash\n      # script runs Shellcheck, Shfmt etc installed by previous action\n\n  actionlint:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v4\n      - name: Check workflow files\n        uses: docker://rhysd/actionlint:1.6.23\n        with:\n          args: -color\n```\n\n### Docker Tricks\n\nUsing the default GitHub Action images may cause problems during plugin testing\ndue to current asdf implementation constraints. If you experience issues, you\ncan use Docker containers to reduce the variables of your environment.\n\n```yaml\njobs:\n  plugin_test:\n    strategy:\n      fail-fast: false\n      matrix:\n        container:\n          - alpine:latest\n          - centos:latest\n          - ubuntu:latest\n\n    runs-on: ubuntu-latest\n\n    container:\n      image: ${{ matrix.container }}\n\n    steps:\n      - uses: asdf-vm/actions/plugin-test@v4\n        with:\n          command: my_tool --version\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasdf-vm%2Factions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fasdf-vm%2Factions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fasdf-vm%2Factions/lists"}