Skip to content

feat: Update base image #12

feat: Update base image

feat: Update base image #12

Workflow file for this run

---
name: Publish Docker Image
on:
push:
branches:
- main
paths:
- ".devcontainer/Dockerfile"
workflow_dispatch:
jobs:
build-examples:
name: Build ${{ matrix.project.name }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
project:
- name: "button-interrupt"
path: "advanced/button-interrupt"
- name: "i2c-driver"
path: "advanced/i2c-driver"
- name: "i2c-sensor-reading"
path: "advanced/i2c-sensor-reading"
- name: "hardware-check"
path: "intro/hardware-check"
- name: "http-client"
path: "intro/http-client"
- name: "http-server"
path: "intro/http-server"
- name: "mqtt"
path: "intro/mqtt/exercise"
- name: "mqtt - host client"
path: "intro/mqtt/host-client"
steps:
- name: Checkout the repository
uses: actions/checkout@v4
- name: Update ownership
run: |
sudo chown 1000:1000 -R ${{ github.workspace }}
- name: Build Docker image
if: github.event_name != 'schedule'
uses: docker/build-push-action@v5
with:
context: .
tags: espressif/rust-std-training
file: .devcontainer/Dockerfile
push: false
- name: Test code example in Docker image
uses: addnab/docker-run-action@v3
with:
image: espressif/rust-std-training:latest
options: -u esp -v ${{ github.workspace }}:/home/esp/workspace
run: /bin/bash /home/esp/workspace/.devcontainer/test.sh ${{ matrix.project.path }}
publish-container:
name: Update container image on DockerHub
needs: build-examples
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_TOKEN }}
- name: Build and push container
uses: docker/build-push-action@v5
with:
context: .
file: .devcontainer/Dockerfile
tags: espressif/rust-std-training:latest
push: true
platforms: linux/amd64, linux/arm64