diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml new file mode 100644 index 0000000..877c944 --- /dev/null +++ b/.github/release-drafter.yml @@ -0,0 +1,36 @@ +--- +name-template: "v$RESOLVED_VERSION" +tag-template: "v$RESOLVED_VERSION" +change-template: "- $TITLE @$AUTHOR (#$NUMBER)" +sort-direction: ascending +categories: + - title: ":boom: Breaking Change :boom:" + labels: + - "breaking-change" + - title: ":zap: Enhancments :zap:" + labels: + - "enhancement" + - title: ":sparkles: New Features :sparkles:" + labels: + - "feature" + - title: ":bug: Bug Fixes :bug:" + labels: + - "fix" + - "bugfix" + - "bug" + - title: ":wrench: Maintenance :wrench:" + labels: + - "chore" + - "repo" + - "maintenance" + - title: ":mortar_board: Code Quality :mortar_board:" + labels: + - "code-quality" +# yamllint disable rule:line-length +template: | + [![Downloads for this release](https://img.shields.io/github/downloads/tykeal/homeassistant-rental-control/v$RESOLVED_VERSION/total.svg)](https://github.com/tykeal/homeassistant-rental-control/releases/v$RESOLVED_VERSION) + + $CHANGES + + ## Links + - [Submit bugs/feature requests](https://github.com/tykeal/homeassistant-rental-control/issues) diff --git a/.github/workflows/release-drafter.yaml b/.github/workflows/release-drafter.yaml new file mode 100644 index 0000000..a067b43 --- /dev/null +++ b/.github/workflows/release-drafter.yaml @@ -0,0 +1,16 @@ +--- +name: Release Drafter + +# yamllint disable-line rule:truthy +on: + push: + branches: + - main + +jobs: + update_release_draft: + runs-on: ubuntu-latest + steps: + - uses: release-drafter/release-drafter@v5 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml new file mode 100644 index 0000000..279fc79 --- /dev/null +++ b/.github/workflows/release.yaml @@ -0,0 +1,38 @@ +--- +name: Release + +# yamllint disable-line rule:truthy +on: + release: + types: [published] + +jobs: + release_zip_file: + name: Prepare release asset + runs-on: ubuntu-latest + steps: + - name: Check out repository + uses: actions/checkout@v1 + - name: Get Version + id: get_version + run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//} + - name: Update versions + # yamllint disable rule:line-length + run: | + sed -i '/VERSION = /c\VERSION = "${{ steps.get_version.outputs.VERSION }}"' ${{ github.workspace }}/custom_components/rental_control/const.py + sed -i '/version/c\ \"version\": \"${{ steps.get_version.outputs.VERSION }}\"' ${{ github.workspace }}/custom_components/rental_control/manifest.json + # yamllint enable + # Pack the rental_control dir as a zip and upload to the release + - name: ZIP rental_control Dir + run: | + cd ${{ github.workspace }}/custom_components/rental_control + zip rental_control.zip -r ./ + - name: Upload zip to release + uses: svenstaro/upload-release-action@v1-release + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + # yamllint disable-line rule:line-length + file: ${{ github.workspace }}/custom_components/rental_control/rental_control.zip + asset_name: rental_control.zip + tag: ${{ github.ref }} + overwrite: true