Skip to content

feat(dockerfiles/cd): add builder image for ng-monitoring #51

feat(dockerfiles/cd): add builder image for ng-monitoring

feat(dockerfiles/cd): add builder image for ng-monitoring #51

name: Pull test for CD builder images
on:
pull_request:
branches:
- main
paths:
- "dockerfiles/cd/builders/**/Dockerfile"
- "dockerfiles/cd/builders/**/*.Dockerfile"
- "dockerfiles/cd/builders/skaffold.yaml"
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
skaffold:
name: build images with skaffold
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
strategy:
matrix:
module: [builder-go, builder-others, builder-others-fips, builder-others-slow]
go-profile: [go-1.21, go-1.20, go-1.19]
builder-profile: [local-docker]
platform: [linux/amd64, linux/arm64]
exclude:
- module: builder-others
go-profile: go-1.20
- module: builder-others
go-profile: go-1.19
- module: builder-others-fips
go-profile: go-1.20
- module: builder-others-fips
go-profile: go-1.19
- module: builder-others-slow
go-profile: go-1.20
- module: builder-others-slow
go-profile: go-1.19
steps:
- name: Checkout sources
uses: actions/checkout@v4
# https://github.com/docker/setup-qemu-action
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
# https://github.com/docker/setup-buildx-action
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
- name: Log in to the Container registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Setup skaffold
run: |
curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v2.8.0/skaffold-linux-amd64 && \
sudo install skaffold /usr/local/bin/
- name: Cache layers
uses: actions/cache@v3
with:
path: "~/.skaffold/cache"
key: skaffold/${{ matrix.platform }}/cd/${{ matrix.module }}/${{ matrix.go-profile }}-${{ github.sha }}
restore-keys: |
skaffold/${{ matrix.platform }}/cd/${{ matrix.module }}/${{ matrix.go-profile }}-
skaffold/${{ matrix.platform }}/cd/${{ matrix.module }}/
- name: Build images
working-directory: dockerfiles/cd/builders
run: |
skaffold build \
--build-concurrency 1 \
--cache-artifacts \
--default-repo ghcr.io/pingcap-qe/cd/builders \
--module ${{ matrix.module }} \
--platform ${{ matrix.platform }} \
--profile ${{ matrix.go-profile }},${{ matrix.builder-profile }} \
--push=false