mirror of
https://github.com/yggdrasil-network/yggdrasil-go.git
synced 2025-04-30 07:05:06 +03:00
Use buildx
Signed-off-by: Yan Minari <yangm97@gmail.com>
This commit is contained in:
parent
fc615767a0
commit
e3990234be
1 changed files with 9 additions and 15 deletions
|
@ -201,49 +201,43 @@ jobs:
|
||||||
|
|
||||||
- run:
|
- run:
|
||||||
name: Set variables
|
name: Set variables
|
||||||
|
# We need to enable experimental features in order to use docker buildx
|
||||||
command: |
|
command: |
|
||||||
echo 'export DOCKER_TAG_MAIN=$(sh contrib/semver/docker.sh main)' >> $BASH_ENV
|
echo 'export DOCKER_TAG_MAIN=$(sh contrib/semver/docker.sh main)' >> $BASH_ENV
|
||||||
echo 'export DOCKER_TAG_MAJOR=$(sh contrib/semver/docker.sh major)' >> $BASH_ENV
|
echo 'export DOCKER_TAG_MAJOR=$(sh contrib/semver/docker.sh major)' >> $BASH_ENV
|
||||||
echo 'export DOCKER_TAG_MAJORMINOR=$(sh contrib/semver/docker.sh majorminor)' >> $BASH_ENV
|
echo 'export DOCKER_TAG_MAJORMINOR=$(sh contrib/semver/docker.sh majorminor)' >> $BASH_ENV
|
||||||
echo 'export DOCKER_TAG_FULL=$(sh contrib/semver/docker.sh full)' >> $BASH_ENV
|
echo 'export DOCKER_TAG_FULL=$(sh contrib/semver/docker.sh full)' >> $BASH_ENV
|
||||||
echo 'export DOCKER_BUILDKIT=1' >> $BASH_ENV
|
|
||||||
echo 'export CINAME=$(sh contrib/semver/name.sh)' >> $BASH_ENV
|
echo 'export CINAME=$(sh contrib/semver/name.sh)' >> $BASH_ENV
|
||||||
echo 'export CIVERSION=$(sh contrib/semver/version.sh --bare)' >> $BASH_ENV
|
echo 'export CIVERSION=$(sh contrib/semver/version.sh --bare)' >> $BASH_ENV
|
||||||
git config --global user.email "$(git log --format='%ae' HEAD -1)";
|
git config --global user.email "$(git log --format='%ae' HEAD -1)";
|
||||||
git config --global user.name "$(git log --format='%an' HEAD -1)";
|
git config --global user.name "$(git log --format='%an' HEAD -1)";
|
||||||
|
echo 'export DOCKER_BUILDKIT=1' >> $BASH_ENV
|
||||||
sudo mkdir -p /etc/docker && echo $'{\n "experimental": true\n}' | sudo dd of=/etc/docker/daemon.json
|
sudo mkdir -p /etc/docker && echo $'{\n "experimental": true\n}' | sudo dd of=/etc/docker/daemon.json
|
||||||
sudo systemctl restart docker
|
sudo systemctl restart docker
|
||||||
|
mkdir -p ~/.docker && echo $'{\n "experimental": "enabled"\n}' >| ~/.docker/config.json
|
||||||
|
sudo curl -L -o /usr/bin/buildx https://github.com/docker/buildx/releases/download/v0.2.2/buildx-v0.2.2.linux-amd64
|
||||||
|
sudo chmod +x /usr/bin/buildx
|
||||||
|
|
||||||
- run:
|
- run:
|
||||||
name: Build images
|
name: Build images
|
||||||
# We need to enable experimental features for cli in order to use docker buildx backend
|
|
||||||
command: |
|
command: |
|
||||||
mkdir -p ~/.docker && echo $'{\n "experimental": "enabled"\n}' >| ~/.docker/config.json
|
|
||||||
mkdir -p linux/amd64 && \
|
mkdir -p linux/amd64 && \
|
||||||
cp /tmp/upload/${CINAME}-${CIVERSION}-linux-amd64 linux/amd64/yggdrasil
|
cp /tmp/upload/${CINAME}-${CIVERSION}-linux-amd64 linux/amd64/yggdrasil
|
||||||
cp /tmp/upload/${CINAME}-${CIVERSION}-yggdrasilctl-linux-amd64 linux/amd64/yggdrasilctl
|
cp /tmp/upload/${CINAME}-${CIVERSION}-yggdrasilctl-linux-amd64 linux/amd64/yggdrasilctl
|
||||||
mkdir -p linux/arm64 && \
|
mkdir -p linux/arm64 && \
|
||||||
cp /tmp/upload/${CINAME}-${CIVERSION}-linux-arm64 linux/arm64/yggdrasil
|
cp /tmp/upload/${CINAME}-${CIVERSION}-linux-arm64 linux/arm64/yggdrasil
|
||||||
cp /tmp/upload/${CINAME}-${CIVERSION}-yggdrasilctl-linux-arm64 linux/arm64/yggdrasilctl
|
cp /tmp/upload/${CINAME}-${CIVERSION}-yggdrasilctl-linux-arm64 linux/arm64/yggdrasilctl
|
||||||
docker build \
|
docker login -u $DOCKER_USER -p $DOCKER_PASS
|
||||||
|
buildx build \
|
||||||
|
--push \
|
||||||
|
--platform=linux/amd64,linux/arm64 \
|
||||||
--tag=${DOCKER_NAMESPACE}:${DOCKER_TAG_MAIN} \
|
--tag=${DOCKER_NAMESPACE}:${DOCKER_TAG_MAIN} \
|
||||||
--tag=${DOCKER_NAMESPACE}:${DOCKER_TAG_MAJOR} \
|
--tag=${DOCKER_NAMESPACE}:${DOCKER_TAG_MAJOR} \
|
||||||
--tag=${DOCKER_NAMESPACE}:${DOCKER_TAG_MAJORMINOR} \
|
--tag=${DOCKER_NAMESPACE}:${DOCKER_TAG_MAJORMINOR} \
|
||||||
--tag=${DOCKER_NAMESPACE}:${DOCKER_TAG_FULL} \
|
--tag=${DOCKER_NAMESPACE}:${DOCKER_TAG_FULL} \
|
||||||
--platform=linux/amd64 \
|
|
||||||
--platform=linux/arm64 \
|
|
||||||
--file=contrib/docker/ci/scratch/Dockerfile \
|
--file=contrib/docker/ci/scratch/Dockerfile \
|
||||||
.
|
.
|
||||||
|
|
||||||
- run:
|
|
||||||
name: Push images
|
|
||||||
command: |
|
|
||||||
docker login -u $DOCKER_USER -p $DOCKER_PASS
|
|
||||||
docker push ${DOCKER_NAMESPACE}:${DOCKER_TAG_MAIN}
|
|
||||||
docker push ${DOCKER_NAMESPACE}:${DOCKER_TAG_MAJOR}
|
|
||||||
docker push ${DOCKER_NAMESPACE}:${DOCKER_TAG_MAJORMINOR}
|
|
||||||
docker push ${DOCKER_NAMESPACE}:${DOCKER_TAG_FULL}
|
|
||||||
|
|
||||||
upload:
|
upload:
|
||||||
machine: true
|
machine: true
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue