fix: add cloud creds to settings API, drop macOS release build #2
Workflow file for this run
This file contains hidden or 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 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/* |