Skip to content

sdkconfig: build for ESP32-S3-Box-3 by default #535

sdkconfig: build for ESP32-S3-Box-3 by default

sdkconfig: build for ESP32-S3-Box-3 by default #535

Workflow file for this run

---
name: meta
env:
GH_TOKEN: ${{ github.token }}
on:
pull_request:
push:
jobs:
trigger_workflow:
name: trigger workflow based on changed files
runs-on: ubuntu-22.04
outputs:
check_container_image: ${{ steps.check_container_image.outputs.result }}
container_any_changed: ${{ steps.changed_files_yaml.outputs.container_any_changed }}
image_any_changed: ${{ steps.changed_files_yaml.outputs.image_any_changed }}
metadata_json: ${{ steps.metadata.outputs.json }}
metadata_labels: ${{ steps.metadata.outputs.labels }}
metadata_tags: ${{ steps.metadata.outputs.tags }}
steps:
- uses: actions/checkout@v3
with:
# fetch full history to be able to gather changed files in all new commits
fetch-depth: 0
- uses: tj-actions/changed-files@v41
if: ${{ github.ref_type != 'tag' }}
id: changed_files_yaml
with:
files_yaml: |
container:
- '.github/workflows/build-container.yml'
- 'Dockerfile'
- 'container.gitconfig'
- 'utils.sh'
image:
- 'CMakeLists.txt'
- 'main/**'
- 'partitions_willow.csv'
- 'sdkconfig.defaults'
- 'spiffs/**'
- name: extract metadata
id: metadata
uses: docker/metadata-action@v4
with:
images: "ghcr.io/${{ github.repository }}"
tags: |
type=ref,event=tag
type=ref,event=pr
type=ref,event=branch
- name: extract tag name
id: tag
run: |
tag=${{ fromJSON(steps.metadata.outputs.json).tags[0] }}
echo "tag=${tag##*:}" >> $GITHUB_OUTPUT
- name: debug
run: |
echo "${{ steps.metadata.outputs.json }}"
echo "${{ steps.tag.outputs.tag }}"
- uses: cloudposse/github-action-docker-image-exists@0.1.2
continue-on-error: true
id: check_container_image
if: ${{ steps.changed_files_yaml.outputs.container_any_changed == 'false' && steps.changed_files_yaml.outputs.image_any_changed == 'true' }}
with:
image_name: "${{ github.repository }}"
registry: ghcr.io
tag: "${{ steps.tag.outputs.tag }}"
- name: debug
run: |
echo "${{ steps.check_container_image.outputs.result }}"
build_container:
if: ${{ needs.trigger_workflow.outputs.container_any_changed == 'true' || github.ref_type == 'tag' }}
uses: ./.github/workflows/build-container.yml
needs: trigger_workflow
with:
container-image: ${{ fromJSON(needs.trigger_workflow.outputs.metadata_json).tags[0] }}
labels: ${{ needs.trigger_workflow.outputs.metadata_labels }}
tags: ${{ needs.trigger_workflow.outputs.metadata_tags }}
build_willow:
if: ${{ needs.trigger_workflow.outputs.container_any_changed == 'false' && needs.trigger_workflow.outputs.image_any_changed == 'true' }}
uses: ./.github/workflows/build-willow.yml
needs: trigger_workflow
with:
container-image: ${{ needs.trigger_workflow.outputs.check_container_image && fromJSON(needs.trigger_workflow.outputs.metadata_json).tags[0] || 'ghcr.io/toverainc/willow:main' }}