mirror of https://github.com/docker/buildx.git
GitHub Actions release
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
This commit is contained in:
parent
517df133e3
commit
8cc00ab486
|
@ -120,3 +120,66 @@ jobs:
|
||||||
env:
|
env:
|
||||||
TARGETPLATFORM: ${{ env.PLATFORMS }},darwin/amd64,windows/amd64
|
TARGETPLATFORM: ${{ env.PLATFORMS }},darwin/amd64,windows/amd64
|
||||||
CACHEDIR_FROM: /tmp/.buildx-cache/${{ env.CACHEKEY_BINARIES }}
|
CACHEDIR_FROM: /tmp/.buildx-cache/${{ env.CACHEKEY_BINARIES }}
|
||||||
|
|
||||||
|
binaries:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: [test, cross]
|
||||||
|
steps:
|
||||||
|
-
|
||||||
|
name: Checkout
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
-
|
||||||
|
name: Prepare
|
||||||
|
id: prep
|
||||||
|
run: |
|
||||||
|
TAG=pr
|
||||||
|
if [[ $GITHUB_REF == refs/tags/v* ]]; then
|
||||||
|
TAG=${GITHUB_REF#refs/tags/}
|
||||||
|
elif [[ $GITHUB_REF == refs/heads/* ]]; then
|
||||||
|
TAG=$(echo ${GITHUB_REF#refs/heads/} | sed -r 's#/+#-#g')
|
||||||
|
fi
|
||||||
|
echo ::set-output name=tag::${TAG}
|
||||||
|
-
|
||||||
|
name: Cache ${{ env.CACHEKEY_BINARIES }}
|
||||||
|
uses: actions/cache@v2
|
||||||
|
with:
|
||||||
|
path: /tmp/.buildx-cache/${{ env.CACHEKEY_BINARIES }}
|
||||||
|
key: ${{ runner.os }}-buildx-${{ env.CACHEKEY_BINARIES }}-${{ github.sha }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-buildx-${{ env.CACHEKEY_BINARIES }}-
|
||||||
|
-
|
||||||
|
name: Set up QEMU
|
||||||
|
uses: docker/setup-qemu-action@v1
|
||||||
|
-
|
||||||
|
name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v1
|
||||||
|
with:
|
||||||
|
driver-opts: image=${{ env.REPO_SLUG_ORIGIN }}
|
||||||
|
-
|
||||||
|
name: Build ${{ steps.prep.outputs.tag }}
|
||||||
|
run: |
|
||||||
|
./hack/release "${{ steps.prep.outputs.tag }}" release-out
|
||||||
|
env:
|
||||||
|
PLATFORMS: ${{ env.PLATFORMS }},darwin/amd64,windows/amd64
|
||||||
|
CACHEDIR_FROM: /tmp/.buildx-cache/${{ env.CACHEKEY_BINARIES }}
|
||||||
|
-
|
||||||
|
name: Move artifacts
|
||||||
|
run: |
|
||||||
|
mv ./release-out/**/* ./release-out/
|
||||||
|
-
|
||||||
|
name: Upload artifacts
|
||||||
|
uses: actions/upload-artifact@v2
|
||||||
|
with:
|
||||||
|
name: buildx
|
||||||
|
path: ./release-out/*
|
||||||
|
if-no-files-found: error
|
||||||
|
-
|
||||||
|
name: GitHub Release
|
||||||
|
if: startsWith(github.ref, 'refs/tags/v')
|
||||||
|
uses: softprops/action-gh-release@v1
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
with:
|
||||||
|
draft: true
|
||||||
|
files: ./release-out/*
|
||||||
|
name: ${{ steps.prep.outputs.tag }}
|
||||||
|
|
18
.travis.yml
18
.travis.yml
|
@ -29,21 +29,3 @@ install:
|
||||||
script:
|
script:
|
||||||
- make binaries validate-all
|
- make binaries validate-all
|
||||||
- TARGETPLATFORM="${CROSS_PLATFORMS}" ./hack/cross
|
- TARGETPLATFORM="${CROSS_PLATFORMS}" ./hack/cross
|
||||||
|
|
||||||
deploy:
|
|
||||||
- provider: script
|
|
||||||
script: PLATFORMS="${CROSS_PLATFORMS}" ./hack/release $TRAVIS_TAG release-out
|
|
||||||
on:
|
|
||||||
repo: docker/buildx
|
|
||||||
tags: true
|
|
||||||
condition: $TRAVIS_TAG =~ ^v[0-9]
|
|
||||||
- provider: releases
|
|
||||||
api_key:
|
|
||||||
secure: "VKVL+tyS3BfqjM4VMGHoHJbcKY4mqq4AGrclVEvBnt0gm1LkGeKxSheCZgF1EC4oSV8rCy6dkoRWL0PLkl895MIl20Z4v53o1NOQ4Fn0A+eptnrld8jYUkL5PcD+kdEqv2GkBn7vO6E/fwYY/wH9FYlE+fXUa0c/YQGqNGS+XVDtgkftqBV+F2EzaIwk+D+QClFBRmKvIbXrUQASi1K6K2eT3gvzR4zh679TSdI2nbnTKtE06xG1PBFVmb1Ux3/Jz4yHFvf2d3M1mOyqIBsozKoyxisiFQxnm3FjhPrdlZJ9oy/nsQM3ahQKJ3DF8hiLI1LxcxRa6wo//t3uu2eJSYl/c5nu0T7gVw4sChQNy52fUhEGoDTDwYoAxsLSDXcpj1jevRsKvxt/dh2e2De1a9HYj5oM+z2O+pcyiY98cKDbhe2miUqUdiYMBy24xUunB46zVcJF3pIqCYtw5ts8ES6Ixn3u+4OGV/hMDrVdiG2bOZtNVkdbKMEkOEBGa3parPJ69jh6og639kdAD3DFxyZn3YKYuJlcNShn3tj6iPokBYhlLwwf8vuEV7gK7G0rDS9yxuF03jgkwpBBF2wy+u1AbJv241T7v2ZB8H8VlYyHA0E5pnoWbw+lIOTy4IAc8gIesMvDuFFi4r1okhiAt/24U0p4aAohjh1nPuU3spY="
|
|
||||||
file: release-out/**/*
|
|
||||||
skip_cleanup: true
|
|
||||||
file_glob: true
|
|
||||||
on:
|
|
||||||
repo: docker/buildx
|
|
||||||
tags: true
|
|
||||||
condition: $TRAVIS_TAG =~ ^v[0-9]
|
|
||||||
|
|
27
hack/release
27
hack/release
|
@ -3,30 +3,29 @@
|
||||||
TAG=$1
|
TAG=$1
|
||||||
OUT=$2
|
OUT=$2
|
||||||
|
|
||||||
|
. $(dirname $0)/util
|
||||||
set -eu -o pipefail
|
set -eu -o pipefail
|
||||||
|
|
||||||
: ${PLATFORMS=linux/amd64}
|
: ${PLATFORMS=linux/amd64}
|
||||||
: ${CONTINUOUS_INTEGRATION=}
|
|
||||||
|
|
||||||
progressFlag=""
|
|
||||||
if [ "$CONTINUOUS_INTEGRATION" == "true" ]; then progressFlag="--progress=plain"; fi
|
|
||||||
|
|
||||||
|
|
||||||
usage() {
|
usage() {
|
||||||
echo "usage: ./hack/release <tag> <out>"
|
echo "usage: ./hack/release <tag> <out>"
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
if [ -z "$TAG" ] || [ -z "$OUT" ]; then
|
if [ -z "$TAG" ] || [ -z "$OUT" ]; then
|
||||||
usage
|
usage
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
importCacheFlags=""
|
||||||
|
if [[ -n "$cacheRefFrom" ]] && [[ "$cacheType" = "local" ]]; then
|
||||||
|
for ref in $cacheRefFrom; do
|
||||||
|
importCacheFlags="$importCacheFlags--cache-from=type=local,src=$ref "
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
set -x
|
buildxCmd build $importCacheFlags \
|
||||||
|
--target "release" \
|
||||||
buildctl build $progressFlag --frontend=dockerfile.v0 \
|
--platform "$PLATFORMS" \
|
||||||
--local context=. --local dockerfile=. \
|
--output "type=local,dest=$OUT" \
|
||||||
--opt target=release \
|
$currentcontext
|
||||||
--opt platform=$PLATFORMS \
|
|
||||||
--exporter local \
|
|
||||||
--exporter-opt output=$OUT
|
|
||||||
|
|
Loading…
Reference in New Issue