8000 GitHub - uraimo/run-on-arch-action at v1.0.1
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

A Github Action that executes jobs/commands on non-x86 cpu architectures (ARMv6, ARMv7, aarch64, s390x, ppc64le, riscv64) via QEMU

License

Notifications You must be signed in to change notification settings

uraimo/run-on-arch-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

Run-On-Arch Github Action

A Github Action that executes commands on an alternative architecture (ARMv6, ARMv7, aarch64, s390x, ppc64le).

Usage

This action requires three input parameters:

  • architecture: The cpu architecture of the container that will run your commands;
  • distribution: The Linux distribution the will be launched by the container (right now, various releases of Debian or Ubuntu);
  • run: A series of commands that will be executed.

The action does not define any default output variable, feel free to create as many as you want and set them in the run block.

Basic example

This basic example executes uname -a and then does it again to save the value in a variable:

on: [push]

jobs:
  armv7_job:
    runs-on: ubuntu-18.04
    name: Build on ARMv7 
    steps:
      - uses: actions/checkout@v1.0.0
      - uses: uraimo/run-on-arch-action@master
        id: runcmd
        with:
          architecture: armv7
          distribution: ubuntu18.04
          run: |
            uname -a
            echo ::set-output name=uname::$(uname -a)
      - name: Get the output
        run: |
            echo "The uname output was ${{ steps.runcmd.outputs.uname }}"

More complex examples that use different architectures and that show how output artifacts can be easily saved as you would normally do with actions running on x86 can be found in the .github/workflows directory.

Supported Platforms

This table contains a list of possible Architecture/Distribution combinations:

Architecture Distributions
armv6 jessie, stretch, buster
armv7 jessie, stretch, buster, ubuntu16.04, ubuntu18.04
aarch64 jessie, stretch, buster, ubuntu16.04, ubuntu18.04
s390x jessie, stretch, buster, ubuntu16.04, ubuntu18.04
ppc64le jessie, stretch, buster, ubuntu16.04, ubuntu18.04

Using an invalid combination will result in a crash but new configuration can be easily added if a working docker image is available.

License

This project is licensed under the BSD 3-Clause License.

About

A Github Action that executes jobs/commands on non-x86 cpu architectures (ARMv6, ARMv7, aarch64, s390x, ppc64le, riscv64) via QEMU

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 23

0