diff options
Diffstat (limited to '')
-rw-r--r-- | .github/ISSUE_TEMPLATE/bug_report.md | 17 | ||||
-rw-r--r-- | .github/ISSUE_TEMPLATE/feature_request.md | 20 | ||||
-rw-r--r-- | .github/mlc_config.json | 10 | ||||
-rw-r--r-- | .github/workflows/c-cpp.yml | 191 | ||||
-rw-r--r-- | .github/workflows/check-md-links.yml | 12 | ||||
-rw-r--r-- | .github/workflows/coverity.yml | 48 | ||||
-rw-r--r-- | .github/workflows/tailer-ape.yml | 33 |
7 files changed, 331 insertions, 0 deletions
diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..8c8cc0a --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,17 @@ +--- +name: Bug report +about: Create a report to help us improve +title: '' +labels: bug +assignees: '' + +--- + +**lnav version** +v0.11.0 is the latest + +**Describe the bug** +A clear and concise description of what the bug is. + +**To Reproduce** +Steps to reproduce the behavior: diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..11fc491 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +name: Feature request +about: Suggest an idea for this project +title: '' +labels: enhancement +assignees: '' + +--- + +**Is your feature request related to a problem? Please describe.** +A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] + +**Describe the solution you'd like** +A clear and concise description of what you want to happen. + +**Describe alternatives you've considered** +A clear and concise description of any alternative solutions or features you've considered. + +**Additional context** +Add any other context or screenshots about the feature request here. diff --git a/.github/mlc_config.json b/.github/mlc_config.json new file mode 100644 index 0000000..be01fdb --- /dev/null +++ b/.github/mlc_config.json @@ -0,0 +1,10 @@ +{ + "ignorePatterns": [ + { + "pattern": "^/assets" + }, + { + "pattern": "^https://archive.org" + } + ] +}
\ No newline at end of file diff --git a/.github/workflows/c-cpp.yml b/.github/workflows/c-cpp.yml new file mode 100644 index 0000000..af9bdbf --- /dev/null +++ b/.github/workflows/c-cpp.yml @@ -0,0 +1,191 @@ +name: ci-build + +on: + push: + branches: [ master ] + tags: ['*'] + pull_request: + branches: [ master ] + +jobs: + coverage: + runs-on: self-hosted + steps: + - uses: actions/checkout@v2 +# - name: Update apt +# run: sudo apt-get update +# - name: Install packages +# run: sudo apt-get install libncursesw5-dev libpcre++-dev libsqlite3-dev libbz2-dev libcurl4-openssl-dev libreadline-dev zlib1g-dev lcov +# - name: install cpp-coveralls +# run: pip install --user cpp-coveralls + - name: autogen + run: ./autogen.sh + - name: configure + run: ./configure --disable-static --enable-code-coverage --enable-debug CFLAGS=-g3 CXXFLAGS=-g3 + - name: make + run: make -j3 + - name: make check + run: make check + - name: upload cover + env: + COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} + TRAVIS_JOB_ID: ${{ github.run_id }}-${{ github.run_number }} + run: >- + coveralls + --exclude src/doctest.hh + --exclude src/fmtlib + --exclude src/ghc + --exclude src/k_merge_tree.h + --exclude src/mapbox + --exclude src/pugixml + --exclude src/base/result.h + --exclude src/safe + --exclude src/spookyhash + --exclude src/third-party + --exclude src/ww898 + --exclude src/yajl + --exclude test + --exclude src/data_scanner_re.cc + --gcov-options '\-lp' + + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Update apt + run: sudo apt-get update + - name: Install packages + run: >- + sudo apt-get install -y + make + automake + autoconf + g++ + libpcre2-dev + libpcre3-dev + libncurses-dev + libsqlite3-dev + libbz2-dev + libcurl4-openssl-dev + libreadline-dev + tshark + zlib1g-dev + - name: autogen + run: ./autogen.sh + - name: configure + run: ./configure --disable-static + - name: make + run: make -j4 + - name: make distcheck + run: make distcheck -j4 || (test -e lnav-*/_build/sub/src/tailer/test-suite.log && cat lnav-*/_build/sub/src/tailer/test-suite.log && false) || (test -e lnav-*/_build/sub/test/test-suite.log && cat lnav-*/_build/sub/test/test-suite.log && false) + - name: Upload a Build Artifact + uses: actions/upload-artifact@v2 + with: + # Artifact name + name: lnav-tot-linux-64bit.zip + # A file, directory or wildcard pattern that describes what to upload + path: src/lnav + + build-windows: + runs-on: windows-latest + strategy: + fail-fast: false + matrix: + include: + - { icon: '🟦', sys: MSYS } + name: ${{ matrix.icon }} ${{ matrix.sys }} + defaults: + run: + shell: msys2 {0} + steps: + - name: '🧰 Checkout' + uses: actions/checkout@v2 + with: + fetch-depth: 0 + - name: '${{ matrix.icon }} Setup MSYS2' + uses: msys2/setup-msys2@v2 + with: + msystem: ${{matrix.sys}} + update: true + install: >- + autoconf + automake + gcc + git + make + zip + msys/libarchive-devel + msys/libbz2-devel + msys/libcurl-devel + msys/libidn2-devel + msys/liblzma-devel + msys/libreadline-devel + msys/libsqlite-devel + msys/libunistring-devel + msys/ncurses-devel + msys/pcre2-devel + msys/zlib-devel + - name: '🔧 Generate and configure' + run: | + set -x + ./autogen.sh + mkdir -p ../lnav-build + cd ../lnav-build + export PREFIX=$PWD/lnav + ../lnav/configure \ + --enable-static \ + LDFLAGS="-static" \ + CPPFLAGS="-I../src -I../../lnav/src -I../../lnav/src/fmtlib -O2 -DNCURSES_STATIC" \ + CXXFLAGS="-fPIC" \ + CFLAGS="-fPIC" \ + LIBS="-larchive -lssh2 -llzma -llz4 -lz -lzstd -lssl -lcrypto -liconv -lunistring -lbrotlicommon" \ + --sysconfdir=/etc \ + --prefix=$PREFIX || cat config.log + - name: '🚧 Make (do not use -j)' + run: | + set -x + cd ../lnav-build + make CFLAGS="-c" + strip -s src/lnav.exe + - name: '📦 Package for distribution' + run: | + set -x + cd ../lnav-build + export PREFIX=$PWD/lnav + make install + ldd $PREFIX/bin/lnav.exe | grep /usr | cut -d' ' -f3 | xargs -I {} cp {} $PREFIX/bin/ + mkdir -p lib/terminfo/78 + cp -r /usr/lib/terminfo/78/xterm-256color lib/terminfo/78/ + zip -r ../lnav/lnav-${{ github.ref_name }}-windows-amd64.zip lnav lib + - name: '💉 Basic test' + run: | + set -x + cd ../lnav-build + export PREFIX=$PWD/lnav + $PREFIX/bin/lnav.exe -n ../lnav/test/logfile_multiline.0 + - name: '⬆️ Upload a Build Artifact' + uses: actions/upload-artifact@v2 + with: + name: lnav-${{ github.ref_name }}-windows-amd64.zip + path: lnav-${{ github.ref_name }}-windows-amd64.zip + if-no-files-found: error +# - name: '🎁 Create Release' +# id: create_release +# uses: actions/create-release@v1 +# env: +# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} +# with: +# tag_name: ${{ github.ref_name }} +# release_name: Release ${{ github.ref_name }} +# draft: false +# prerelease: false +# - name: '⬆️ Upload Release Asset' +# id: upload-release-asset +# uses: actions/upload-release-asset@v1 +# env: +# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} +# with: +# upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps +# asset_path: ./lnav-${{ github.ref_name }}-windows-amd64.zip +# asset_name: lnav-${{ github.ref_name }}-windows-amd64.zip +# asset_content_type: application/zip diff --git a/.github/workflows/check-md-links.yml b/.github/workflows/check-md-links.yml new file mode 100644 index 0000000..f55b468 --- /dev/null +++ b/.github/workflows/check-md-links.yml @@ -0,0 +1,12 @@ +name: Check Markdown links + +on: push + +jobs: + markdown-link-check: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@master + - uses: gaurav-nelson/github-action-markdown-link-check@v1 + with: + config-file: '.github/mlc_config.json' diff --git a/.github/workflows/coverity.yml b/.github/workflows/coverity.yml new file mode 100644 index 0000000..9f4ef4d --- /dev/null +++ b/.github/workflows/coverity.yml @@ -0,0 +1,48 @@ +# GitHub actions workflow. +# https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions + +name: Coverity Scan + +on: + push: + branches: [ main ] + + schedule: + # The GH mirroring from Google GoB does not trigger push actions. + # Fire it once a week to provide some coverage. + - cron: '39 2 * * WED' + + # Allow for manual triggers from the web. + workflow_dispatch: + +jobs: + coverity: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Update apt + run: sudo apt-get update + - name: Install packages + run: >- + sudo apt-get install -y + make + automake + autoconf + g++ + libpcre3-dev + libncurses-dev + libsqlite3-dev + libbz2-dev + libcurl4-openssl-dev + libreadline-dev + tshark + zlib1g-dev + - name: autogen + run: ./autogen.sh + - name: configure + run: ./configure --disable-static + - uses: vapier/coverity-scan-action@v1 + with: + command: make -j$(getconf _NPROCESSORS_CONF) + email: ${{ secrets.COVERITY_SCAN_EMAIL }} + token: ${{ secrets.COVERITY_SCAN_TOKEN }}
\ No newline at end of file diff --git a/.github/workflows/tailer-ape.yml b/.github/workflows/tailer-ape.yml new file mode 100644 index 0000000..52c65e4 --- /dev/null +++ b/.github/workflows/tailer-ape.yml @@ -0,0 +1,33 @@ +name: tailer-ape + +on: + push: + branches: [ master ] + +jobs: + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: update apt + run: sudo apt-get update + - name: Install packages + run: >- + wget https://github.com/tstack/cosmopolitan/releases/download/v1.0stack/cosmopolitan-amalgamation-1.0-stack.zip && + unzip cosmopolitan-amalgamation-1.0-stack.zip + - name: Build + run: >- + gcc -g -Os -static -nostdlib -nostdinc -fno-pie -no-pie -mno-red-zone + -fno-omit-frame-pointer -pg -mnop-mcount + -o tailer.dbg -I src/tailer + src/tailer/tailer.main.c src/tailer/tailer.c src/tailer/sha-256.c + -fuse-ld=bfd -Wl,-T,ape.lds + -include cosmopolitan.h crt.o ape.o cosmopolitan.a + - name: Objcopy + run: objcopy -S -O binary tailer.dbg src/tailer/tailer.ape + - uses: stefanzweifel/git-auto-commit-action@v4 + with: + # Optional, but recommended + # Defaults to "Apply automatic changes" + commit_message: Update tailer + file_pattern: src/tailer/tailer.ape |