setup-v-action v2.3.3
Setup V (Vlang) Build
GitHub action for setting up a V build environment by downloading and unpacking the V compiler or building it from sources.
- Simple syntax with defaults according to the best performance and practices.
- Convenient version specification -
master
,weekly
,latest
,X.Y.Z
,<commit hash>
. - Downloading an unpacking pre-built binaries is preferred to building from sources.
- An already unpacked or built version is cached to speed up the build pipeline.
- Automatic installation of module dependencies from
v.mod
. - GitHub workflow token is used by default.
Usage
Install V from the most recent weekly release:
- uses: prantlf/setup-v-action@v2
Test against multiple versions of V using the matrix strategy:
jobs:
test:
strategy:
matrix:
v-version: ["latest", "weekly", "master"]
steps:
- uses: actions/checkout@v4
- uses: prantlf/setup-v-action@v2
with:
version: ${{ matrix.v-version }}
- run: v test .
If you want to install module dependencies from v.mod
automatically, run this action after checking out the sources.
Inputs
The following parameters can be specified using the with
object:
version
Type: String
Default: weekly
One of the following values is supported:
master
- built from the most recent commit to themaster
branchweekly
- downloaded from the most recent weekly release (default)latest
- downloaded from the most recent (semantic) version releasevX.Y.Z
orX.Y.Z
- downloaded from a specific (semantic) version release<commit hash>
- built from a specific commit
The default - weekly
should work the best by using the most recent development version. V is still in rapid development and the latest
might be too limiting. Once V becomes mature, the default will change and th elist of available values probably as well.
use-cache
Type: Boolean
Default: true
Set to false
to ignore the cache and always perform the full installation, either by downloading and unpacking a binary, or by downloading sources and building. The default is true
.
force-build
Type: Boolean
Default: false
Set to true
to always build V from sources, even if the binary archive is available. The default is false
.
install-dependencies
Type: Boolean
Default: true
Set to false
to prevent module dependencies from v.mod
from being installed automatically. The default is true
.
global-dependencies
Type: Boolean
Default: true
Set to false
to install module dependencies from v.mod
to ./modules
instead of to ~/.vmodules
.
modules-dir
Type: String
Default: src/modules
or modules
Set the directory for the locally installed dependencies. It is src/modules
if src
exists, otherwise modules
.
token
Type: String
Default: ${{ github.token }}
Authorization token to inspect releases and commits in the vlang/v
repository. Either a GitHub personal access token or the GitHub workflow token. If not provided, the environment variable GITHUB_TOKEN
will be used as a fallback. And if even that is not set, the GitHub workflow token from the action-execution context will be used as default.
Outputs
The following parameters can be accessed by the github
context:
version
Type: String
The actually installed version of V, as returned by v -V
, for example: V 0.3.4 692624b
.
bin-path
Type: String
The complete path to the directory with the V compiler.
v-bin-path
Type: String
The complete path to the V compiler executable.
used-cache
Type: Boolean
A boolean value indicating if the installation succeeded from the cache.
was-built
Type: Boolean
A boolean value indicating if the V compiler was built from sources.
License
Copyright (C) 2023-2024 Ferdinand Prantl
Licensed under the MIT License.
4 days ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
5 months ago
7 months ago
7 months ago
7 months ago
7 months ago
5 months ago
7 months ago
7 months ago
8 months ago
8 months ago
8 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago
11 months ago