#1029 FIX Yaml anchor merging #1473
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: test | |
| on: | |
| pull_request: | |
| branches: | |
| - "main" | |
| paths-ignore: | |
| - 'docs/**' | |
| workflow_dispatch: | |
| inputs: | |
| build_base_image: | |
| description: 'Build base image' | |
| required: false | |
| default: false | |
| type: boolean | |
| env: | |
| REGISTRY: ghcr.io | |
| jobs: | |
| build-test-amd64: | |
| runs-on: ubuntu-22.04 | |
| permissions: | |
| contents: read | |
| packages: write | |
| strategy: | |
| matrix: | |
| target: | |
| - code-indexer | |
| - terrat-ee | |
| - terrat-oss | |
| - ttm | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Log in to Container Registry | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ${{ env.REGISTRY }} | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Generate date tag | |
| id: date | |
| run: echo "date=$(date +'%Y%m%d')" >> $GITHUB_OUTPUT | |
| - name: Extract branch name and commit | |
| id: branch | |
| run: | | |
| SHORT_SHA=$(git rev-parse --short HEAD) | |
| if [ "${{ github.event_name }}" = "pull_request" ]; then | |
| BRANCH_NAME=$(echo ${{ github.head_ref }} | sed 's/[^a-zA-Z0-9._-]/-/g') | |
| else | |
| BRANCH_NAME=$(echo ${GITHUB_REF#refs/heads/} | sed 's/[^a-zA-Z0-9._-]/-/g') | |
| fi | |
| echo "branch=${BRANCH_NAME}-${SHORT_SHA}" >> $GITHUB_OUTPUT | |
| - name: Set base image | |
| if: ${{ ! inputs.build_base_image }} | |
| run: | | |
| ./scripts/base_image >> $GITHUB_ENV | |
| - name: Build and push ${{ matrix.target }} with BASE_IMAGE | |
| if: ${{ ! inputs.build_base_image }} | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: . | |
| file: docker/terrat/Dockerfile | |
| target: ${{ matrix.target }} | |
| build-args: | | |
| BASE_IMAGE=${{ env.BASE_IMAGE }} | |
| push: true | |
| tags: | | |
| ${{ env.REGISTRY }}/${{ github.repository_owner }}/${{ matrix.target }}-dev:${{ steps.date.outputs.date }}-${{ steps.branch.outputs.branch }}-amd64 | |
| platforms: linux/amd64 | |
| - name: Build and push ${{ matrix.target }} without BASE_IMAGE | |
| if: ${{ inputs.build_base_image }} | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: . | |
| file: docker/terrat/Dockerfile | |
| target: ${{ matrix.target }} | |
| push: true | |
| tags: | | |
| ${{ env.REGISTRY }}/${{ github.repository_owner }}/${{ matrix.target }}-dev:${{ steps.date.outputs.date }}-${{ steps.branch.outputs.branch }}-amd64 | |
| platforms: linux/amd64 | |
| build-test-arm64: | |
| runs-on: ubuntu-22.04-arm64 | |
| permissions: | |
| contents: read | |
| packages: write | |
| strategy: | |
| matrix: | |
| target: | |
| - code-indexer | |
| - terrat-ee | |
| - terrat-oss | |
| - ttm | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Log in to Container Registry | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ${{ env.REGISTRY }} | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Generate date tag | |
| id: date | |
| run: echo "date=$(date +'%Y%m%d')" >> $GITHUB_OUTPUT | |
| - name: Extract branch name and commit | |
| id: branch | |
| run: | | |
| SHORT_SHA=$(git rev-parse --short HEAD) | |
| if [ "${{ github.event_name }}" = "pull_request" ]; then | |
| BRANCH_NAME=$(echo ${{ github.head_ref }} | sed 's/[^a-zA-Z0-9._-]/-/g') | |
| else | |
| BRANCH_NAME=$(echo ${GITHUB_REF#refs/heads/} | sed 's/[^a-zA-Z0-9._-]/-/g') | |
| fi | |
| echo "branch=${BRANCH_NAME}-${SHORT_SHA}" >> $GITHUB_OUTPUT | |
| - name: Set base image | |
| if: ${{ ! inputs.build_base_image }} | |
| run: | | |
| ./scripts/base_image >> $GITHUB_ENV | |
| - name: Build and push ${{ matrix.target }} with BASE_IMAGE | |
| if: ${{ ! inputs.build_base_image }} | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: . | |
| file: docker/terrat/Dockerfile | |
| target: ${{ matrix.target }} | |
| build-args: | | |
| BASE_IMAGE=${{ env.BASE_IMAGE }} | |
| push: true | |
| tags: | | |
| ${{ env.REGISTRY }}/${{ github.repository_owner }}/${{ matrix.target }}-dev:${{ steps.date.outputs.date }}-${{ steps.branch.outputs.branch }}-arm64 | |
| platforms: linux/arm64 | |
| - name: Build and push ${{ matrix.target }} without BASE_IMAGE | |
| if: ${{ inputs.build_base_image }} | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: . | |
| file: docker/terrat/Dockerfile | |
| target: ${{ matrix.target }} | |
| push: true | |
| tags: | | |
| ${{ env.REGISTRY }}/${{ github.repository_owner }}/${{ matrix.target }}-dev:${{ steps.date.outputs.date }}-${{ steps.branch.outputs.branch }}-arm64 | |
| platforms: linux/arm64 |