diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index caac0f11..d8c8c920 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -25,4 +25,43 @@ jobs: - uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3 with: name: firmware-factory.bin - path: .esphome/build/childrensclock/.pioenvs/childrensclock/firmware-factory.bin \ No newline at end of file + path: .esphome/build/childrensclock/.pioenvs/childrensclock/firmware-factory.bin + + semver: + name: Generate a semantic version number + runs-on: ubuntu-latest + outputs: + semantic_version: ${{ steps.semver.outputs.semantic_version }} + steps: + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4 + with: + fetch-depth: '0' + - id: semver + uses: lukaszraczylo/semver-generator@3d75e166af2a7ca239f5b13106f861484be112fa # 1.10.183 + with: + config_file: .github/semver.yaml + repository_local: true + + release-binaries: + if: ${{ github.ref == 'refs/heads/main' }} + runs-on: ubuntu-latest + needs: + - js-build-binaries + - semver + + permissions: + contents: write + id-token: write + + steps: + + - uses: actions/download-artifact@65a9edc5881444af0b9093a5e628f2fe47ea3b2e # v4.1.7 + with: + name: firmware-factory.bin + - uses: marvinpinto/action-automatic-releases@919008cf3f741b179569b7a6fb4d8860689ab7f0 # tag=v1.2.1 + with: + repo_token: "${{ secrets.GITHUB_TOKEN }}" + automatic_release_tag: v${{ needs.semver.outputs.semantic_version}} + prerelease: false + title: v${{ needs.semver.outputs.semantic_version}} + files: "firmware-factory.bin"