Skip to content

Release

Release #24

Workflow file for this run

---
name: Release
on:
release:
types: [released]
permissions: {}
defaults:
run:
shell: bash
jobs:
generate_zip:
name: Generate release zip
runs-on: [ubuntu-latest]
timeout-minutes: 60
steps:
- name: Checkout Source Code
uses: actions/checkout@v4
with:
fetch-depth: 0
clean: true
- name: check manifest.json version
id: check_version
run: |
# Extract the version from manifest.json
manifest_version=$(grep -oP '(?<="version": ")[^"]*' custom_components/midea_ac_lan/manifest.json)
echo "Manifest.json version: $manifest_version"
# Extract the release tag
release_tag="${GITHUB_REF#refs/tags/}"
echo "Release tag: $release_tag"
# Check if the versions match
if [ "$release_tag" != "$manifest_version" ]; then
echo "Error: Release tag ($release_tag) does not match manifest.json version ($manifest_version)"
exit 1
fi
- name: Zip release file
run: |
sudo apt-get update || exit 1
sudo apt-get install zip || exit 1
echo "show runner hostname"
hostname
echo "show runner user"
whoami
echo "show runner pwd"
pwd
echo "show runner kernel"
uname -a
echo "show runner pwd file list"
ls
ls -alht "custom_components/midea_ac_lan/" || exit 1
echo "show manifest.json for debug"
cat "custom_components/midea_ac_lan/manifest.json" || exit 1
dst_dir="/github/workspace/artifacts"
sudo mkdir -p "$dst_dir" || exit 1
sudo chown -R "$(id -u):$(id -g)" "$dst_dir" || exit 1
sudo chmod -R 755 "$dst_dir" || exit 1
cd "custom_components/midea_ac_lan/" || exit 1
zip -r ../midea_ac_lan.zip ./* || exit 1
cp ../midea_ac_lan.zip "$dst_dir/" || exit 1
ls -alht "$dst_dir" || exit 1
- name: Upload Artifacts
uses: actions/upload-artifact@v4
with:
name: midea_ac_lan.zip
path: /github/workspace/artifacts
upload_release:
needs: generate_zip
name: Publish release
if: ${{ startsWith(github.ref, 'refs/tags/v') }}
runs-on: ubuntu-latest
steps:
- name: Download All Artifacts
uses: actions/download-artifact@v4
with:
path: artifacts
pattern: midea_ac_lan.zip
merge-multiple: true
- name: Display Structure of Artifacts Files
run: ls -R
- name: Show Working Directory For Debug Purpose
run: |
echo "show runner hostname"
hostname
echo "show runner user"
whoami
echo "show runner disk usage"
df -h
echo "show runner pwd"
pwd
echo "show runner kernel"
uname -a
echo "show runner pwd file list"
ls
ls -alht
echo "show runner artifacts"
ls -alht artifacts || exit 0
echo "github.ref: ${{github.ref}}"
- name: Upload images to Release Asset
uses: softprops/action-gh-release@v2
with:
files: artifacts/midea_ac_lan.zip
env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}