Skip to content

Setup fpm

Actions
Setup the Fortran Package Manager for use in Github actions CI
v7
Latest
Star (30)

setup-fpm

GitHub Action to setup the Fortran Package Manager on Ubuntu, MacOS and Windows.

License: MIT .github/workflows/test-workflow.yml

Usage

  - uses: fortran-lang/setup-fpm@v5
    with:
      github-token: ${{ secrets.GITHUB_TOKEN }}

This will download the latest fpm version to the CI machine and add it to the path.

fpm can therefore be called from the command line as usual in your workflows:

e.g.:

  - run: fpm run

Options

github-token (only needed if fpm-version is 'latest' or not specified), an access token used to query the latest version of fpm. Set to ${{ secrets.GITHUB_TOKEN }} to use the existing github actions token.

fpm-version (optional, default: see below) the tag corresponding to a Github release from which to fetch the fpm binary.

  • If set to 'latest' then the latest fpm release at fortran-lang/fpm will be substituted. github-token must be provided if fpm-version is 'latest'.

fpm-repository (optional, default: https://github.com/fortran-lang/fpm) which Github fork to fetch release binaries from.

Default fpm-version for Each Release

Starting with v7, setup-fpm is pinpointed to fpm version v0.11.0 to ensure compatibility with newer features and changes. Previous versions default to the latest stable release, which is fetched automatically when fpm-version is set to 'latest'.

Release Version Default fpm-version
v1 latest
v2 latest
v3 latest
v4 latest
v5 latest
v6.0.1 latest
v6 latest
v6.1.0 latest
v7 0.11.0

Note: fpm changed asset naming convention starting version v0.11.0. So, the latest option will not work anymore with versions of setup-fpm prior to v7.

Setup fpm is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.

About

Setup the Fortran Package Manager for use in Github actions CI
v7
Latest

Setup fpm is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.