name: teslamate on: push: branches: - '**' paths: - '**' - '!**.md' pull_request: branches: - main paths: - '**' - '!**.md' env: DOCKER_USERNAME: mattffffff jobs: build: env: TESLAMATE_TAG: 1.20.1 runs-on: ubuntu-latest strategy: matrix: arch: [amd64, armhf, armv7, aarch64] fail-fast: true steps: - uses: actions/checkout@v2 with: submodules: 'true' - name: Docker version run: docker version - name: Setup qemu id: qemu uses: docker/setup-qemu-action@v1 with: platforms: all - name: Install buildx id: buildx uses: docker/setup-buildx-action@v1 with: version: latest - name: Available platforms run: echo ${{ steps.buildx.outputs.platforms }} - name: Set PLATFORM variable run: | case "${{ matrix.arch }}" in "amd64" ) echo "PLATFORM=linux/amd64" >> $GITHUB_ENV echo "ARCH=amd64" >> $GITHUB_ENV ;; "aarch64" ) echo "PLATFORM=linux/arm64" >> $GITHUB_ENV echo "ARCH=aarch64" >> $GITHUB_ENV ;; "armhf" ) echo "PLATFORM=linux/arm/v7" >> $GITHUB_ENV echo "ARCH=armhf" >> $GITHUB_ENV ;; "armv7" ) echo "PLATFORM=linux/arm/v7" >> $GITHUB_ENV echo "ARCH=arm" >> $GITHUB_ENV ;; esac - name: Set environment variables from config.json run: | echo "ADDON_VERSION=$(jq -r .version < config.json)" >> $GITHUB_ENV echo "ADDON_NAME=$(jq -r .name < config.json)" >> $GITHUB_ENV echo "ADDON_DESCRIPTION=$(jq -r .description < config.json)" >> $GITHUB_ENV - name: Login to docker hub run: sudo docker login -u $DOCKER_USERNAME -p ${{ secrets.DOCKER_PASSWORD }} - name: Buildx build (if not main) run: | DOCKER_CLI_EXPERIMENTAL=enabled sudo docker buildx build \ --pull \ --platform=$PLATFORM \ --build-arg TESLAMATE_TAG=$TESLAMATE_TAG \ --build-arg ARCH=$ARCH \ --label io.hass.type="addon" \ --label io.hass.name="$ADDON_NAME" \ --label io.hass.description="$ADDON_DESCRIPTION" \ --label io.hass.version="$ADDON_VERSION" \ --label io.hass.arch="${{ matrix.arch }}" \ --label io.hass.url="https://github.com/matt-FFFFFF/hassio-addon-repository/blob/main/teslamate/README.md" \ -t $DOCKER_USERNAME/teslamate-${{ matrix.arch }}:$ADDON_VERSION \ ./ if: github.ref != 'refs/heads/main' - name: Buildx build --push (if main) run: | DOCKER_CLI_EXPERIMENTAL=enabled sudo docker buildx build \ --pull \ --push \ --platform=$PLATFORM \ --build-arg TESLAMATE_TAG=$TESLAMATE_TAG \ --build-arg ARCH=$ARCH \ --label io.hass.type="addon" \ --label io.hass.name="$ADDON_NAME" \ --label io.hass.description="$ADDON_DESCRIPTION" \ --label io.hass.version="$ADDON_VERSION" \ --label io.hass.arch="${{ matrix.arch }}" \ --label io.hass.url="https://github.com/matt-FFFFFF/hassio-addon-repository/blob/main/teslamate/README.md" \ -t $DOCKER_USERNAME/teslamate-${{ matrix.arch }}:$ADDON_VERSION \ ./ if: github.ref == 'refs/heads/main'