Skip to content

GitHub Action to install and run a custom maturin command

License

Notifications You must be signed in to change notification settings

nebulis-io/maturin-action

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace
 
 

Repository files navigation

maturin-action

GitHub Actions

GitHub Action to install and run a custom maturin command

Usage

- uses: actions-rs/toolchain@v1
  with:
    profile: minimal
    toolchain: stable
    override: true
- uses: messense/maturin-action@v1
  with:
    maturin-version: latest
    command: build
    args: --release

Examples

Inputs

Name Required Description Type Default
command No maturin command to run string build
args No Arguments to pass to maturin subcommand string
maturin-version No The version of maturin to use. Must match a tagged release string latest
manylinux No Control the manylinux platform tag on linux, ignored on other platforms, use auto to build for lowest compatible string Defaults to auto for the publish command
target No The --target option for Cargo string
container No manylinux docker container image name string Default depends on target and manylinux options, Set to off to disable manylinux docker build and build on the host instead.
rust-toolchain No Rust toolchain name string Defaults to stable for Docker build
rustup-components No Rustup components string Defaults to empty

manylinux Docker container

By default, this action uses the following containers for supported architectures and manylinux versions.

Architecture Manylinux version Default container
x86_64 2010/2_12 quay.io/pypa/manylinux2010_x86_64:latest
x86_64 2014/2_17 quay.io/pypa/manylinux2014_x86_64:latest
x86_64 2_24 quay.io/pypa/manylinux_2_24_x86_64:latest
i686 2010/2_12 quay.io/pypa/manylinux2010_i686:latest
i686 2014/2_17 quay.io/pypa/manylinux2014_i686:latest
i686 2_24 quay.io/pypa/manylinux_2_24_i686:latest
aarch64 2014/2_17 messense/manylinux2014-cross:aarch64
aarch64 2_24 messense/manylinux_2_24-cross:aarch64
armv7l 2014/2_17 messense/manylinux2014-cross:armv7
armv7l 2_24 messense/manylinux_2_24-cross:armv7
ppc64le 2014/2_17 messense/manylinux2014-cross:ppc64le
ppc64le 2_24 messense/manylinux_2_24-cross:ppc64le
ppc64 2014/2_17 messense/manylinux2014-cross:ppc64
s390x 2014/2_17 messense/manylinux2014-cross:s390x
s390x 2_24 messense/manylinux_2_24-cross:s390x

You can override it by supplying the container input. Note that if use official manylinux docker images for platforms other than x86_64 and i686, you will need to setup QEMU before using this action, for example

- name: Set up QEMU
  id: qemu
  uses: docker/setup-qemu-action@v1
  with:
    image: tonistiigi/binfmt:latest
    platforms: all
- uses: messense/maturin-action@v1
  with:
    maturin-version: latest
    command: build
    args: --release

License

This work is released under the MIT license. A copy of the license is provided in the LICENSE file.

About

GitHub Action to install and run a custom maturin command

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 97.9%
  • Rust 2.1%