2.3.3 • Published 1 year ago

setup-v-action v2.3.3

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

Setup V (Vlang) Build

Latest version Dependency status

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 the master branch
  • weekly - downloaded from the most recent weekly release (default)
  • latest - downloaded from the most recent (semantic) version release
  • vX.Y.Z or X.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.

2.3.3

1 year ago

2.3.2

2 years ago

2.3.0

2 years ago

2.2.1

2 years ago

2.2.0

2 years ago

2.1.1

2 years ago

2.3.1

2 years ago

2.1.0

2 years ago

2.0.3

2 years ago

2.0.2

2 years ago

2.0.5

2 years ago

2.0.4

2 years ago

2.0.6

2 years ago

2.0.1

2 years ago

2.0.0

2 years ago

1.4.8

2 years ago

1.4.7

2 years ago

1.4.6

2 years ago

1.4.5

2 years ago

1.4.4

2 years ago

1.4.3

2 years ago

1.4.2

2 years ago

1.4.1

2 years ago

1.4.0

2 years ago

1.3.0

2 years ago

1.2.3

2 years ago

1.2.2

2 years ago

1.2.1

2 years ago

1.2.0

2 years ago

1.1.2

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago