Skip to content

[fix] close #146

[fix] close #146 #61

Workflow file for this run

name: Build
on:
push:
paths-ignore:
- 'docs/**'
- '**.md'
tags:
- "v*.*.*"
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Dependencies
run: |
wget -nv https://golang.org/dl/go1.21.5.linux-amd64.tar.gz \
&& sudo rm -rf /usr/local/go \
&& sudo rm -rf m -rf /usr/bin/go \
&& sudo tar -C /usr/local -xzf go1.21.5.linux-amd64.tar.gz \
&& export PATH=$PATH:/usr/local/go/bin \
&& go version
- name: Build
run: |
echo "RELEASE_TAG=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
TAG="${GITHUB_REF#refs/tags/}"
HASH=$(git log -n1 --pretty=format:%h)
echo ${TAG} ${HASH}
export PATH=$PATH:/usr/local/go/bin \
&& env GOOS=linux CGO_ENABLED=0 GOARCH=amd64 go build -ldflags "-X 'github.com/gmeghnag/omc/vars.OMCVersionTag=${TAG}' -X github.com/gmeghnag/omc/vars.OMCVersionHash=${HASH}" -o omc \
&& cp omc omc_Linux_x86_64 && tar -cvzf omc_Linux_x86_64.tar.gz omc && rm -rf omc \
&& env GOOS=linux CGO_ENABLED=0 GOARCH=arm64 go build -ldflags "-X 'github.com/gmeghnag/omc/vars.OMCVersionTag=${TAG}' -X github.com/gmeghnag/omc/vars.OMCVersionHash=${HASH}" -o omc \
&& tar -cvzf omc_Linux_arm64.tar.gz omc && cp omc_Linux_arm64.tar.gz omc_Linux_aarch64.tar.gz && rm -rf omc \
&& env GOOS=darwin CGO_ENABLED=0 GOARCH=amd64 go build -ldflags "-X 'github.com/gmeghnag/omc/vars.OMCVersionTag=${TAG}' -X github.com/gmeghnag/omc/vars.OMCVersionHash=${HASH}" -o omc \
&& cp omc omc_Darwin_x86_64 && cp omc omc_Darwin_amd64 && tar -cvzf omc_Darwin_x86_64.tar.gz omc && rm -rf omc \
&& env GOOS=darwin CGO_ENABLED=0 GOARCH=arm64 go build -ldflags "-X 'github.com/gmeghnag/omc/vars.OMCVersionTag=${TAG}' -X github.com/gmeghnag/omc/vars.OMCVersionHash=${HASH}" -o omc \
&& cp omc omc_Darwin_arm64 && tar -cvzf omc_Darwin_arm64.tar.gz omc && cp omc_Darwin_arm64.tar.gz omc_Darwin_aarch64.tar.gz && rm -rf omc \
&& env GOOS=windows CGO_ENABLED=0 GOARCH=amd64 go build -ldflags "-X 'github.com/gmeghnag/omc/vars.OMCVersionTag=${TAG}' -X github.com/gmeghnag/omc/vars.OMCVersionHash=${HASH}" -o omc.exe \
&& zip omc_Windows_x86_64.zip omc.exe \
&& md5sum omc_Linux_x86_64.tar.gz | tee -a checksums.txt \
&& md5sum omc_Linux_arm64.tar.gz | tee -a checksums.txt \
&& md5sum omc_Linux_aarch64.tar.gz | tee -a checksums.txt \
&& md5sum omc_Darwin_x86_64.tar.gz | tee -a checksums.txt \
&& md5sum omc_Darwin_arm64.tar.gz | tee -a checksums.txt \
&& md5sum omc_Darwin_aarch64.tar.gz | tee -a checksums.txt \
&& md5sum omc_Windows_x86_64.zip | tee -a checksums.txt \
&& md5sum omc_Darwin_arm64 | tee -a checksums.txt \
&& md5sum omc_Darwin_x86_64 | tee -a checksums.txt \
&& md5sum omc_Linux_x86_64| tee -a checksums.txt
- name: Release
uses: softprops/action-gh-release@v1
with:
tag_name: ${{ env.RELEASE_TAG }}
files: |
checksums.txt
omc_Linux_x86_64
omc_Linux_x86_64.tar.gz
omc_Linux_arm64.tar.gz
omc_Linux_aarch64.tar.gz
omc_Darwin_x86_64
omc_Darwin_x86_64.tar.gz
omc_Darwin_arm64
omc_Darwin_arm64.tar.gz
omc_Darwin_amd64
omc_Darwin_aarch64.tar.gz
omc_Windows_x86_64.zip
name: "${{ env.RELEASE_TAG }} release"