mirror of
https://github.com/mikefarah/yq.git
synced 2026-07-08 14:55:42 +00:00
The main motivation behind it is because "gox" is unmaintained and archived and it does not support "linux/riscv64" as a target. Right now, goreleaser is only building the binaries, and I've tried to replicate the exact same way the old script does. In the future, if so desired, goreleaser could be used to further automate the build and release pipeline by creating the release in GitHub.
54 lines
1.4 KiB
YAML
54 lines
1.4 KiB
YAML
name: Release YQ
|
|
on:
|
|
push:
|
|
tags:
|
|
- 'v4.*'
|
|
- 'draft-*'
|
|
|
|
jobs:
|
|
publishGitRelease:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-go@v5
|
|
with:
|
|
go-version: '^1.20'
|
|
check-latest: true
|
|
- name: Compile man page markup
|
|
id: gen-man-page-md
|
|
run: |
|
|
./scripts/generate-man-page-md.sh
|
|
|
|
- name: Get the version
|
|
id: get_version
|
|
run: echo "VERSION=${GITHUB_REF##*/}" >> "${GITHUB_OUTPUT}"
|
|
|
|
- name: Generate man page
|
|
uses: docker://pandoc/core:2.14.2
|
|
id: gen-man-page
|
|
with:
|
|
args: >-
|
|
--standalone
|
|
--to man
|
|
--variable=title:"YQ"
|
|
--variable=section:"1"
|
|
--variable=header:"yq (https://github.com/mikefarah/yq/) version ${{ steps.get_version.outputs.VERSION }}"
|
|
--variable=author:"Mike Farah"
|
|
--output=yq.1
|
|
man.md
|
|
|
|
- name: Cross compile
|
|
run: |
|
|
sudo apt-get install rhash -y
|
|
go install github.com/goreleaser/goreleaser/v2@latest
|
|
mkdir -p build
|
|
cp yq.1 build/yq.1
|
|
./scripts/xcompile.sh
|
|
|
|
- name: Release
|
|
uses: softprops/action-gh-release@v1
|
|
with:
|
|
files: build/*
|
|
draft: true
|
|
fail_on_unmatched_files: true
|