mirror of
				https://github.com/XRPLF/clio.git
				synced 2025-11-04 03:45:50 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			149 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			149 lines
		
	
	
		
			4.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: Update CI docker image
 | 
						|
 | 
						|
on:
 | 
						|
  pull_request:
 | 
						|
    paths:
 | 
						|
      - .github/workflows/update_docker_ci.yml
 | 
						|
 | 
						|
      - ".github/actions/build_docker_image/**"
 | 
						|
 | 
						|
      - "docker/ci/**"
 | 
						|
      - "docker/compilers/**"
 | 
						|
      - "docker/tools/**"
 | 
						|
  push:
 | 
						|
    branches: [develop]
 | 
						|
    paths:
 | 
						|
      - .github/workflows/update_docker_ci.yml
 | 
						|
 | 
						|
      - ".github/actions/build_docker_image/**"
 | 
						|
 | 
						|
      - "docker/ci/**"
 | 
						|
      - "docker/compilers/**"
 | 
						|
      - "docker/tools/**"
 | 
						|
  workflow_dispatch:
 | 
						|
 | 
						|
concurrency:
 | 
						|
  # Only cancel in-progress jobs or runs for the current workflow - matches against branch & tags
 | 
						|
  group: ${{ github.workflow }}-${{ github.ref }}
 | 
						|
  cancel-in-progress: true
 | 
						|
 | 
						|
jobs:
 | 
						|
  gcc:
 | 
						|
    name: Build and push GCC docker image
 | 
						|
    runs-on: [self-hosted, heavy]
 | 
						|
 | 
						|
    steps:
 | 
						|
      - uses: actions/checkout@v4
 | 
						|
 | 
						|
      - name: Get changed files
 | 
						|
        id: changed-files
 | 
						|
        uses: tj-actions/changed-files@ed68ef82c095e0d48ec87eccea555d944a631a4c # v46.0.5
 | 
						|
        with:
 | 
						|
          files: "docker/compilers/gcc/**"
 | 
						|
 | 
						|
      - uses: ./.github/actions/build_docker_image
 | 
						|
        if: steps.changed-files.outputs.any_changed == 'true'
 | 
						|
        env:
 | 
						|
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
						|
          DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }}
 | 
						|
          DOCKERHUB_PW: ${{ secrets.DOCKERHUB_PW }}
 | 
						|
        with:
 | 
						|
          images: |
 | 
						|
            ghcr.io/xrplf/clio-gcc
 | 
						|
            rippleci/clio_gcc
 | 
						|
          push_image: ${{ github.event_name != 'pull_request' }}
 | 
						|
          directory: docker/compilers/gcc
 | 
						|
          tags: |
 | 
						|
            type=raw,value=latest
 | 
						|
            type=raw,value=12
 | 
						|
            type=raw,value=${{ github.sha }}
 | 
						|
          platforms: linux/amd64,linux/arm64
 | 
						|
          dockerhub_repo: rippleci/clio_gcc
 | 
						|
          dockerhub_description: GCC compiler for XRPLF/clio.
 | 
						|
 | 
						|
  clang:
 | 
						|
    name: Build and push Clang docker image
 | 
						|
    runs-on: [self-hosted, heavy]
 | 
						|
 | 
						|
    steps:
 | 
						|
      - uses: actions/checkout@v4
 | 
						|
 | 
						|
      - name: Get changed files
 | 
						|
        id: changed-files
 | 
						|
        uses: tj-actions/changed-files@ed68ef82c095e0d48ec87eccea555d944a631a4c # v46.0.5
 | 
						|
        with:
 | 
						|
          files: "docker/compilers/clang/**"
 | 
						|
 | 
						|
      - uses: ./.github/actions/build_docker_image
 | 
						|
        if: steps.changed-files.outputs.any_changed == 'true'
 | 
						|
        env:
 | 
						|
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
						|
          DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }}
 | 
						|
          DOCKERHUB_PW: ${{ secrets.DOCKERHUB_PW }}
 | 
						|
        with:
 | 
						|
          images: |
 | 
						|
            ghcr.io/xrplf/clio-clang
 | 
						|
            rippleci/clio_clang
 | 
						|
          push_image: ${{ github.event_name != 'pull_request' }}
 | 
						|
          directory: docker/compilers/clang
 | 
						|
          tags: |
 | 
						|
            type=raw,value=latest
 | 
						|
            type=raw,value=16
 | 
						|
            type=raw,value=${{ github.sha }}
 | 
						|
          platforms: linux/amd64,linux/arm64
 | 
						|
          dockerhub_repo: rippleci/clio_clang
 | 
						|
          dockerhub_description: Clang compiler for XRPLF/clio.
 | 
						|
 | 
						|
  tools:
 | 
						|
    name: Build and push tools docker image
 | 
						|
    runs-on: [self-hosted, heavy]
 | 
						|
 | 
						|
    steps:
 | 
						|
      - uses: actions/checkout@v4
 | 
						|
 | 
						|
      - name: Get changed files
 | 
						|
        id: changed-files
 | 
						|
        uses: tj-actions/changed-files@ed68ef82c095e0d48ec87eccea555d944a631a4c # v46.0.5
 | 
						|
        with:
 | 
						|
          files: "docker/tools/**"
 | 
						|
 | 
						|
      - uses: ./.github/actions/build_docker_image
 | 
						|
        if: steps.changed-files.outputs.any_changed == 'true'
 | 
						|
        env:
 | 
						|
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
						|
        with:
 | 
						|
          images: |
 | 
						|
            ghcr.io/xrplf/clio-tools
 | 
						|
          push_image: ${{ github.event_name != 'pull_request' }}
 | 
						|
          directory: docker/tools
 | 
						|
          tags: |
 | 
						|
            type=raw,value=latest
 | 
						|
            type=raw,value=${{ github.sha }}
 | 
						|
          platforms: linux/amd64,linux/arm64
 | 
						|
 | 
						|
  ci:
 | 
						|
    name: Build and push CI docker image
 | 
						|
    runs-on: [self-hosted, heavy]
 | 
						|
    needs: [gcc, clang, tools]
 | 
						|
 | 
						|
    steps:
 | 
						|
      - uses: actions/checkout@v4
 | 
						|
      - uses: ./.github/actions/build_docker_image
 | 
						|
        env:
 | 
						|
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
 | 
						|
          DOCKERHUB_USER: ${{ secrets.DOCKERHUB_USER }}
 | 
						|
          DOCKERHUB_PW: ${{ secrets.DOCKERHUB_PW }}
 | 
						|
        with:
 | 
						|
          images: |
 | 
						|
            rippleci/clio_ci
 | 
						|
            ghcr.io/xrplf/clio-ci
 | 
						|
          push_image: ${{ github.event_name != 'pull_request' }}
 | 
						|
          directory: docker/ci
 | 
						|
          tags: |
 | 
						|
            type=raw,value=latest
 | 
						|
            type=raw,value=gcc_12_clang_16
 | 
						|
            type=raw,value=${{ github.sha }}
 | 
						|
          platforms: linux/amd64,linux/arm64
 | 
						|
          dockerhub_repo: rippleci/clio_ci
 | 
						|
          dockerhub_description: CI image for XRPLF/clio.
 |