@@ -79,16 +79,58 @@ jobs:
7979 with :
8080 fetch-depth : 0
8181 ref : ${{ github.ref_name }}
82+ - name : Setup goreleaser
83+ shell : bash
84+ run : |-
85+ OS="Linux"
86+ if [[ ${RUNNER_OS} != "Linux" ]]; then
87+ echo "Unsupported OS: ${RUNNER_OS}"
88+ exit 1
89+ fi
90+
91+ # renovate-local: goreleaser-x86_64
92+ GORELEASER_VERSION="v2.15.2"
93+ # renovate-local: goreleaser-x86_64=v2.15.2
94+ GORELEASER_CHECKSUM_x86_64="0ebdbf0353aba566b969dde746cc4e4806f96c27aa2f3971b229a9df7611fedc"
95+
96+ ARCH=$(uname -m)
97+ CHECKSUM="${GORELEASER_CHECKSUM_x86_64}"
98+ if [[ "${ARCH}" != "x86_64" ]]; then
99+ echo "Unsupported architecture: ${ARCH}"
100+ exit 1
101+ fi
102+
103+ FILE="goreleaser_${OS}_${ARCH}.tar.gz"
104+
105+ echo "Installing ${FILE}"
106+ curl -LO "https://github.com/goreleaser/goreleaser/releases/download/${GORELEASER_VERSION}/${FILE}"
107+ echo "${CHECKSUM} ${FILE}" | sha256sum -c
108+ tar -xf "${FILE}" goreleaser
109+
110+ if sudo -n true &> /dev/null; then
111+ sudo install -m 755 goreleaser /usr/local/bin/goreleaser
112+ else
113+ install -m 755 goreleaser /usr/local/bin/goreleaser
114+ fi
115+ rm -f "${FILE}" goreleaser
82116 - name : Create release
83117 env :
84118 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }} # required for creating GH release
85119 GORELEASER_CURRENT_TAG : ${{ github.ref_name }} # specify the tag to be released
86120 id : goreleaser
87- uses : goreleaser/goreleaser-action@ec59f474b9834571250b370d4735c50f8e2d1e29 # v7
88- with :
89- distribution : goreleaser
90- version : " ~> v2"
91- args : release --clean --verbose
121+ shell : bash
122+ run : |-
123+ goreleaser release --clean --verbose
124+ if [[ ! -f dist/metadata.json ]] || [[ ! -s dist/metadata.json ]]; then
125+ echo "Missing required file: dist/metadata.json"
126+ exit 1
127+ fi
128+ if [[ ! -f dist/artifacts.json ]] || [[ ! -s dist/artifacts.json ]]; then
129+ echo "Missing required file: dist/artifacts.json"
130+ exit 1
131+ fi
132+ echo "metadata=$(tr -d '\n\r' < dist/metadata.json)" >> "${GITHUB_OUTPUT}"
133+ echo "artifacts=$(tr -d '\n\r' < dist/artifacts.json)" >> "${GITHUB_OUTPUT}"
92134 - name : Upload charts to release
93135 env :
94136 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }} # required for updating GH release
0 commit comments