[notcurses] handle failure to set cregs from tmux #776
This file contains 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: bins | |
on: | |
push: | |
branches: | |
- master | |
paths-ignore: | |
- 'docs/**' | |
- 'test/**' | |
- README.md | |
- NEWS.md | |
- .github/actions/muslbuilder/Dockerfile | |
- .github/actions/muslbuilder/entrypoint.sh | |
- .github/workflows/musl-build-image.yml | |
- '.github/ISSUE_TEMPLATE/**' | |
workflow_call: | |
inputs: | |
lnav_version_number: | |
description: The version number of the release | |
required: false | |
type: string | |
upload_url: | |
description: The URL to upload release assets | |
required: false | |
type: string | |
jobs: | |
build-linux-musl: | |
strategy: | |
matrix: | |
include: | |
- runs-on: ubuntu-latest | |
arch: x86_64 | |
platform: linux/amd64 | |
- runs-on: ubuntu-22.04-arm | |
arch: arm64 | |
platform: linux/arm64 | |
runs-on: ${{ matrix.runs-on }} | |
container: | |
image: tstack/lnav-build:latest | |
options: --platform ${{ matrix.platform }} | |
volumes: | |
- /:/host # Jailbreak! | |
env: | |
LNAV_BASENAME: lnav-${{ inputs.lnav_version_number }} | |
LNAV_ZIPNAME: lnav-${{ inputs.lnav_version_number }}-linux-musl-${{ matrix.arch }}.zip | |
steps: | |
- name: Patch native Alpine NodeJS into Runner environment | |
if: runner.os == 'Linux' | |
run: | | |
apk add nodejs | |
sed -i "s:ID=alpine:ID=NotpineForGHA:" /etc/os-release | |
cd /host/home/runner/runners/*/externals/ | |
rm -rf node20/* | |
mkdir node20/bin | |
ln -s /usr/bin/node node20/bin/node | |
shell: sh # No bash in Alpine by default | |
- name: checkout | |
uses: actions/checkout@v3 | |
- name: list | |
run: find /fake.root | |
- name: make | |
run: /entrypoint.sh | |
- name: Build musl package | |
if: ${{ inputs.lnav_version_number != '' }} | |
run: >- | |
mkdir ${{ env.LNAV_BASENAME }} && | |
cd ${{ env.LNAV_BASENAME }} && | |
cp ../NEWS.md ../README ../lnav.1 . && | |
cp ../lbuild/src/lnav . && | |
cd .. && | |
zip -r ${{ env.LNAV_ZIPNAME }} ${{ env.LNAV_BASENAME }} | |
- name: Upload a Build Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
# Artifact name | |
name: lnav-linux-musl-${{ matrix.arch }}.zip | |
# A file, directory or wildcard pattern that describes what to upload | |
path: lbuild/src/lnav | |
- name: Upload musl-binary archive | |
uses: actions/[email protected] | |
if: ${{ inputs.upload_url != '' }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ inputs.upload_url }} | |
asset_path: ${{ env.LNAV_ZIPNAME }} | |
asset_name: ${{ env.LNAV_ZIPNAME }} | |
asset_content_type: application/octet-stream | |
build-arm: | |
runs-on: ubuntu-latest | |
if: false | |
strategy: | |
matrix: | |
include: | |
- container-platform: linux/arm/v7 | |
arch: armv7l | |
- container-platform: linux/arm64 | |
arch: aarch64 | |
env: | |
LNAV_BASENAME: lnav-${{ inputs.lnav_version_number }} | |
LNAV_ZIPNAME: lnav-${{ inputs.lnav_version_number }}-linux-musl-${{ matrix.arch }}.zip | |
LNAV_ARTIFACT: lnav-linux-musl-${{ matrix.arch }}.zip | |
steps: | |
- name: checkout | |
uses: actions/checkout@v3 | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v2 | |
- name: make | |
uses: addnab/docker-run-action@v3 | |
with: | |
image: tstack/lnav-build:latest | |
options: -v ${{ github.workspace }}:/lnav -e GITHUB_WORKSPACE=/lnav --platform ${{ matrix.container-platform }} | |
run: /entrypoint.sh | |
- name: Build musl package | |
if: ${{ inputs.lnav_version_number != '' }} | |
run: >- | |
cd ${{ github.workspace }} && | |
mkdir ${{ env.LNAV_BASENAME }} && | |
cd ${{ env.LNAV_BASENAME }} && | |
cp ../NEWS.md ../README ../lnav.1 . && | |
cp ../lbuild/src/lnav . && | |
cd .. && | |
zip -r ${{ env.LNAV_ZIPNAME }} ${{ env.LNAV_BASENAME }} | |
- name: Upload a Build Artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
# Artifact name | |
name: ${{ env.LNAV_ARTIFACT }} | |
# A file, directory or wildcard pattern that describes what to upload | |
path: ${{ github.workspace }}/lbuild/src/lnav | |
- name: Upload musl-binary archive | |
uses: actions/[email protected] | |
if: ${{ inputs.upload_url != '' }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ inputs.upload_url }} | |
asset_path: ${{ github.workspace }}/${{ env.LNAV_ZIPNAME }} | |
asset_name: ${{ env.LNAV_ZIPNAME }} | |
asset_content_type: application/octet-stream | |
build-macos: | |
strategy: | |
matrix: | |
include: | |
- runs-on: macos-13 | |
arch: x86_64 | |
- runs-on: macos-14 | |
arch: aarch64 | |
runs-on: ${{ matrix.runs-on }} | |
env: | |
LNAV_BASENAME: lnav-${{ inputs.lnav_version_number }} | |
LNAV_ZIPNAME: lnav-${{ inputs.lnav_version_number }}-${{ matrix.arch }}-macos.zip | |
steps: | |
- name: checkout | |
uses: actions/checkout@v3 | |
- name: install packages | |
run: brew install pcre2 sqlite ncurses xz zstd lz4 libarchive curl autoconf automake libunistring | |
- name: autogen | |
run: ./autogen.sh | |
- name: configure | |
run: >- | |
./configure --enable-static \ | |
--with-libcurl=/usr \ | |
--with-pcre2=$(brew --prefix pcre2) \ | |
--with-sqlite3=$(brew --prefix sqlite3) \ | |
"CPPFLAGS=-I$(brew --prefix libunistring)/include -I$(brew --prefix ncurses)/include" \ | |
"CXXFLAGS=-g2 -O2" \ | |
'CFLAGS=-O2 -g2' \ | |
"LDFLAGS=-L$(brew --prefix ncurses)/lib -L$(brew --prefix xz)/lib -L$(brew --prefix zstd)/lib/ -L$(brew --prefix lz4)/lib/ -L$(brew --prefix libunistring)/lib" \ | |
--with-libarchive=$(brew --prefix libarchive) \ | |
"LIBS=-llzma -lzstd -liconv -llz4 -lbz2 -lz -lpcre2-8" | |
- name: make | |
run: make -j2 | |
- name: Build macos package | |
if: ${{ inputs.lnav_version_number != '' }} | |
run: >- | |
mkdir ${{ env.LNAV_BASENAME }} && | |
cd ${{ env.LNAV_BASENAME }} && | |
cp ../NEWS.md ../README ../lnav.1 . && | |
cp ../src/lnav . && | |
cd .. && | |
zip -r ${{ env.LNAV_ZIPNAME }} ${{ env.LNAV_BASENAME }} | |
- name: Upload build artifacts | |
uses: actions/upload-artifact@v4 | |
if: ${{ always() }} | |
with: | |
# Artifact name | |
name: lnav-macos-${{ matrix.arch }}.zip | |
# A file, directory or wildcard pattern that describes what to upload | |
path: | | |
config.log | |
src/lnav | |
- name: Upload macos archive | |
uses: actions/[email protected] | |
if: ${{ inputs.upload_url != '' }} | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ inputs.upload_url }} | |
asset_path: ${{ env.LNAV_ZIPNAME }} | |
asset_name: ${{ env.LNAV_ZIPNAME }} | |
asset_content_type: application/octet-stream |