v1.3.70 #78
Workflow file for this run
This file contains 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: release | |
on: | |
push: | |
tags: | |
- 'v*.*.*' | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: install deps | |
run: sudo make deb-install-deps | |
- name: build static binary | |
run: make mh-static OPTS=-lpthread | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: mh-static-linux-x86_64 | |
path: mh-linux-x86_64 | |
build-deb: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
path: 'mh' | |
- name: build deb package | |
run: | | |
cd mh | |
git fetch --tags --force | |
git fetch --unshallow | |
docker run --rm -v ${{ github.workspace }}:/workspace -w /workspace debian:buster bash -c "apt-get update && apt install -y build-essential git pkg-config && git config --global --add safe.directory /workspace/mh && make -C mh deb-install-deps deb-export-archive deb-version deb-build" | |
ls .. | |
- name: Extract Git Tag | |
run: | | |
# Retrieve the current tag | |
cd mh | |
VERSION=$(git describe --tags --abbrev=0) | |
# Strip the 'v' prefix if needed | |
VERSION=${VERSION#v} | |
echo "VERSION=$VERSION" >> $GITHUB_ENV | |
ls | |
- name: upload artifcat | |
uses: actions/upload-artifact@v4 | |
with: | |
path: mh_${{ env.VERSION }}-1_amd64.deb | |
name: mh_${{ env.VERSION }}-1_amd64.deb | |
build-osx-amd64: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Check for Homebrew | |
run: | | |
/usr/sbin/softwareupdate --install-rosetta --agree-to-license | |
arch -x86_64 /usr/bin/env bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" | |
- name: update brew | |
run: brew update | |
- name: Install Python and Handle Symlink Conflicts | |
run: | | |
# Install [email protected] | |
arch -x86_64 /usr/local/bin/brew install [email protected] || true # Continue even if there's a conflict | |
# Link [email protected] | |
brew link --overwrite [email protected] | |
- name: install libs | |
run: | | |
arch -x86_64 /usr/local/bin/brew install pcre2 cmocka llvm pkg-config | |
- name: Install dependencies | |
run: | | |
echo 'export PATH="/usr/local/opt/llvm/bin:$PATH"' >> $GITHUB_ENV | |
echo 'export LDFLAGS="-L/usr/local/opt/llvm/lib"' >> $GITHUB_ENV | |
echo 'export CPPFLAGS="-I/usr/local/opt/llvm/include"' >> $GITHUB_ENV | |
- name: build | |
run: | | |
export LDFLAGS="-L/usr/local/opt/llvm/lib" | |
export CPPFLAGS="-I/usr/local/opt/llvm/include" | |
make mh CC=clang LIBS="$(/usr/local/bin/pkg-config --cflags --libs libpcre2-8) -lpthread" CPPFLAGS="-target x86_64-apple-macos11" PROGNAME=mh-$(uname -o | tr '[:upper:]' '[:lower:]')-x86_64-apple-macos11 | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: mh-darwin-x86_64-apple-macos11 | |
path: mh-darwin-x86_64-apple-macos11 | |
build-osx-arm: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Check for Homebrew | |
run: | | |
if test ! $(which brew); then | |
echo "Homebrew not found" | |
exit 1 | |
fi | |
- name: update brew | |
run: brew update | |
- name: install libs | |
run: brew install pcre2 cmocka | |
- name: Install dependencies | |
run: | | |
brew install llvm | |
echo 'export PATH="/usr/local/opt/llvm/bin:$PATH"' >> $GITHUB_ENV | |
echo 'export LDFLAGS="-L/usr/local/opt/llvm/lib"' >> $GITHUB_ENV | |
echo 'export CPPFLAGS="-I/usr/local/opt/llvm/include"' >> $GITHUB_ENV | |
- name: build | |
run: | | |
make mh CC=clang LIBS="$(pkg-config --cflags --libs libpcre2-8) -lpthread" PROGNAME=mh-$(uname -o | tr '[:upper:]' '[:lower:]')-$(uname -m) | |
- name: Upload artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: mh-darwin-arm64 | |
path: mh-darwin-arm64 | |
create-release: | |
runs-on: ubuntu-latest | |
needs: [build, build-deb, build-osx-arm, build-osx-amd64] | |
steps: | |
- name: Create Release | |
id: create_release | |
uses: actions/create-release@v1 | |
with: | |
tag_name: ${{ github.ref }} | |
release_name: "Release ${{ github.ref }}" | |
body: "Release notes or description" | |
draft: false | |
prerelease: false | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: upload mac osx arm build artifact to release | |
uses: actions/upload-release-asset@v1 | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: mh-darwin-arm64 | |
asset_name: mh-darwin-arm64 | |
asset_content_type: application/octet-stream | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: upload mac osx x86_64 artifact to release | |
uses: actions/upload-release-asset@v1 | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_name: mh-darwin-x86_64-apple-macos11 | |
asset_path: mh-darwin-x86_64-apple-macos11 | |
asset_content_type: application/octet-stream | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: upload deb artifact to release | |
uses: actions/upload-release-asset@v1 | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: mh_${VERSION}-1_amd64.deb | |
asset_name: mh_${VERSION}-1_amd64.deb | |
asset_content_type: application/octet-stream | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- name: upload linux static binary artifact to release | |
uses: actions/upload-release-asset@v1 | |
with: | |
upload_url: ${{ steps.create_release.outputs.upload_url }} | |
asset_path: mh_${VERSION}-1_amd64.deb | |
asset_name: mh_${VERSION}-1_amd64.deb | |
asset_content_type: application/octet-stream | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |