mirror of
https://github.com/ipfs/kubo.git
synced 2026-02-21 10:27:46 +08:00
trying two things:
- speed up arm build by allowing cross-comp from go instead of slow QEMU
- take a stab at caching buildx layers, without infinite growth
This fix was laready applied in
14cfa48bed
and reduced build time from 20m to 3m.
73 lines
2.0 KiB
YAML
73 lines
2.0 KiB
YAML
name: Docker Push
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
branches:
|
|
- 'master'
|
|
- 'bifrost-*'
|
|
tags:
|
|
- 'v*'
|
|
|
|
permissions:
|
|
contents: read # to fetch code (actions/checkout)
|
|
|
|
jobs:
|
|
docker-hub:
|
|
if: github.repository == 'ipfs/kubo' || github.event_name == 'workflow_dispatch'
|
|
name: Push Docker image to Docker Hub
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 90
|
|
env:
|
|
IMAGE_NAME: ipfs/kubo
|
|
LEGACY_IMAGE_NAME: ipfs/go-ipfs
|
|
steps:
|
|
- name: Check out the repo
|
|
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
|
|
|
|
- name: Cache Docker layers
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: /tmp/.buildx-cache
|
|
key: ${{ runner.os }}-buildx-${{ github.sha }}
|
|
restore-keys: |
|
|
${{ runner.os }}-buildx-
|
|
|
|
- name: Get tags
|
|
id: tags
|
|
run: |
|
|
echo "value<<EOF" >> $GITHUB_OUTPUT
|
|
./bin/get-docker-tags.sh "$(date -u +%F)" >> $GITHUB_OUTPUT
|
|
echo "EOF" >> $GITHUB_OUTPUT
|
|
shell: bash
|
|
|
|
- name: Log in to Docker Hub
|
|
uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9
|
|
with:
|
|
username: ${{ vars.DOCKER_USERNAME }}
|
|
password: ${{ secrets.DOCKER_PASSWORD }}
|
|
|
|
- name: Build Docker image and publish to Docker Hub
|
|
uses: docker/build-push-action@v2
|
|
with:
|
|
platforms: linux/amd64,linux/arm/v7,linux/arm64/v8
|
|
context: .
|
|
push: true
|
|
file: ./Dockerfile
|
|
tags: "${{ steps.tags.outputs.value }}"
|
|
cache-from: type=local,src=/tmp/.buildx-cache
|
|
cache-to: type=local,dest=/tmp/.buildx-cache-new
|
|
|
|
# https://github.com/docker/build-push-action/issues/252
|
|
# https://github.com/moby/buildkit/issues/1896
|
|
- name: Move cache to limit growth
|
|
run: |
|
|
rm -rf /tmp/.buildx-cache
|
|
mv /tmp/.buildx-cache-new /tmp/.buildx-cache
|