issue: Use issue type not issue label (#2755) #407
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: Autotools | |
| on: | |
| push: | |
| paths: | |
| - '**/Makefile.am' | |
| - '.github/workflows/autotools.yml' | |
| - 'Brewfile' | |
| - 'configure.ac' | |
| - 'include/**/*.h' | |
| - 'include/**/*.h.in' | |
| - 'include/**/*.hpp' | |
| - 'lib/**/*.c' | |
| - 'lib/**/*.cpp' | |
| - 'lib/**/*.h' | |
| - 'lib/**/*.hpp' | |
| - 'lib/**/*.rb' | |
| - 'plugins/**/*.c' | |
| - 'plugins/**/*.cpp' | |
| - 'plugins/**/*.h' | |
| - 'plugins/**/*.rb' | |
| - 'setup.sh' | |
| - 'src/**/*.c' | |
| - 'src/**/*.h' | |
| - 'test/command/**' | |
| - 'test/command_line/**' | |
| - 'test/mruby/**' | |
| - 'vendor/mruby/**' | |
| pull_request: | |
| paths: | |
| - '**/Makefile.am' | |
| - '.github/workflows/autotools.yml' | |
| - 'Brewfile' | |
| - 'configure.ac' | |
| - 'include/**/*.h' | |
| - 'include/**/*.h.in' | |
| - 'include/**/*.hpp' | |
| - 'lib/**/*.c' | |
| - 'lib/**/*.cpp' | |
| - 'lib/**/*.h' | |
| - 'lib/**/*.hpp' | |
| - 'lib/**/*.rb' | |
| - 'setup.sh' | |
| - 'plugins/**/*.c' | |
| - 'plugins/**/*.cpp' | |
| - 'plugins/**/*.h' | |
| - 'plugins/**/*.rb' | |
| - 'src/**/*.c' | |
| - 'src/**/*.h' | |
| - 'test/command/**' | |
| - 'test/command_line/**' | |
| - 'test/mruby/**' | |
| - 'vendor/mruby/**' | |
| concurrency: | |
| group: ${{ github.head_ref || github.sha }}-${{ github.workflow }} | |
| cancel-in-progress: true | |
| jobs: | |
| linux: | |
| name: Linux | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - cc: gcc | |
| cxx: g++ | |
| - cc: clang | |
| cxx: clang++ | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 45 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| submodules: recursive | |
| - name: Prepare ccache | |
| run: | | |
| echo "CCACHE_DIR=${PWD}/ccache" >> ${GITHUB_ENV} | |
| - name: Cache ccache | |
| uses: actions/cache@v5 | |
| with: | |
| path: ccache | |
| key: autotools-linux-${{ matrix.cc }}-ccache-${{ hashFiles('lib/**', 'src/**', 'plugins/**', 'include/**') }} | |
| restore-keys: autotools-linux-${{ matrix.cc }}-ccache- | |
| - name: Enable Apache Arrow repository | |
| run: | | |
| sudo apt update -o="APT::Acquire::Retries=3" | |
| sudo apt install -y -V -o="APT::Acquire::Retries=3" \ | |
| lsb-release \ | |
| wget | |
| wget https://apache.jfrog.io/artifactory/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb | |
| sudo apt install -y -V ./apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb | |
| - name: Install packages | |
| run: | | |
| sudo apt update -o="APT::Acquire::Retries=3" | |
| sudo apt install -y -V -o="APT::Acquire::Retries=3" \ | |
| autoconf-archive \ | |
| automake1.11 \ | |
| autotools-dev \ | |
| ccache \ | |
| clang \ | |
| gdb \ | |
| gettext \ | |
| libarrow-compute-dev \ | |
| libarrow-dev \ | |
| libedit-dev \ | |
| libevent-dev \ | |
| libluajit-5.1-dev \ | |
| liblz4-dev \ | |
| libmecab-dev \ | |
| libmsgpack-dev \ | |
| libstemmer-dev \ | |
| libxxhash-dev \ | |
| libzstd-dev \ | |
| mecab-naist-jdic \ | |
| rapidjson-dev \ | |
| ruby-dev \ | |
| zlib1g-dev | |
| echo "/usr/lib/ccache" >> $GITHUB_PATH | |
| - name: Generate configure | |
| run: | | |
| ./autogen.sh | |
| - name: Configure | |
| run: | | |
| ccache --show-stats --verbose --version || : | |
| ./configure \ | |
| CC=${{ matrix.cc }} \ | |
| CXX=${{ matrix.cxx }} \ | |
| --enable-debug \ | |
| --enable-mruby \ | |
| --prefix=$PWD/install \ | |
| --with-ruby | |
| - name: Build | |
| run: | | |
| make -j$(nproc) | |
| ccache --show-stats --verbose --version || : | |
| - name: Install | |
| run: | | |
| make install | |
| - name: Install test dependencies | |
| run: | | |
| sudo env MAKEFLAGS=-j$(nproc) gem install \ | |
| grntest \ | |
| pkg-config \ | |
| rroonga | |
| - name: Set environment variables | |
| run: | | |
| echo "COLUMNS=79" >> ${GITHUB_ENV} | |
| echo "LD_LIBRARY_PATH=$PWD/install/lib" >> ${GITHUB_ENV} | |
| echo "TZ=Asia/Tokyo" >> ${GITHUB_ENV} | |
| echo "$PWD/install/bin" >> ${GITHUB_PATH} | |
| - name: "Test: mruby" | |
| run: | | |
| USE_SYSTEM=yes test/mruby/run-test.rb | |
| - uses: actions/cache@v5 | |
| with: | |
| path: | | |
| ~/.cache/red-datasets | |
| key: red-datasets-ubuntu | |
| - name: "Test: command line" | |
| run: | | |
| test/command_line/run-test.rb --groonga-install-prefix=$PWD/install | |
| - name: "Test: stdio" | |
| run: | | |
| # Test only checks presence of MECAB_DICTIONARY_NAIST_JDIC. So the | |
| # actual value is ignored. | |
| MECAB_DICTIONARY_NAIST_JDIC=YES \ | |
| grntest \ | |
| --base-dir test/command \ | |
| --n-retries=2 \ | |
| --read-timeout=30 \ | |
| --reporter=mark \ | |
| test/command/suite | |
| macos: | |
| name: macOS | |
| runs-on: macos-latest | |
| timeout-minutes: 45 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| submodules: recursive | |
| - name: Install packages | |
| run: | | |
| # Workaround. pkg-config formula is deprecated but still | |
| # installed in GitHub Actions runner. We can remove this | |
| # when GitHub Actions runner doesn't include pkg-config | |
| # formula by default. | |
| brew uninstall pkg-config || : | |
| brew uninstall pkg-config@0.29.2 || : | |
| ./setup.sh | |
| - name: Prepare ccache | |
| run: | | |
| echo "CCACHE_DIR=${PWD}/ccache" >> ${GITHUB_ENV} | |
| echo "$(brew --prefix ccache)/libexec" >> ${GITHUB_PATH} | |
| - name: Cache ccache | |
| uses: actions/cache@v5 | |
| with: | |
| path: ccache | |
| key: autotools-macos-ccache-${{ hashFiles('lib/**', 'src/**', 'plugins/**', 'include/**') }} | |
| restore-keys: autotools-macos-ccache- | |
| - name: Generate configure | |
| run: | | |
| ./autogen.sh | |
| - name: Configure | |
| run: | | |
| ccache --show-stats --verbose --version || : | |
| mkdir -p ../groonga.build | |
| cd ../groonga.build | |
| ../groonga/configure \ | |
| --enable-debug \ | |
| --enable-mruby \ | |
| --prefix=/usr/local \ | |
| --with-ruby | |
| - name: Build | |
| run: | | |
| make -C ../groonga.build -j$(/usr/sbin/sysctl -n hw.physicalcpu) | |
| - name: Install | |
| run: | | |
| sudo make -C ../groonga.build install | |
| - name: Install test dependencies | |
| run: | | |
| MAKEFLAGS=-j$(nproc) gem install \ | |
| grntest \ | |
| pkg-config | |
| - name: Set environment variables | |
| run: | | |
| echo "COLUMNS=79" >> ${GITHUB_ENV} | |
| echo "TZ=Asia/Tokyo" >> ${GITHUB_ENV} | |
| - name: "Test: stdio" | |
| run: | | |
| # Floating point number precision mismatch | |
| rm -rf test/command/suite/tokenizers/document_vector_bm25 | |
| grntest \ | |
| --base-dir test/command \ | |
| --n-retries=2 \ | |
| --read-timeout=30 \ | |
| --reporter=mark \ | |
| test/command/suite |