current commit
261101.1 · ci: update outdated dependencies when installing NetBSD packages (#3696)
name: BSD

on:
  push:
    branches:
      - master
    tags:
      - "jq-*"
  pull_request:

jobs:
  freebsd:
    runs-on: ubuntu-latest
    timeout-minutes: 60
    steps:
      - name: Clone repository
        uses: actions/checkout@v7
        with:
          submodules: true
      - name: Build and test
        uses: vmactions/freebsd-vm@v1
        with:
          usesh: true
          cache-after-prepare: true
          prepare: |
            pkg install -y autoconf automake libtool gmake git
          run: |
            set -e
            # The VM runs as root over a checkout owned by another uid, so git
            # rejects the repository and scripts/version -- which AC_INIT calls
            # through m4_esyscmd_s -- exits 128, leaving JQ_VERSION undefined.
            git config --global --add safe.directory "$PWD"
            git config --global --add safe.directory "$PWD/vendor/oniguruma"
            autoreconf -i
            ./configure --disable-docs --with-oniguruma=builtin --enable-static
            gmake -j"$(sysctl -n hw.ncpu)"
            gmake check VERBOSE=yes
      - name: Upload Test Logs
        if: ${{ failure() }}
        uses: actions/upload-artifact@v7
        with:
          name: test-logs-freebsd
          retention-days: 7
          path: |
            test-suite.log
            tests/*.log

  netbsd:
    runs-on: ubuntu-latest
    timeout-minutes: 60
    steps:
      - name: Clone repository
        uses: actions/checkout@v7
        with:
          submodules: true
      - name: Build and test
        uses: vmactions/netbsd-vm@v1
        with:
          usesh: true
          cache-after-prepare: true
          prepare: |
            # -uu also updates installed dependencies that are too old, such
            # as the image's pcre2 when git needs a newer build.
            pkg_add -uu autoconf automake libtool gmake git
          run: |
            set -e
            # The VM runs as root over a checkout owned by another uid, so git
            # rejects the repository and scripts/version -- which AC_INIT calls
            # through m4_esyscmd_s -- exits 128, leaving JQ_VERSION undefined.
            git config --global --add safe.directory "$PWD"
            git config --global --add safe.directory "$PWD/vendor/oniguruma"
            autoreconf -i
            ./configure --disable-docs --with-oniguruma=builtin --enable-static
            gmake -j"$(sysctl -n hw.ncpu)"
            gmake check VERBOSE=yes
      - name: Upload Test Logs
        if: ${{ failure() }}
        uses: actions/upload-artifact@v7
        with:
          name: test-logs-netbsd
          retention-days: 7
          path: |
            test-suite.log
            tests/*.log