Skip to content

esp32: fix I2C timeouts on larger transfers (#5674) #1657

esp32: fix I2C timeouts on larger transfers (#5674)

esp32: fix I2C timeouts on larger transfers (#5674) #1657

Workflow file for this run

# This is the Github action to build and push the tinygo/tinygo-dev Docker image.
# If you are looking for the tinygo/tinygo "release" Docker image please see
# https://github.com/tinygo-org/docker
#
# The compiler image is built on top of an LLVM image. The LLVM image is built
# only when the registry holds no image for the current LLVM version and build
# recipe, so a change to TinyGo alone does not build LLVM again. An LLVM build
# takes at least 1-2 hours.
#
# Use the manual trigger with force-llvm to build the LLVM image again.
name: Docker
on:
push:
branches: [ dev ]
workflow_dispatch:
inputs:
force-llvm:
description: Build the LLVM image again
type: boolean
default: false
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
llvm:
name: build-push-llvm
runs-on: ubuntu-latest
permissions:
packages: write
contents: read
outputs:
image: ${{ steps.tag.outputs.image }}
steps:
- name: Free Disk space
shell: bash
run: |
df -h
sudo rm -rf /opt/hostedtoolcache
sudo rm -rf /usr/local/lib/android
sudo rm -rf /usr/share/dotnet
sudo rm -rf /opt/ghc
sudo rm -rf /usr/local/graalvm
sudo rm -rf /usr/local/share/boost
df -h
- name: Check out the repo
uses: actions/checkout@v6
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4
- name: Log in to Github Container Registry
uses: docker/login-action@v4
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Get the image tag
id: tag
shell: bash
run: |
tag=$(sh tools/llvm-image-tag.sh)
echo "image=ghcr.io/${{ github.repository_owner }}/llvm-22:$tag" >> "$GITHUB_OUTPUT"
- name: Look for the image
id: check
shell: bash
run: |
if docker buildx imagetools inspect "${{ steps.tag.outputs.image }}" > /dev/null 2>&1; then
echo "exists=true" >> "$GITHUB_OUTPUT"
else
echo "exists=false" >> "$GITHUB_OUTPUT"
fi
- name: Build and push
if: steps.check.outputs.exists != 'true' || inputs.force-llvm
uses: docker/build-push-action@v7
with:
context: .
file: Dockerfile.llvm
push: true
tags: ${{ steps.tag.outputs.image }}
push_to_registry:
name: build-push-dev
needs: llvm
runs-on: ubuntu-latest
permissions:
packages: write
contents: read
steps:
- name: Free Disk space
shell: bash
run: |
df -h
sudo rm -rf /opt/hostedtoolcache
sudo rm -rf /usr/local/lib/android
sudo rm -rf /usr/share/dotnet
sudo rm -rf /opt/ghc
sudo rm -rf /usr/local/graalvm
sudo rm -rf /usr/local/share/boost
df -h
- name: Check out the repo
uses: actions/checkout@v6
with:
submodules: recursive
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4
- name: Docker meta
id: meta
uses: docker/metadata-action@v6
with:
images: |
tinygo/tinygo-dev
ghcr.io/${{ github.repository_owner }}/tinygo-dev
tags: |
type=sha,format=long
type=raw,value=latest
- name: Log in to Docker Hub
uses: docker/login-action@v4
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
- name: Log in to Github Container Registry
uses: docker/login-action@v4
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v7
with:
context: .
push: true
build-args: |
LLVM_IMAGE=${{ needs.llvm.outputs.image }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=registry,ref=ghcr.io/${{ github.repository_owner }}/tinygo-dev:buildcache
cache-to: type=registry,ref=ghcr.io/${{ github.repository_owner }}/tinygo-dev:buildcache,mode=max,ignore-error=true