From 8340ce8915365380dbf85b27277ef921b4d09f39 Mon Sep 17 00:00:00 2001 From: atbore-phx Date: Mon, 11 Mar 2024 16:06:32 +0100 Subject: [PATCH] feat(release): adding multi arch --- .github/workflows/release.yml | 87 ++++++++++++++++++++++---- .goreleaser.yml | 6 -- home-assistant/addons/sbam/config.json | 9 ++- 3 files changed, 81 insertions(+), 21 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9a61233..b68e52b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -11,27 +11,56 @@ permissions: id-token: write jobs: - release: + release-ha: runs-on: ubuntu-latest + strategy: + matrix: + goarch: + - amd64_v1 + - 386 + - arm64 + - arm_7 + goos: + - linux + include: + - goarch: amd64_v1 + haarch: amd64 + - goarch: 386 + haarch: i386 + - goarch: arm64 + haarch: aarch64 + - goarch: arm_7 + haarch: armv7 + steps: - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 + - name: Set up Go uses: actions/setup-go@v4 - - name: Run GoReleaser + + - name: GoReleaser Install uses: goreleaser/goreleaser-action@v5 with: - distribution: goreleaser - version: latest - args: release --clean + install-only: true + + - name: GoReleaser Build + run: | + mkdir -p home-assistant/addons/sbam/bin/${{matrix.haarch}} + goreleaser build --clean --single-target --id sbam --output home-assistant/addons/sbam/bin/${{matrix.haarch}} + env: + GOOS: ${{matrix.goos}} + GOARCH: ${{matrix.goarch}} + GOARM: 7 + CGO_ENABLED: 0 + + - name: GoReleaser Publish + run: goreleaser publish env: GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" - - name: copy binary to local ha folder - run: | - mkdir home-assistant/addons/sbam/bin/ - cp -v dist/sbam_linux_amd64_v1/bin/sbam home-assistant/addons/sbam/bin/ + - name: Login to GitHub Container Registry uses: docker/login-action@v3 with: @@ -42,6 +71,40 @@ jobs: uses: home-assistant/builder@2024.01.0 with: args: | - --amd64 \ - --target /data/home-assistant/addons/sbam \ - --addon \ No newline at end of file + --${{matrix.haarch}} \ + --target /data/home-assistant/addons/sbam/${{matrix.haarch}} \ + --addon + + release-os: + runs-on: ubuntu-latest + strategy: + matrix: + goarch: + - amd64_v1 + - 386 + - arm64 + - arm_7 + goos: + - windows + - darwin + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Set up Go + uses: actions/setup-go@v4 + + - name: GoReleaser Build + run: goreleaser build --clean --single-target --id sbam + env: + GOOS: ${{matrix.goos}} + GOARCH: ${{matrix.goarch}} + GOARM: 7 + CGO_ENABLED: 0 + + - name: GoReleaser Publish + run: goreleaser publish + env: + GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" \ No newline at end of file diff --git a/.goreleaser.yml b/.goreleaser.yml index 71ab971..270f42e 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -2,12 +2,6 @@ before: hooks: - go mod tidy -builds: - - id: "sbam" - binary: bin/sbam - env: - - CGO_ENABLED=0 - changelog: sort: asc filters: diff --git a/home-assistant/addons/sbam/config.json b/home-assistant/addons/sbam/config.json index 6d7f634..665561d 100644 --- a/home-assistant/addons/sbam/config.json +++ b/home-assistant/addons/sbam/config.json @@ -1,14 +1,17 @@ { "name": "sbam", - "version": "latest", + "version": "1.3.1", "slug": "sbam", "init": "false", "description": "Smart Battery Avanced Manager", "arch": [ - "amd64" + "amd64", + "i386", + "armv7", + "aarch64" ], "url": "https://github.com/atbore-phx/sbam", - "image": "ghcr.io/atbore-phx/ha-sbam", + "image": "ghcr.io/atbore-phx/ha-{arch}-sbam", "options": { "url": "https://api.solcast.com.au/rooftop_sites//forecasts?format=json", "apikey": "",