Skip to content

fix: add cloud creds to settings API, drop macOS release build #2

fix: add cloud creds to settings API, drop macOS release build

fix: add cloud creds to settings API, drop macOS release build #2

Workflow file for this run

name: Release Binaries
on:
push:
tags: ['v*']
workflow_dispatch:
inputs:
tag:
description: 'Release tag (e.g. v1.2.0)'
required: true
default: 'v1.2.0'
permissions:
contents: write
jobs:
build:
name: Build linux-amd64
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install deps
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends \
build-essential cmake pkg-config \
libssl-dev libjsoncpp-dev libyaml-cpp-dev \
libpaho-mqtt-dev libpaho-mqttpp-dev \
libcurl4-openssl-dev libdrogon-dev \
uuid-dev libhiredis-dev libbrotli-dev zlib1g-dev \
libmariadb-dev libsqlite3-dev libpq-dev
- name: Build
run: |
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release -DHMS_TUYA_BUILD_TESTS=OFF -DBUILD_WITH_WEB=ON ..
make -j$(nproc)
strip hms_tuya
- name: Package
run: |
mkdir -p dist
cp build/hms_tuya dist/
cp VERSION dist/
[ -f README.md ] && cp README.md dist/ || true
[ -f LICENSE ] && cp LICENSE dist/ || true
cp config/hms-tuya.yaml.example dist/
cp config/devices.json.example dist/
tar -czf hms_tuya-linux-amd64.tar.gz -C dist .
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: hms_tuya-linux-amd64
path: hms_tuya-linux-amd64.tar.gz
release:
name: Publish GitHub Release
needs: build
runs-on: ubuntu-latest
if: startsWith(github.ref, 'refs/tags/v') || github.event_name == 'workflow_dispatch'
steps:
- name: Download all artifacts
uses: actions/download-artifact@v4
with:
path: artifacts
- name: Flatten artifacts
run: |
mkdir -p release
find artifacts -type f -name '*.tar.gz' -exec cp {} release/ \;
ls -lh release/
- name: Resolve release tag
id: tag
run: |
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
echo "name=${{ inputs.tag }}" >> "$GITHUB_OUTPUT"
else
echo "name=${GITHUB_REF#refs/tags/}" >> "$GITHUB_OUTPUT"
fi
- name: Create or update GitHub Release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ steps.tag.outputs.name }}
name: ${{ steps.tag.outputs.name }}
generate_release_notes: true
files: release/*