name: Release on: release: types: [published] jobs: release: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v4 with: python-version: '3.11' - name: Install dependencies run: | python -m pip install --upgrade pip pip install -r requirements_test.txt - name: Run tests run: | python -m pytest tests/ -v - name: Update version in manifest run: | python -c " import json import os with open('custom_components/adguard_control_hub/manifest.json', 'r') as f: manifest = json.load(f) manifest['version'] = os.environ['GITHUB_REF_NAME'].lstrip('v') with open('custom_components/adguard_control_hub/manifest.json', 'w') as f: json.dump(manifest, f, indent=2) " - name: Create ZIP archive run: | cd custom_components/adguard_control_hub/ zip -r ../../adguard-control-hub.zip . cd ../.. - name: Upload release asset uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ github.event.release.upload_url }} asset_path: ./adguard-control-hub.zip asset_name: adguard-control-hub.zip asset_content_type: application/zip