[caddy_log] clean up the format a bit #1249
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: 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: | |
- /opt:/opt:rw,rshared | |
- /opt:/__e/node20:ro,rshared | |
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: | | |
sed -i "s:ID=alpine:ID=NotpineForGHA:" /etc/os-release | |
apk add nodejs --update-cache | |
mkdir /opt/bin | |
ln -s /usr/bin/node /opt/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/upload-release-asset@v1.0.2 | |
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/upload-release-asset@v1.0.2 | |
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: | |
7440 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 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" \ | |
"CXXFLAGS=-g2 -O3" \ | |
'CFLAGS=-O3 -g2' \ | |
"LDFLAGS=-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 -lexpat -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/upload-release-asset@v1.0.2 | |
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-windows: | |
runs-on: windows-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- { icon: "π¦", sys: MSYS, arch: x86_64 } | |
- { icon: "π¦", sys: MSYS, arch: arm64 } | |
name: ${{ matrix.icon }} ${{ matrix.sys }} ${{ matrix.arch }} | |
env: | |
LNAV_BASENAME: lnav-${{ inputs.lnav_version_number }} | |
LNAV_ZIPNAME: lnav-${{ inputs.lnav_version_number }}-windows-${{ matrix.arch }}.zip | |
defaults: | |
run: | |
shell: msys2 {0} | |
steps: | |
- name: "π§° Checkout" | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
# Install Rust using moonrepo/setup-rust | |
- name: Setup Rust | |
uses: moonrepo/setup-rust@v1 | |
with: | |
rust-version: stable | |
- 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/libsqlite-devel | |
msys/libunistring-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/${{ env.LNAV_BASENAME }} | |
touch config.log | |
# Corrected CPPFLAGS with proper source directory paths | |
../lnav/configure \ | |
--enable-static \ | |
LDFLAGS="-static" \ | |
CPPFLAGS="-O3" \ | |
CXXFLAGS 6E66 ="-fPIC" \ | |
CFLAGS="-fPIC" \ | |
LIBS="-larchive -lssh2 -llzma -lexpat -llz4 -lz -lzstd -lssl -lcrypto -liconv -lunistring -lbrotlicommon -lcrypt32" \ | |
--sysconfdir=/etc \ | |
--prefix=$PREFIX || cat config.log | |
- name: "π§ Make (do not use -j)" | |
run: | | |
set -x | |
pwd | |
ls -la | |
cd ../lnav-build | |
pwd | |
ls -la | |
ls -l Makefile | |
make CFLAGS="-c" | |
strip -s src/lnav.exe | |
- name: "π¦ Package for distribution" | |
run: | | |
set -x | |
cd ../lnav-build | |
export PREFIX=$PWD/${{ env.LNAV_BASENAME }} | |
mkdir -p $PREFIX | |
make install | |
cp ../lnav/release/signed-msys-2.0.dll.gz $PREFIX/bin/msys-2.0.dll.gz | |
gunzip $PREFIX/bin/msys-2.0.dll.gz | |
cp ../lnav/README ../lnav/NEWS.md . | |
mkdir ../lnav/bin | |
cp $PREFIX/bin/* ../lnav/bin/ | |
- name: "π Basic test" | |
if: false | |
run: | | |
set -x | |
cd ../lnav-build | |
export PREFIX=$PWD/${{ env.LNAV_BASENAME }} | |
$PREFIX/bin/lnav.exe -n ../lnav/test/logfile_multiline.0 | |
- name: upload-unsigned-artifact | |
id: upload-unsigned-artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: lnav-windows-${{ matrix.arch }}.zip | |
# path: ${{ env.LNAV_ZIPNAME }} | |
path: | | |
bin/lnav.exe | |
bin/msys-2.0.dll | |
README | |
NEWS.md | |
if-no-files-found: error | |
- name: sign | |
if: ${{ inputs.upload_url != '' }} | |
uses: signpath/github-action-submit-signing-request@v1.1 | |
env: | |
# select release-signing policy for main and release branches | |
SIGNPATH_SIGNING_POLICY_SLUG: | | |
${{ ((inputs.lnav_version_number != '') | |
&& 'release-signing') | |
|| 'test-signing' }} | |
with: | |
api-token: '${{ secrets.SIGNPATH_API_TOKEN }}' | |
organization-id: '${{ vars.SIGNPATH_ORGANIZATION_ID }}' | |
project-slug: 'lnav' | |
signing-policy-slug: '${{ env.SIGNPATH_SIGNING_POLICY_SLUG }}' | |
github-artifact-id: "${{steps.upload-unsigned-artifact.outputs.artifact-id}}" | |
wait-for-completion: true | |
output-artifact-directory: 'lnav-signed' | |
- name: upload-signed-artifact | |
id: upload-signed-artifact | |
if: ${{ inputs.upload_url != '' }} | |
uses: actions/upload-artifact@v4 | |
with: | |
name: lnav-signed-windows-${{ matrix.arch }}.zip | |
path: "lnav-signed" | |
if-no-files-found: error | |
- name: "Produce zip" | |
if: ${{ inputs.upload_url != '' }} | |
run: | | |
set -x | |
cp lnav-signed/bin/* ../lnav-build/${{ env.LNAV_BASENAME }}/bin/ | |
cd ../lnav-build | |
zip -r ../lnav/${{ env.LNAV_ZIPNAME }} ${{ env.LNAV_BASENAME }} | |
- name: Upload windows archive | |
uses: actions/upload-release-asset@v1.0.2 | |
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 |