🔨 Publish dev realese

This commit is contained in:
SebClem 2020-10-12 14:25:43 +02:00
parent 7af0263b6c
commit 916fc0c526

View File

@ -13,70 +13,78 @@ env:
jobs: jobs:
build-armhf: build-armhf:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
fail-fast: true fail-fast: true
matrix: matrix:
arch: [aarch64, amd64, armv7, i386] arch: [aarch64, amd64, armv7, i386]
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- name: Add Qemu-user-static - name: Add Qemu-user-static ${{matrix.arch}}
run: docker run --rm --privileged hassioaddons/qemu-user-static:latest run: docker run --rm --privileged hassioaddons/qemu-user-static:latest
- name: Set up Docker Buildx - name: Set up Docker Buildx ${{matrix.arch}}
uses: docker/setup-buildx-action@v1 uses: docker/setup-buildx-action@v1
- name: Set Version - name: Set Version Prod ${{matrix.arch}}
if: github.event_name != 'workflow_dispatch' && github.event_name != 'push' if: github.event_name != 'workflow_dispatch' && github.event_name != 'push'
run: | run: |
version=${GITHUB_REF/refs\/tags\//} version=${GITHUB_REF/refs\/tags\//}
if [ -n "$version" ];then if [ -n "$version" ];then
tmp=$(mktemp) tmp=$(mktemp)
jq --arg version "$version" '.version=$version' ${{env.TARGET}}/config.json > "$tmp" && mv "$tmp" ${{env.TARGET}}/config.json jq --arg version "$version" '.version=$version' ${{env.TARGET}}/config.json > "$tmp" && mv "$tmp" ${{env.TARGET}}/config.json
fi fi
echo "version_type=prod" >> $GITHUB_ENV
- name: Get build option ${{matrix.arch}} - name: Set Version Test ${{matrix.arch}}
run: | if: github.event_name == 'workflow_dispatch' || github.event_name == 'push'
echo ::set-env name=NAME::"$(jq --raw-output '.name // empty' "${{env.TARGET}}/config.json" | sed "s/'//g")" run: |
echo ::set-env name=DESCRIPTION::"$(jq --raw-output '.description // empty' "${{env.TARGET}}/config.json" | sed "s/'//g")" version=dev_${GITHUB_RUN_ID}
echo ::set-env name=URL::"$(jq --raw-output '.url // empty' "${{env.TARGET}}/config.json")" if [ -n "$version" ];then
echo ::set-env name=VERSION::"$(jq --raw-output '.version' "${{env.TARGET}}/config.json")" tmp=$(mktemp)
echo ::set-env name=IMAGE::"$(echo "${{env.IMAGE}}" | sed -r "s/\{arch\}/${{matrix.arch}}/g")" jq --arg version "$version" '.version=$version' ${{env.TARGET}}/config.json > "$tmp" && mv "$tmp" ${{env.TARGET}}/config.json
echo ::set-env name=BUILD_FROM::"homeassistant/${{matrix.arch}}-base:latest" fi
echo "version_type=dev" >> $GITHUB_ENV
- name: Set Tags ${{matrix.arch}}
run: |
if [ "${{env.VERSION}}" != "dev" ]; then - name: Get build option ${{matrix.arch}}
echo ::set-env name=TAGS::"${{env.REPOSITORY}}/${{env.IMAGE}}:latest, ${{env.REPOSITORY}}/${{env.IMAGE}}:$(jq --raw-output '.version' "${{env.TARGET}}/config.json")" run: |
else echo "NAME=$(jq --raw-output '.name // empty' "${{env.TARGET}}/config.json" | sed "s/'//g")" >> $GITHUB_ENV
echo ::set-env name=TAGS::"${{env.REPOSITORY}}/${{env.IMAGE}}:$(jq --raw-output '.version' "${{env.TARGET}}/config.json")" echo "DESCRIPTION=$(jq --raw-output '.description // empty' "${{env.TARGET}}/config.json" | sed "s/'//g")" >> $GITHUB_ENV
fi echo "URL=$(jq --raw-output '.url // empty' "${{env.TARGET}}/config.json")" >> $GITHUB_ENV
echo "VERSION=$(jq --raw-output '.version' "${{env.TARGET}}/config.json")" >> $GITHUB_ENV
- name: Debug Env echo "IMAGE=$(echo "${{env.IMAGE}}" | sed -r "s/\{arch\}/${{matrix.arch}}/g")" >> $GITHUB_ENV
run: | echo "BUILD_FROM=homeassistant/${{matrix.arch}}-base:latest" >> $GITHUB_ENV
echo ${{env.IMAGE}}
echo ${{env.VERSION}} - name: Set Tags ${{matrix.arch}}
echo ${{env.TAGS}} run: |
if [ "${{env.version_type}}" != "dev" ]; then
- name: Login to DockerHub echo "TAGS=${{env.REPOSITORY}}/${{env.IMAGE}}:latest, ${{env.REPOSITORY}}/${{env.IMAGE}}:$(jq --raw-output '.version' "${{env.TARGET}}/config.json")"
uses: docker/login-action@v1 else
with: echo "TAGS=${{env.REPOSITORY}}/${{env.IMAGE}}:dev, $(jq --raw-output '.version' "${{env.TARGET}}/config.json")"
username: ${{ secrets.DOCKER_USERNAME }} fi
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Debug Env
- name: Build and push ${{matrix.arch}} run: |
uses: docker/build-push-action@v2 echo ${{env.IMAGE}}
with: echo ${{env.VERSION}}
push: true echo ${{env.TAGS}}
context: ./${{env.TARGET}}
tags: ${{env.TAGS}} - name: Login to DockerHub
labels: io.hass.name=${{env.NAME}}, io.hass.description=${{env.DESCRIPTION}}, io.hass.url=${{env.URL}}, io.hass.arch=${{matrix.arch}}, io.hass.version=${{env.VERSION}}, io.hass.type=addon uses: docker/login-action@v1
build-args: BUILD_FROM=${{env.BUILD_FROM}}, BUILD_VERSION=${{env.VERSION}} with:
file: ./${{env.TARGET}}/Dockerfile username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Build and push ${{matrix.arch}}
uses: docker/build-push-action@v2
with:
push: true
context: ./${{env.TARGET}}
tags: ${{env.TAGS}}
labels: io.hass.name=${{env.NAME}}, io.hass.description=${{env.DESCRIPTION}}, io.hass.url=${{env.URL}}, io.hass.arch=${{matrix.arch}}, io.hass.version=${{env.VERSION}}, io.hass.type=addon
build-args: BUILD_FROM=${{env.BUILD_FROM}}, BUILD_VERSION=${{env.VERSION}}
file: ./${{env.TARGET}}/Dockerfile