Skip to content

Build aarch64 SFPI 7.7.0 #422

Build aarch64 SFPI 7.7.0

Build aarch64 SFPI 7.7.0 #422

Workflow file for this run

name: "Build SFPI"
on:
workflow_dispatch:
inputs:
tag:
required: false
description: Version tag to checkout
default:
type: string
arch:
required: true
description: Host architecture
default: x86_64
type: choice
options:
- aarch64
- x86_64
box:
required: true
description: Container to run on
default: Alma
type: choice
options:
- none
- Alma
env:
SUDO: ${{ inputs.box == 'none' && 'sudo' || '' }}
run-name: Build ${{ inputs.arch }} SFPI ${{ inputs.tag || github.ref }}${{ inputs.box != 'none' && format(' on {0}', inputs.box) || ''}}${{ inputs.checking != '' && ' Checking:' || '' }}${{ inputs.checking }}
jobs:
build:
runs-on: ubuntu-22.04${{ inputs.arch == 'aarch64' && '-arm' || '' }}
container:
image: ${{ inputs.box == 'alma' && format('quay.io/pypa/manylinux_2_34_{0}', inputs.arch) || null }}
steps:
- name: Checkout repo & submodules
uses: actions/checkout@v4
with:
ref: ${{ inputs.tag || github.ref }}
fetch-depth: 64
fetch-tags: true
submodules: recursive
- name: Tell Git it is safe
run: git config --global --add safe.directory '*'
- name: Install packages
run: |
pkgs="autoconf automake bison expect flex gawk python3 texinfo"
pkgs+=" patchutils ruby"
if type apt-get >/dev/null 2>&1 ; then
$SUDO apt-get update
$SUDO apt-get -y install $pkgs rpm
$SUDO apt-get -y install libexpat1-dev libgmp-dev libmpc-dev libmpfr-dev gcc g++
else
$SUDO dnf install -y $pkgs rpm-build
$SUDO dnf install -y expat-devel gmp-devel libmpc-devel mpfr-devel gcc gcc-c++
fi
- name: Get FPM
run: $SUDO gem install fpm
- name: Build toolchain
run: scripts/build.sh --gdb --tt-built
- name: Build test harness
run: scripts/build.sh --dejagnu
- name: Run tests
run: scripts/build.sh --test-tt
- name: Release toolchain
run: scripts/release.sh --ci --tt-built
- name: Upload build
uses: actions/upload-artifact@v4
with:
name: ${{ inputs.arch }}-${{ inputs.box != 'none' && format('{0}-', inputs.box) || '' }}build
path: build/release/*
compression-level: 0
- name: Upload tests
uses: actions/upload-artifact@v4
with:
name: ${{ inputs.arch }}-${{ inputs.box != 'none' && format('{0}-', inputs.box) || '' }}tests
path: |
build/tests/*