Build aarch64 SFPI 7.7.0 #422
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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/* |