Skip to content

Build Pre-Release Clang Docker Images #3

Build Pre-Release Clang Docker Images

Build Pre-Release Clang Docker Images #3

name: Build Pre-Release Clang Docker Images
on:
schedule:
- cron: '0 0 * * 0' # Every Sunday at midnight
workflow_dispatch:
env:
FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true
CLANG_VERSION: '23'
jobs:
build-amd64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and Push AMD64
run: |
python build_img.py -v ${{ env.CLANG_VERSION }} -r teeks99/clang-ubuntu -p -T -l amd64_log.json --arch
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: amd64-log
path: amd64_log.json
build-arm64:
runs-on: ubuntu-24.04-arm
steps:
- uses: actions/checkout@v4
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Build and Push ARM64
run: |
python build_img.py -v ${{ env.CLANG_VERSION }} -r teeks99/clang-ubuntu -p -T -l arm64_log.json --arch
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: arm64-log
path: arm64_log.json
create-manifest:
needs: [build-amd64, build-arm64]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Log in to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Download Artifacts
uses: actions/download-artifact@v4
- name: Parse and Create Manifest
run: |
AMD64_TAG=$(jq -r '.versions["${{ env.CLANG_VERSION }}"].timestamp' amd64-log/amd64_log.json)
ARM64_TAG=$(jq -r '.versions["${{ env.CLANG_VERSION }}"].timestamp' arm64-log/arm64_log.json)
echo "AMD64 tag: $AMD64_TAG"
echo "ARM64 tag: $ARM64_TAG"
python build_img.py -v ${{ env.CLANG_VERSION }} -r teeks99/clang-ubuntu --manifest-only $AMD64_TAG $ARM64_TAG
- name: Trigger boost-cpp-docker build
uses: peter-evans/repository-dispatch@v3
with:
token: ${{ secrets.BOOST_CPP_PAT }}
repository: teeks99/boost-cpp-docker
event-type: build-boost-image
client-payload: '{"compiler": "clang", "version": "${{ env.CLANG_VERSION }}"}'