mirror of
https://github.com/gravitational/teleport
synced 2024-10-20 09:13:39 +00:00
710b7d18ef
- Determine Go version for cache key automatically instead of hardcoding. - Do not build ghcr CI images (etcd and buildboxes) on PRs to avoid unintended breakages. - Only build/push them on push events which mirrors our current Drone setup. We might add ability to trigger them manually via workflow_dispatch events later. - Add release branches pattern for buildbox images trigger as well. - Remove packages: read permission from test jobs since buildbox images are now public. Signed-off-by: Roman Tkachenko <roman@goteleport.com> Co-authored-by: Victor Sokolov <gzigzigzeo@gmail.com>
76 lines
1.9 KiB
YAML
76 lines
1.9 KiB
YAML
name: Build CI Buildbox Images
|
|
run-name: Build CI Buildbox Images
|
|
on:
|
|
push:
|
|
paths:
|
|
- build.assets/Dockerfile
|
|
- build.assets/Dockerfile-centos7
|
|
- build.assets/Makefile
|
|
- build.assets/images.mk
|
|
branches:
|
|
- master
|
|
- branch/**
|
|
|
|
env:
|
|
REGISTRY: ghcr.io
|
|
BUILDBOX_BASE_NAME: ghcr.io/gravitational/teleport-buildbox
|
|
|
|
jobs:
|
|
buildbox:
|
|
name: Build Ubuntu Buildbox
|
|
runs-on: ubuntu-latest
|
|
|
|
permissions:
|
|
contents: read
|
|
packages: write
|
|
|
|
steps:
|
|
- name: Checkout Teleport
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v2
|
|
|
|
- name: Login to registry
|
|
uses: docker/login-action@v2
|
|
with:
|
|
registry: ${{ env.REGISTRY }}
|
|
username: ${{ github.actor }}
|
|
password: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
# We need to keep env vars in sync, so, we can't use standard build actions
|
|
- name: Build buildbox image
|
|
run: cd build.assets && make buildbox
|
|
|
|
- name: Docker push the latest built image
|
|
run: docker push $(docker images -a --format '{{.Repository}}:{{.Tag}}'| head -1)
|
|
|
|
buildbox-centos7:
|
|
name: Build CentOS 7 Buildbox
|
|
runs-on: ubuntu-latest
|
|
|
|
permissions:
|
|
contents: read
|
|
packages: write
|
|
|
|
steps:
|
|
- name: Checkout Teleport
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v2
|
|
|
|
- name: Login to registry
|
|
uses: docker/login-action@v2
|
|
with:
|
|
registry: ${{ env.REGISTRY }}
|
|
username: ${{ github.actor }}
|
|
password: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
# We need to keep env vars in sync, so, we can't use standard build actions
|
|
- name: Build buildbox image
|
|
run: cd build.assets && make buildbox-centos7
|
|
|
|
- name: Docker push the latest built image
|
|
run: docker push $(docker images -a --format '{{.Repository}}:{{.Tag}}'| head -1)
|