name: Continuous Build NetBSD

on:
  workflow_dispatch:
  push:
    branches:
      - main
    tags-ignore:
      - '*.*'
    paths:
      - 'src/**'
      - '!src/linux/**'
      - '!src/osx/**'
      - '!src/freebsd/**'
      - '!src/openbsd/**'
      - 'include/**'
      - 'Makefile'
      - '.github/workflows/continuous-build-netbsd.yml'
  pull_request:
    branches:
      - main
    paths:
      - 'src/**'
      - '!src/linux/**'
      - '!src/osx/**'
      - '!src/freebsd/**'
      - '!src/openbsd/**'
      - 'include/**'
      - 'Makefile'
      - '.github/workflows/continuous-build-netbsd.yml'

jobs:
  build-netbsd:
    runs-on: ubuntu-24.04
    timeout-minutes: 20
    steps:
      - uses: actions/checkout@v6

      - name: Compile
        uses: vmactions/netbsd-vm@v1

        with:
          release: '10.1'
          usesh: true
          prepare: |
            PATH="/usr/pkg/sbin:/usr/pkg/bin:$PATH"
            PKG_PATH="https://ftp.netbsd.org/pub/pkgsrc/packages/NetBSD/amd64/10.1/All/"
            export PATH PKG_PATH
            /usr/sbin/pkg_add pkgin
            pkgin -y install gmake gcc14 coreutils git
            git config --global --add safe.directory /home/runner/work/btop/btop
          run: |
            gmake CXX=/usr/pkg/gcc14/bin/g++ CXXFLAGS='-DNDEBUG -I/usr/pkg/gcc10/include -I/usr/include -I/usr/pkg/include' STATIC=true STRIP=true
            GIT_HASH=$(git rev-parse --short "$GITHUB_SHA")
            mv bin/btop bin/btop-GCC10-"$GIT_HASH"
            ls -alh bin

      - uses: actions/upload-artifact@v7
        with:
          name: btop-x86_64-netbsd-9.3
          path: 'bin/*'
          if-no-files-found: error

