Configure Renovate #364
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Build base images | |
| on: | |
| pull_request: | |
| branches: ["master"] | |
| release: | |
| types: ["published"] | |
| env: | |
| BUILD_TYPE: base | |
| ALPINE_LATEST: "3.22" | |
| DEBIAN_LATEST: "trixie" | |
| UBUNTU_LATEST: "24.04" | |
| PYTHON_LATEST: "3.14" | |
| jobs: | |
| init: | |
| name: Initialize build | |
| runs-on: ubuntu-latest | |
| outputs: | |
| architectures_alpine: ${{ steps.info_alpine.outputs.architectures }} | |
| architectures_debian: ${{ steps.info_debian.outputs.architectures }} | |
| architectures_ubuntu: ${{ steps.info_ubuntu.outputs.architectures }} | |
| release: ${{ steps.version.outputs.version }} | |
| alpine_latest: ${{ steps.set-latest.outputs.alpine_latest}} | |
| debian_latest: ${{ steps.set-latest.outputs.debian_latest}} | |
| ubuntu_latest: ${{ steps.set-latest.outputs.ubuntu_latest}} | |
| python_latest: ${{ steps.set-latest.outputs.python_latest}} | |
| steps: | |
| - name: Checkout the repository | |
| uses: actions/[email protected] | |
| with: | |
| fetch-depth: 0 | |
| - name: Get information Alpine | |
| id: info_alpine | |
| uses: home-assistant/actions/helpers/info@master | |
| with: | |
| path: "${{ github.workspace }}/alpine" | |
| - name: Get information Debian | |
| id: info_debian | |
| uses: home-assistant/actions/helpers/info@master | |
| with: | |
| path: "${{ github.workspace }}/debian" | |
| - name: Get information Ubuntu | |
| id: info_ubuntu | |
| uses: home-assistant/actions/helpers/info@master | |
| with: | |
| path: "${{ github.workspace }}/ubuntu" | |
| - name: Get version | |
| id: version | |
| uses: home-assistant/actions/helpers/version@master | |
| with: | |
| type: ${{ env.BUILD_TYPE }} | |
| - name: Set latest tags | |
| id: set-latest | |
| run: | | |
| echo "alpine_latest=${{ env.ALPINE_LATEST }}" >> $GITHUB_ENV | |
| echo "debian_latest=${{ env.DEBIAN_LATEST }}" >> $GITHUB_ENV | |
| echo "ubuntu_latest=${{ env.UBUNTU_LATEST }}" >> $GITHUB_ENV | |
| echo "python_latest=${{ env.PYTHON_LATEST }}" >> $GITHUB_ENV | |
| build_alpine: | |
| name: Alpine ${{ matrix.version }} | |
| needs: init | |
| strategy: | |
| matrix: | |
| version: ["3.20", "3.21", "3.22"] | |
| uses: ./.github/workflows/reuseable-builder.yml | |
| with: | |
| target: alpine | |
| architectures: ${{ needs.init.outputs.architectures_alpine }} | |
| version: ${{ matrix.version }} | |
| release_name: ${{ needs.init.outputs.release }} | |
| tag_latest: ${{ needs.init.outputs.alpine_latest }} | |
| build_debian: | |
| name: Debian ${{ matrix.version }} | |
| needs: init | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| version: ["bookworm", "trixie"] | |
| uses: ./.github/workflows/reuseable-builder.yml | |
| with: | |
| target: debian | |
| architectures: ${{ needs.init.outputs.architectures_debian }} | |
| version: ${{ matrix.version }} | |
| release_name: ${{ needs.init.outputs.release }} | |
| version_from: ${{ matrix.version }}-slim | |
| tag_latest: ${{ needs.init.outputs.debian_latest }} | |
| build_ubuntu: | |
| name: Ubuntu ${{ matrix.version }} | |
| needs: init | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| version: ["16.04", "18.04", "20.04", "22.04", "24.04"] | |
| uses: ./.github/workflows/reuseable-builder.yml | |
| with: | |
| target: ubuntu | |
| architectures: ${{ needs.init.outputs.architectures_ubuntu }} | |
| version: ${{ matrix.version }} | |
| release_name: ${{ needs.init.outputs.release }} | |
| tag_latest: ${{ needs.init.outputs.ubuntu_latest }} | |
| build_python: | |
| name: Alpine ${{ matrix.version }} - python ${{ matrix.python }} | |
| needs: [init, build_alpine] | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| version: ["3.20", "3.21", "3.22"] | |
| python: ["3.12", "3.13", "3.14"] | |
| uses: ./.github/workflows/reuseable-builder.yml | |
| with: | |
| target: python/${{ matrix.python }} | |
| architectures: ${{ needs.init.outputs.architectures_alpine }} | |
| version: ${{ matrix.version }} | |
| python: ${{ matrix.python }} | |
| release_name: ${{ needs.init.outputs.release }} | |
| version_from: ${{ matrix.version }} | |
| tag_latest: ${{ needs.init.outputs.alpine_latest }} | |
| python_latest: ${{ needs.init.outputs.python_latest }} |