mirror of
https://github.com/mikefarah/yq.git
synced 2024-12-19 20:19:04 +00:00
Man page release workflow wip
This commit is contained in:
parent
e5f389d0c2
commit
ee376fdfd2
107
.github/workflows/release-test.yml
vendored
107
.github/workflows/release-test.yml
vendored
@ -12,57 +12,84 @@ jobs:
|
|||||||
- uses: actions/setup-go@v2
|
- uses: actions/setup-go@v2
|
||||||
with:
|
with:
|
||||||
go-version: '^1.17.2'
|
go-version: '^1.17.2'
|
||||||
|
- name: Compile man page markup
|
||||||
|
id: gen-man-page-md
|
||||||
|
run: |
|
||||||
|
./scripts/generate-man-page-md.sh
|
||||||
|
echo "::set-output name=man-page-md::man.md"
|
||||||
|
|
||||||
|
- name: Generate man page
|
||||||
|
uses: docker://pandoc/latex:2.9
|
||||||
|
id: gen-man-page
|
||||||
|
env:
|
||||||
|
MAN_HEADER: yq (https://github.com/mikefarah/yq/) version ${{ github.ref }}
|
||||||
|
outputs:
|
||||||
|
manpage:
|
||||||
|
value: yq.1
|
||||||
|
with:
|
||||||
|
args: >-
|
||||||
|
--standalone
|
||||||
|
--to man
|
||||||
|
--variable=title:"YQ"
|
||||||
|
--variable=section:"1"
|
||||||
|
--variable=header:"${MAN_HEADER}"
|
||||||
|
--variable=author:"Mike Farah"
|
||||||
|
--output=yq.1
|
||||||
|
${{ steps.gen-man-page-md.outputs.man-page-md }}
|
||||||
|
|
||||||
- name: Cross compile
|
- name: Cross compile
|
||||||
run: |
|
run: |
|
||||||
sudo apt-get install rhash -y
|
sudo apt-get install rhash -y
|
||||||
go get github.com/mitchellh/gox
|
go get github.com/mitchellh/gox
|
||||||
|
mkdir -p build
|
||||||
|
cp ${{ steps.gen-man-page.outputs.manpage }} build/yq.1
|
||||||
./scripts/xcompile.sh
|
./scripts/xcompile.sh
|
||||||
|
|
||||||
- name: Create Release
|
# - name: Create Release
|
||||||
id: create_release
|
# id: create_release
|
||||||
uses: actions/create-release@v1.0.0
|
# uses: actions/create-release@v1.0.0
|
||||||
env:
|
# env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
with:
|
# with:
|
||||||
tag_name: ${{ github.ref }}
|
# tag_name: ${{ github.ref }}
|
||||||
release_name: TEST ${{ github.ref }}
|
# release_name: TEST ${{ github.ref }}
|
||||||
draft: true
|
# draft: true
|
||||||
prerelease: false
|
# prerelease: false
|
||||||
|
|
||||||
- uses: shogo82148/actions-upload-release-asset@v1
|
# - uses: shogo82148/actions-upload-release-asset@v1
|
||||||
with:
|
# with:
|
||||||
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
# upload_url: ${{ steps.create_release.outputs.upload_url }}
|
||||||
asset_path: build/*
|
# asset_path: build/*
|
||||||
|
|
||||||
publishDocker:
|
# publishDocker:
|
||||||
environment: dockerhub
|
# environment: dockerhub
|
||||||
env:
|
# env:
|
||||||
IMAGE_NAME: mikefarah/yq
|
# IMAGE_NAME: mikefarah/yq
|
||||||
runs-on: ubuntu-latest
|
# runs-on: ubuntu-latest
|
||||||
steps:
|
# steps:
|
||||||
- uses: actions/checkout@v2
|
# - uses: actions/checkout@v2
|
||||||
|
|
||||||
- name: Set up QEMU
|
# - name: Set up QEMU
|
||||||
uses: docker/setup-qemu-action@v1
|
# uses: docker/setup-qemu-action@v1
|
||||||
with:
|
# with:
|
||||||
platforms: all
|
# platforms: all
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
# - name: Set up Docker Buildx
|
||||||
id: buildx
|
# id: buildx
|
||||||
uses: docker/setup-buildx-action@v1
|
# uses: docker/setup-buildx-action@v1
|
||||||
with:
|
# with:
|
||||||
version: latest
|
# version: latest
|
||||||
|
|
||||||
- name: Available platforms
|
# - name: Available platforms
|
||||||
run: echo ${{ steps.buildx.outputs.platforms }} && docker version
|
# run: echo ${{ steps.buildx.outputs.platforms }} && docker version
|
||||||
|
|
||||||
- name: Build image
|
# - name: Build image
|
||||||
run: |
|
# run: |
|
||||||
IMAGE_V_VERSION="$(git describe --tags --abbrev=0)"
|
# IMAGE_V_VERSION="$(git describe --tags --abbrev=0)"
|
||||||
IMAGE_VERSION=${IMAGE_V_VERSION:1}
|
# IMAGE_VERSION=${IMAGE_V_VERSION:1}
|
||||||
|
|
||||||
SHORT_SHA1=$(git rev-parse --short HEAD)
|
# SHORT_SHA1=$(git rev-parse --short HEAD)
|
||||||
PLATFORMS="linux/amd64,linux/ppc64le,linux/arm64"
|
# PLATFORMS="linux/amd64,linux/ppc64le,linux/arm64"
|
||||||
echo "Building version ${IMAGE_VERSION} of image ${IMAGE_NAME}"
|
# echo "Building version ${IMAGE_VERSION} of image ${IMAGE_NAME}"
|
||||||
docker buildx build --platform "${PLATFORMS}" .
|
# docker buildx build --platform "${PLATFORMS}" .
|
||||||
|
|
||||||
|
19
scripts/generate-man-page-md.sh
Executable file
19
scripts/generate-man-page-md.sh
Executable file
@ -0,0 +1,19 @@
|
|||||||
|
#! /bin/bash
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# note that this reqires pandoc to be installed.
|
||||||
|
|
||||||
|
cat ./pkg/yqlib/doc/headers/Main.md > man.md
|
||||||
|
printf "\n# HOW IT WORKS\n" >> man.md
|
||||||
|
cat ./pkg/yqlib/doc/aa.md >> man.md
|
||||||
|
|
||||||
|
for f in ./pkg/yqlib/doc/*.md; do
|
||||||
|
docNameWithExt="${f##*/}"
|
||||||
|
docName="${docNameWithExt%.*}"
|
||||||
|
docNameCap=$(echo $docName | tr [a-z] [A-Z])
|
||||||
|
if [ "$docName" != "aa" ]; then
|
||||||
|
printf "\n\n# ${docNameCap}\n" >> man.md
|
||||||
|
cat "$f" >> man.md
|
||||||
|
fi
|
||||||
|
|
||||||
|
done
|
@ -3,26 +3,9 @@ set -e
|
|||||||
|
|
||||||
# note that this reqires pandoc to be installed.
|
# note that this reqires pandoc to be installed.
|
||||||
|
|
||||||
cat ./pkg/yqlib/doc/headers/Main.md > man.md
|
|
||||||
printf "\n# HOW IT WORKS\n" >> man.md
|
|
||||||
cat ./pkg/yqlib/doc/aa.md >> man.md
|
|
||||||
|
|
||||||
for f in ./pkg/yqlib/doc/*.md; do
|
|
||||||
docNameWithExt="${f##*/}"
|
|
||||||
docName="${docNameWithExt%.*}"
|
|
||||||
docNameCap=$(echo $docName | tr [a-z] [A-Z])
|
|
||||||
if [ "$docName" != "aa" ]; then
|
|
||||||
printf "\n\n# ${docNameCap}\n" >> man.md
|
|
||||||
cat "$f" >> man.md
|
|
||||||
fi
|
|
||||||
|
|
||||||
done
|
|
||||||
|
|
||||||
header=$(./yq --version)
|
|
||||||
|
|
||||||
pandoc \
|
pandoc \
|
||||||
--variable=title:"YQ" \
|
--variable=title:"YQ" \
|
||||||
--variable=section:"1" \
|
--variable=section:"1" \
|
||||||
--variable=author:"Mike Farah" \
|
--variable=author:"Mike Farah" \
|
||||||
--variable=header:"${header}" \
|
--variable=header:"${MAN_HEADER}" \
|
||||||
--standalone --to man man.md -o build/yq.1
|
--standalone --to man man.md -o yq.1
|
@ -6,8 +6,6 @@ set -e
|
|||||||
|
|
||||||
CGO_ENABLED=0 gox -ldflags "${LDFLAGS}" -output="build/yq_{{.OS}}_{{.Arch}}" --osarch="darwin/amd64 darwin/arm64 freebsd/386 freebsd/amd64 freebsd/arm linux/386 linux/amd64 linux/arm linux/arm64 linux/mips linux/mips64 linux/mips64le linux/mipsle linux/ppc64 linux/ppc64le linux/s390x netbsd/386 netbsd/amd64 netbsd/arm openbsd/386 openbsd/amd64 windows/386 windows/amd64"
|
CGO_ENABLED=0 gox -ldflags "${LDFLAGS}" -output="build/yq_{{.OS}}_{{.Arch}}" --osarch="darwin/amd64 darwin/arm64 freebsd/386 freebsd/amd64 freebsd/arm linux/386 linux/amd64 linux/arm linux/arm64 linux/mips linux/mips64 linux/mips64le linux/mipsle linux/ppc64 linux/ppc64le linux/s390x netbsd/386 netbsd/amd64 netbsd/arm openbsd/386 openbsd/amd64 windows/386 windows/amd64"
|
||||||
|
|
||||||
./scripts/generate-man-page.sh
|
|
||||||
|
|
||||||
cd build
|
cd build
|
||||||
|
|
||||||
find . -executable -type f | xargs -I {} tar czvf {}.tar.gz {} yq.1 -C ../scripts install-man-page.sh
|
find . -executable -type f | xargs -I {} tar czvf {}.tar.gz {} yq.1 -C ../scripts install-man-page.sh
|
||||||
|
Loading…
Reference in New Issue
Block a user