name: Publish Release on: workflow_dispatch: inputs: version: description: The version to release required: true jobs: create-release: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 with: python-version: '3.x' - run: pip install -r script/requirements.txt - run: script/bump-version.py ${{ github.event.inputs.version }} - name: Commit version bump id: commit_version run: | git config user.name esphomebot git config user.email contact@esphome.io git add . git commit -m "Bump version to v${{ github.event.inputs.version }}" git push COMMIT=$(git rev-parse HEAD) echo "::set-output name=commit_sha::${COMMIT}" - if: ${{ contains(github.event.inputs.version, 'b') }} name: Create Beta Release uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: v${{ github.event.inputs.version }} release_name: ${{ github.event.inputs.version }} body: 'See https://beta.esphome.io/changelog/index.html' prerelease: true commitish: ${{ steps.commit_version.outputs.commit_sha }} - if: ${{ !contains(github.event.inputs.version, 'b') }} name: Create Stable Release uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: v${{ github.event.inputs.version }} release_name: ${{ github.event.inputs.version }} body: 'See https://esphome.io/changelog/index.html' prerelease: false commitish: ${{ steps.commit_version.outputs.commit_sha }} deploy-community-addons: runs-on: ubuntu-latest needs: [create-release] steps: - if: ${{ contains(github.event.inputs.version, 'b') }} name: Publish beta release to community-addons repository run: | docker run --rm hassioaddons/repository-updater:latest \ --repository hassio-addons/repository-beta \ --addon esphome \ --token "${TOKEN}" env: TOKEN: ${{ secrets.COMMUNITY_ADDONS_TOKEN }} - if: ${{ !contains(github.event.inputs.version, 'b') }} name: Publish stable release to community-addons repository run: | docker run --rm hassioaddons/repository-updater:latest \ --repository hassio-addons/repository \ --addon esphome \ --token "${TOKEN}" env: TOKEN: ${{ secrets.COMMUNITY_ADDONS_TOKEN }}