attempt builds via buildx
This commit is contained in:
parent
a3d4cda3e8
commit
4795defd9b
|
|
@ -0,0 +1,4 @@
|
||||||
|
chart
|
||||||
|
dev
|
||||||
|
examples
|
||||||
|
node_modules
|
||||||
47
.travis.yml
47
.travis.yml
|
|
@ -1,23 +1,30 @@
|
||||||
# if: tag IS present
|
dist: bionic
|
||||||
language: node_js
|
|
||||||
node_js:
|
|
||||||
- "12"
|
|
||||||
sudo: required
|
sudo: required
|
||||||
services:
|
|
||||||
- docker
|
before_install:
|
||||||
install: true
|
- curl -fsSL https://get.docker.com | sh
|
||||||
|
- echo '{"experimental":"enabled"}' | sudo tee /etc/docker/daemon.json
|
||||||
|
- mkdir -p $HOME/.docker
|
||||||
|
- echo '{"experimental":"enabled"}' | sudo tee $HOME/.docker/config.json
|
||||||
|
- sudo service docker start
|
||||||
|
- docker info
|
||||||
|
install:
|
||||||
|
- docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
|
||||||
|
- docker buildx create --name xbuilder --use
|
||||||
|
- docker buildx inspect --bootstrap
|
||||||
|
|
||||||
script: true
|
script: true
|
||||||
deploy:
|
deploy:
|
||||||
- provider: script
|
- provider: script
|
||||||
script: bash .travis/docker-release.sh
|
script: bash .travis/docker-release.sh
|
||||||
skip_cleanup: true
|
skip_cleanup: true
|
||||||
on:
|
on:
|
||||||
repo: democratic-csi/democratic-csi
|
repo: democratic-csi/democratic-csi
|
||||||
all_branches: true
|
all_branches: true
|
||||||
condition: $TRAVIS_BRANCH =~ ^master|next$
|
condition: $TRAVIS_BRANCH =~ ^master|next$
|
||||||
- provider: script
|
- provider: script
|
||||||
script: bash .travis/docker-release.sh
|
script: bash .travis/docker-release.sh
|
||||||
skip_cleanup: true
|
skip_cleanup: true
|
||||||
on:
|
on:
|
||||||
repo: democratic-csi/democratic-csi
|
repo: democratic-csi/democratic-csi
|
||||||
tags: true
|
tags: true
|
||||||
|
|
|
||||||
|
|
@ -6,17 +6,17 @@ export DOCKER_ORG="democraticcsi"
|
||||||
export DOCKER_PROJECT="democratic-csi"
|
export DOCKER_PROJECT="democratic-csi"
|
||||||
export DOCKER_REPO="${DOCKER_ORG}/${DOCKER_PROJECT}"
|
export DOCKER_REPO="${DOCKER_ORG}/${DOCKER_PROJECT}"
|
||||||
|
|
||||||
if [[ -n "${TRAVIS_TAG}" ]];then
|
if [[ -n "${TRAVIS_TAG}" ]]; then
|
||||||
docker build --pull -t ${DOCKER_REPO}:${TRAVIS_TAG} .
|
docker buildx build --progress plain --pull --push --platform linux/amd64,linux/arm/v7,linux/arm64 -t ${DOCKER_REPO}:${TRAVIS_TAG} .
|
||||||
docker push ${DOCKER_REPO}:${TRAVIS_TAG}
|
docker push ${DOCKER_REPO}:${TRAVIS_TAG}
|
||||||
elif [[ -n "${TRAVIS_BRANCH}" ]];then
|
elif [[ -n "${TRAVIS_BRANCH}" ]]; then
|
||||||
if [[ "${TRAVIS_BRANCH}" == "master" ]];then
|
if [[ "${TRAVIS_BRANCH}" == "master" ]]; then
|
||||||
docker build --pull -t ${DOCKER_REPO}:latest .
|
docker buildx build --progress plain --pull --push --platform linux/amd64,linux/arm/v7,linux/arm64 -t ${DOCKER_REPO}:latest .
|
||||||
docker push ${DOCKER_REPO}:latest
|
docker push ${DOCKER_REPO}:latest
|
||||||
else
|
else
|
||||||
docker build --pull -t ${DOCKER_REPO}:${TRAVIS_BRANCH} .
|
docker buildx build --progress plain --pull --push --platform linux/amd64,linux/arm/v7,linux/arm64 -t ${DOCKER_REPO}:${TRAVIS_BRANCH} .
|
||||||
docker push ${DOCKER_REPO}:${TRAVIS_BRANCH}
|
docker push ${DOCKER_REPO}:${TRAVIS_BRANCH}
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
:
|
:
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
23
Dockerfile
23
Dockerfile
|
|
@ -1,23 +1,20 @@
|
||||||
FROM debian:10-slim
|
FROM debian:10-slim
|
||||||
|
|
||||||
|
ARG TARGETPLATFORM
|
||||||
|
ARG BUILDPLATFORM
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y locales && rm -rf /var/lib/apt/lists/* \
|
RUN apt-get update && apt-get install -y locales && rm -rf /var/lib/apt/lists/* \
|
||||||
&& localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8
|
&& localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8
|
||||||
|
|
||||||
ENV LANG en_US.utf8
|
ENV LANG=en_US.utf8 NODE_VERSION=v12.15.0
|
||||||
|
|
||||||
|
RUN echo "I am running on $BUILDPLATFORM, building for $TARGETPLATFORM"
|
||||||
|
|
||||||
# install node
|
# install node
|
||||||
ENV NODE_VERSION=v12.13.1
|
RUN apt-get update && apt-get install -y wget xz-utils
|
||||||
ENV NODE_DISTRO=linux-x64
|
ADD docker/node-installer.sh /usr/local/sbin
|
||||||
|
RUN chmod +x /usr/local/sbin/node-installer.sh && node-installer.sh
|
||||||
RUN apt-get update && \
|
ENV PATH=/usr/local/lib/nodejs/bin:$PATH
|
||||||
apt-get install -y wget xz-utils && \
|
|
||||||
wget https://nodejs.org/dist/${NODE_VERSION}/node-${NODE_VERSION}-${NODE_DISTRO}.tar.xz > /dev/null 2>&1 && \
|
|
||||||
mkdir -p /usr/local/lib/nodejs && \
|
|
||||||
tar -xJf node-${NODE_VERSION}-${NODE_DISTRO}.tar.xz -C /usr/local/lib/nodejs && \
|
|
||||||
rm node-${NODE_VERSION}-${NODE_DISTRO}.tar.xz && \
|
|
||||||
rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
ENV PATH=/usr/local/lib/nodejs/node-${NODE_VERSION}-${NODE_DISTRO}/bin:$PATH
|
|
||||||
|
|
||||||
# node service requirements
|
# node service requirements
|
||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,35 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -x
|
||||||
|
|
||||||
|
PLATFORM_TYPE=${1}
|
||||||
|
|
||||||
|
if [[ "${PLATFORM_TYPE}" == "build" ]]; then
|
||||||
|
PLATFORM=$BUILDPLATFORM
|
||||||
|
else
|
||||||
|
PLATFORM=$TARGETPLATFORM
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "x${PLATFORM}" == "x" ]]; then
|
||||||
|
PLATFORM="linux/amd64"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$PLATFORM" = "linux/amd64" ]; then
|
||||||
|
export NODE_DISTRO="linux-x64"
|
||||||
|
elif [ "$PLATFORM" = "linux/arm64" ]; then
|
||||||
|
export NODE_DISTRO="linux-arm64"
|
||||||
|
elif [ "$PLATFORM" = "linux/arm/v7" ]; then
|
||||||
|
export NODE_DISTRO="linux-armv7l"
|
||||||
|
else
|
||||||
|
echo "unsupported/unknown PLATFORM ${PLATFORM}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "I am installing node $NODE_VERSION $NODE_DISTRO"
|
||||||
|
|
||||||
|
wget https://nodejs.org/dist/${NODE_VERSION}/node-${NODE_VERSION}-${NODE_DISTRO}.tar.xz >/dev/null 2>&1
|
||||||
|
mkdir -p /usr/local/lib/nodejs
|
||||||
|
tar -xJf node-${NODE_VERSION}-${NODE_DISTRO}.tar.xz -C /usr/local/lib/nodejs --strip-components=1
|
||||||
|
rm node-${NODE_VERSION}-${NODE_DISTRO}.tar.xz
|
||||||
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
@ -0,0 +1,23 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -x
|
||||||
|
|
||||||
|
PLATFORM=$TARGETPLATFORM
|
||||||
|
|
||||||
|
if [[ "x${PLATFORM}" == "x" ]]; then
|
||||||
|
PLATFORM="linux/amd64"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$PLATFORM" = "linux/amd64" ]; then
|
||||||
|
export NODE_ARCH="x64"
|
||||||
|
elif [ "$PLATFORM" = "linux/arm64" ]; then
|
||||||
|
export NODE_ARCH="arm64"
|
||||||
|
elif [ "$PLATFORM" = "linux/arm/v7" ]; then
|
||||||
|
export NODE_ARCH="armv7l"
|
||||||
|
else
|
||||||
|
echo "unsupported/unknown PLATFORM ${PLATFORM}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
npm install --target_arch="${NODE_ARCH}"
|
||||||
Loading…
Reference in New Issue