name: Big-endian

on:
  workflow_dispatch:

permissions:
  contents: read

concurrency:
  group: big-endian-${{ github.ref }}
  cancel-in-progress: true

jobs:
  linux-s390x:
    name: Linux s390x / PostgreSQL 16
    runs-on: ubuntu-latest
    timeout-minutes: 60

    steps:
      - name: Checkout repository
        uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1

      - name: Set up QEMU
        uses: docker/setup-qemu-action@99012661954931238ded8c8b007157a8430204e1 # v4
        with:
          platforms: s390x

      - name: Test on big-endian s390x
        run: |
          docker run --rm --platform linux/s390x \
            -v "$PWD:/src" -w /src \
            alpine:3.20 \
            sh -c '
              set -e
              apk add --no-cache build-base postgresql16 \
                postgresql16-client postgresql16-dev su-exec
              adduser -D pg
              PG_CONFIG="$(command -v pg_config)"
              make PG_CONFIG="$PG_CONFIG" with_llvm=no
              make PG_CONFIG="$PG_CONFIG" install with_llvm=no
              su-exec pg sh /src/.github/scripts/big-endian-s390x.sh
            '
