Try everything
This commit is contained in:
parent
0e9ed54697
commit
40ef62da52
42
.github/workflows/build-amd64.yml
vendored
Normal file
42
.github/workflows/build-amd64.yml
vendored
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
name: Build amd64
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
paths:
|
||||||
|
- ".github/workflows/build-amd64.yml"
|
||||||
|
- "Dockerfile"
|
||||||
|
pull_request:
|
||||||
|
paths-ignore:
|
||||||
|
- "README.md"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Set up QEMU
|
||||||
|
uses: docker/setup-qemu-action@v1
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v1
|
||||||
|
with:
|
||||||
|
install: true
|
||||||
|
version: latest
|
||||||
|
driver-opts: image=moby/buildkit:master
|
||||||
|
|
||||||
|
- name: Login to DockerHub
|
||||||
|
uses: docker/login-action@v1
|
||||||
|
with:
|
||||||
|
username: roxedus
|
||||||
|
password: ${{ secrets.DOCKER_HUB_PASSWORD }}
|
||||||
|
|
||||||
|
- name: Build and push
|
||||||
|
uses: docker/build-push-action@v2
|
||||||
|
with:
|
||||||
|
push: true
|
||||||
|
platforms: linux/amd64
|
||||||
|
file: ./Dockerfile
|
||||||
|
tags: |
|
||||||
|
roxedus/playground:hass-amd64
|
54
.github/workflows/build-amd64.yml2
vendored
54
.github/workflows/build-amd64.yml2
vendored
@ -1,54 +0,0 @@
|
|||||||
name: Build amd64
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
paths-ignore:
|
|
||||||
- 'README.md'
|
|
||||||
pull_request:
|
|
||||||
paths-ignore:
|
|
||||||
- 'README.md'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
|
|
||||||
env:
|
|
||||||
BUILDKIT_HOST: tcp://0.0.0.0:1234
|
|
||||||
DOCKER_CLI_EXPERIMENTAL: enabled
|
|
||||||
DOCKER_IMAGE: hass-wheel-builder
|
|
||||||
DOCKER_TAG: latest
|
|
||||||
PLATFORM_1: amd64
|
|
||||||
PLATFORM_2: arm
|
|
||||||
PLATFORM_3: arm64
|
|
||||||
REPO: tobbenb/hass-wheel-builder-test
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v1
|
|
||||||
- name: Getting buildkit
|
|
||||||
run: |
|
|
||||||
sudo docker run --privileged linuxkit/binfmt:v0.7
|
|
||||||
sudo docker run -d --privileged -p 1234:1234 --name buildkit moby/buildkit:latest --addr tcp://0.0.0.0:1234 \
|
|
||||||
--oci-worker-platform linux/${PLATFORM_1}
|
|
||||||
sudo docker cp buildkit:/usr/bin/buildctl /usr/bin/
|
|
||||||
|
|
||||||
- name: Build amd64
|
|
||||||
env:
|
|
||||||
DOCKERFILE_LOCATION: ./Dockerfile
|
|
||||||
run: |
|
|
||||||
buildctl build --frontend dockerfile.v0 \
|
|
||||||
--opt platform=linux/${PLATFORM_1} \
|
|
||||||
--opt filename=./${DOCKERFILE_LOCATION} \
|
|
||||||
--output type=docker,name=${REPO}:${DOCKER_TAG}-${PLATFORM_1} \
|
|
||||||
--local dockerfile=. \
|
|
||||||
--local context=. | docker load
|
|
||||||
|
|
||||||
- name: Export build artifact
|
|
||||||
run: |
|
|
||||||
sudo mkdir -p /artifact
|
|
||||||
sudo docker run --rm -v /artifact:/mnt tobbenb/hass-wheel-builder-test:latest-amd64
|
|
||||||
|
|
||||||
- uses: actions/upload-artifact@v2
|
|
||||||
with:
|
|
||||||
name: amd64
|
|
||||||
path: /artifact/wheel-repo-x86_64.tar.gz
|
|
30
Dockerfile
30
Dockerfile
@ -1,4 +1,4 @@
|
|||||||
FROM lsiobase/alpine:3.12
|
FROM ghcr.io/linuxserver/baseimage-alpine:amd64-3.12 as buildstage
|
||||||
|
|
||||||
# set version label
|
# set version label
|
||||||
ARG BUILD_DATE
|
ARG BUILD_DATE
|
||||||
@ -12,11 +12,14 @@ LABEL maintainer="saarg"
|
|||||||
ENV HOME="/tmp"
|
ENV HOME="/tmp"
|
||||||
|
|
||||||
# install packages
|
# install packages
|
||||||
|
# https://github.com/home-assistant/core/blob/11d74124cd06f48c1faf68df9a2ab9034130fafa/azure-pipelines-wheels.yml#L32
|
||||||
RUN \
|
RUN \
|
||||||
echo "**** install build packages ****" && \
|
echo "**** install build packages ****" && \
|
||||||
apk add --no-cache --virtual=build-dependencies \
|
apk add --no-cache --virtual=build-dependencies \
|
||||||
autoconf \
|
autoconf \
|
||||||
bluez-deprecated \
|
bluez-deprecated \
|
||||||
|
bluez-dev \
|
||||||
|
build-base \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
cmake \
|
cmake \
|
||||||
curl \
|
curl \
|
||||||
@ -25,9 +28,10 @@ RUN \
|
|||||||
eudev-libs \
|
eudev-libs \
|
||||||
ffmpeg \
|
ffmpeg \
|
||||||
ffmpeg-dev \
|
ffmpeg-dev \
|
||||||
gcc \
|
|
||||||
glib-dev \
|
|
||||||
g++ \
|
g++ \
|
||||||
|
gcc \
|
||||||
|
git \
|
||||||
|
glib-dev \
|
||||||
jq \
|
jq \
|
||||||
libffi-dev \
|
libffi-dev \
|
||||||
libjpeg-turbo \
|
libjpeg-turbo \
|
||||||
@ -36,6 +40,7 @@ RUN \
|
|||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxslt \
|
libxslt \
|
||||||
libxslt-dev \
|
libxslt-dev \
|
||||||
|
linux-headers \
|
||||||
make \
|
make \
|
||||||
openssl \
|
openssl \
|
||||||
openssl-dev \
|
openssl-dev \
|
||||||
@ -67,20 +72,22 @@ RUN \
|
|||||||
/build/addons \
|
/build/addons \
|
||||||
/build/core && \
|
/build/core && \
|
||||||
pip3 install --no-cache-dir --upgrade \
|
pip3 install --no-cache-dir --upgrade \
|
||||||
pip
|
pip==20.3 # https://github.com/home-assistant/core/pull/43771
|
||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
echo "**** build wheels for home assistant core ****" && \
|
echo "**** build wheels for home assistant core ****" && \
|
||||||
awk '/# Home Assistant core/,/^$/' /tmp/core/requirements_all.txt > /tmp/requirements_hass.txt && \
|
awk '/# Home Assistant Core/,/^$/' /tmp/core/requirements_all.txt > /tmp/requirements_hass.txt && \
|
||||||
awk '/# homeassistant.components.trend/,/^$/' /tmp/core/requirements_all.txt >> /tmp/requirements_hass.txt && \
|
awk '/# homeassistant.components.trend/,/^$/' /tmp/core/requirements_all.txt >> /tmp/requirements_hass.txt && \
|
||||||
pip3 wheel --wheel-dir=/build/core --no-cache-dir \
|
sed -i "s/-r requirements.txt/-r \/tmp\/core\/requirements.txt/g" /tmp/requirements_hass.txt && \
|
||||||
|
pip3 wheel --wheel-dir=/build/core --no-cache-dir --use-deprecated=legacy-resolver \
|
||||||
-r /tmp/requirements_hass.txt
|
-r /tmp/requirements_hass.txt
|
||||||
|
|
||||||
|
# https://github.com/home-assistant/core/issues/43934 >> https://github.com/home-assistant/core/pull/36330
|
||||||
RUN \
|
RUN \
|
||||||
echo "**** build wheels for home assistant addons ****" && \
|
echo "**** build wheels for home assistant addons ****" && \
|
||||||
sed -i "s/-r requirements_test.txt/-r \/tmp\/core\/requirements_test.txt/g" /tmp/core/requirements_test_all.txt && \
|
sed -i "s/-r requirements_test.txt/-r \/tmp\/core\/requirements_test.txt/g" /tmp/core/requirements_test_all.txt && \
|
||||||
sed -i "s/-r requirements_test_pre_commit.txt/-r \/tmp\/core\/requirements_test_pre_commit.txt/g" /tmp/core/requirements_test.txt && \
|
sed -i "s/-r requirements_test_pre_commit.txt/-r \/tmp\/core\/requirements_test_pre_commit.txt/g" /tmp/core/requirements_test.txt && \
|
||||||
pip3 wheel --wheel-dir /build/addons --no-cache-dir --find-links=/build/core \
|
pip3 wheel --wheel-dir /build/addons --no-cache-dir --find-links=/build/core --use-deprecated=legacy-resolver \
|
||||||
-r /tmp/core/requirements_test_all.txt
|
-r /tmp/core/requirements_test_all.txt
|
||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
@ -98,7 +105,7 @@ RUN \
|
|||||||
tar xf \
|
tar xf \
|
||||||
/tmp/hacs.tar.gz -C \
|
/tmp/hacs.tar.gz -C \
|
||||||
/tmp/hacs-source --strip-components=1 && \
|
/tmp/hacs-source --strip-components=1 && \
|
||||||
pip3 wheel --wheel-dir=/build/hacs --no-cache-dir --find-links=/build/core --find-links=/build/addons \
|
pip3 wheel --wheel-dir=/build/hacs --no-cache-dir --find-links=/build/core --find-links=/build/addons --use-deprecated=legacy-resolver \
|
||||||
-r /tmp/hacs-source/requirements.txt
|
-r /tmp/hacs-source/requirements.txt
|
||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
@ -106,7 +113,8 @@ RUN \
|
|||||||
/tmp/repo && \
|
/tmp/repo && \
|
||||||
mv /build/addons/* /tmp/repo/ && \
|
mv /build/addons/* /tmp/repo/ && \
|
||||||
mv /build/core/* /tmp/repo/ && \
|
mv /build/core/* /tmp/repo/ && \
|
||||||
mv /build/hacs/* /tmp/repo/ && \
|
mv /build/hacs/* /tmp/repo/
|
||||||
tar zcf /tmp/wheel-repo-x86_64.tar.gz /tmp/repo
|
|
||||||
|
|
||||||
CMD ["cp", "-avr", "/tmp/wheel-repo-x86_64.tar.gz", "/mnt/"]
|
FROM scratch
|
||||||
|
|
||||||
|
COPY --from=buildstage /tmp/repo /
|
||||||
|
@ -12,11 +12,14 @@ LABEL maintainer="saarg"
|
|||||||
ENV HOME="/tmp"
|
ENV HOME="/tmp"
|
||||||
|
|
||||||
# install packages
|
# install packages
|
||||||
|
# https://github.com/home-assistant/core/blob/11d74124cd06f48c1faf68df9a2ab9034130fafa/azure-pipelines-wheels.yml#L32
|
||||||
RUN \
|
RUN \
|
||||||
echo "**** install build packages ****" && \
|
echo "**** install build packages ****" && \
|
||||||
apk add --no-cache --virtual=build-dependencies \
|
apk add --no-cache --virtual=build-dependencies \
|
||||||
autoconf \
|
autoconf \
|
||||||
bluez-deprecated \
|
bluez-deprecated \
|
||||||
|
bluez-dev \
|
||||||
|
build-base \
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
cmake \
|
cmake \
|
||||||
curl \
|
curl \
|
||||||
@ -25,9 +28,10 @@ RUN \
|
|||||||
eudev-libs \
|
eudev-libs \
|
||||||
ffmpeg \
|
ffmpeg \
|
||||||
ffmpeg-dev \
|
ffmpeg-dev \
|
||||||
gcc \
|
|
||||||
glib-dev \
|
|
||||||
g++ \
|
g++ \
|
||||||
|
gcc \
|
||||||
|
git \
|
||||||
|
glib-dev \
|
||||||
jq \
|
jq \
|
||||||
libffi-dev \
|
libffi-dev \
|
||||||
libjpeg-turbo \
|
libjpeg-turbo \
|
||||||
@ -36,6 +40,7 @@ RUN \
|
|||||||
libxml2-dev \
|
libxml2-dev \
|
||||||
libxslt \
|
libxslt \
|
||||||
libxslt-dev \
|
libxslt-dev \
|
||||||
|
linux-headers \
|
||||||
make \
|
make \
|
||||||
openssl \
|
openssl \
|
||||||
openssl-dev \
|
openssl-dev \
|
||||||
@ -67,20 +72,22 @@ RUN \
|
|||||||
/build/addons \
|
/build/addons \
|
||||||
/build/core && \
|
/build/core && \
|
||||||
pip3 install --no-cache-dir --upgrade \
|
pip3 install --no-cache-dir --upgrade \
|
||||||
pip
|
pip==20.3 # https://github.com/home-assistant/core/pull/43771
|
||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
echo "**** build wheels for home assistant core ****" && \
|
echo "**** build wheels for home assistant core ****" && \
|
||||||
awk '/# Home Assistant core/,/^$/' /tmp/core/requirements_all.txt > /tmp/requirements_hass.txt && \
|
awk '/# Home Assistant Core/,/^$/' /tmp/core/requirements_all.txt > /tmp/requirements_hass.txt && \
|
||||||
awk '/# homeassistant.components.trend/,/^$/' /tmp/core/requirements_all.txt >> /tmp/requirements_hass.txt && \
|
awk '/# homeassistant.components.trend/,/^$/' /tmp/core/requirements_all.txt >> /tmp/requirements_hass.txt && \
|
||||||
pip3 wheel --wheel-dir=/build/core --no-cache-dir \
|
sed -i "s/-r requirements.txt/-r \/tmp\/core\/requirements.txt/g" /tmp/requirements_hass.txt && \
|
||||||
|
pip3 wheel --wheel-dir=/build/core --no-cache-dir --use-deprecated=legacy-resolver \
|
||||||
-r /tmp/requirements_hass.txt
|
-r /tmp/requirements_hass.txt
|
||||||
|
|
||||||
|
# https://github.com/home-assistant/core/issues/43934 >> https://github.com/home-assistant/core/pull/36330
|
||||||
RUN \
|
RUN \
|
||||||
echo "**** build wheels for home assistant addons ****" && \
|
echo "**** build wheels for home assistant addons ****" && \
|
||||||
sed -i "s/-r requirements_test.txt/-r \/tmp\/core\/requirements_test.txt/g" /tmp/core/requirements_test_all.txt && \
|
sed -i "s/-r requirements_test.txt/-r \/tmp\/core\/requirements_test.txt/g" /tmp/core/requirements_test_all.txt && \
|
||||||
sed -i "s/-r requirements_test_pre_commit.txt/-r \/tmp\/core\/requirements_test_pre_commit.txt/g" /tmp/core/requirements_test.txt && \
|
sed -i "s/-r requirements_test_pre_commit.txt/-r \/tmp\/core\/requirements_test_pre_commit.txt/g" /tmp/core/requirements_test.txt && \
|
||||||
pip3 wheel --wheel-dir /build/addons --no-cache-dir --find-links=/build/core \
|
pip3 wheel --wheel-dir /build/addons --no-cache-dir --find-links=/build/core --use-deprecated=legacy-resolver \
|
||||||
-r /tmp/core/requirements_test_all.txt
|
-r /tmp/core/requirements_test_all.txt
|
||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
@ -98,7 +105,7 @@ RUN \
|
|||||||
tar xf \
|
tar xf \
|
||||||
/tmp/hacs.tar.gz -C \
|
/tmp/hacs.tar.gz -C \
|
||||||
/tmp/hacs-source --strip-components=1 && \
|
/tmp/hacs-source --strip-components=1 && \
|
||||||
pip3 wheel --wheel-dir=/build/hacs --no-cache-dir --find-links=/build/core --find-links=/build/addons \
|
pip3 wheel --wheel-dir=/build/hacs --no-cache-dir --find-links=/build/core --find-links=/build/addons --use-deprecated=legacy-resolver \
|
||||||
-r /tmp/hacs-source/requirements.txt
|
-r /tmp/hacs-source/requirements.txt
|
||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
@ -110,4 +117,4 @@ RUN \
|
|||||||
|
|
||||||
FROM scratch
|
FROM scratch
|
||||||
|
|
||||||
COPY --from=buildstage /tmp/ /
|
COPY --from=buildstage /tmp/repo /
|
||||||
|
Loading…
Reference in New Issue
Block a user