gProfiler 1.32.0 (#827) #60
Workflow file for this run
This file contains 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: Build gProfiler container & deploy | |
on: | |
push: | |
tags: | |
- '**' | |
jobs: | |
build-docker-x64: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
submodules: true | |
- name: Get and verify tag value | |
run: ./scripts/verify_tag.sh | |
- name: Login to DockerHub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v1 | |
# TODO: Add docker layer caching when GitHub Actions cache is stabilized and works good with "satackey/[email protected]" | |
- name: Build and push | |
run: | | |
set -x | |
export DOCKER_BUILDKIT=1 | |
BASE_IMAGE="${{ env.GH_REPO }}:${{ env.RELEASE_VERSION }}" | |
LATEST_IMAGE="${{ env.GH_REPO }}:latest" | |
X86_64_IMAGE="$BASE_IMAGE-x86_64" | |
# build & push x86_64 | |
./scripts/build_x86_64_container.sh -t "$X86_64_IMAGE" | |
docker push "$X86_64_IMAGE" | |
build-docker-aarch64: | |
runs-on: ["self-hosted", "ARM64"] | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
submodules: true | |
- name: Set up runner requirements | |
run: scripts/setup_runner_requirements.sh | |
- name: Get and verify tag value | |
run: ./scripts/verify_tag.sh | |
- name: Login to DockerHub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v1 | |
# TODO: Add docker layer caching when GitHub Actions cache is stabilized and works good with "satackey/[email protected]" | |
- name: Build and push | |
run: | | |
set -x | |
export DOCKER_BUILDKIT=1 | |
BASE_IMAGE="${{ env.GH_REPO }}:${{ env.RELEASE_VERSION }}" | |
LATEST_IMAGE="${{ env.GH_REPO }}:latest" | |
AARCH64_IMAGE="$BASE_IMAGE-aarch64" | |
# build & push Aarch64 | |
./scripts/build_aarch64_container.sh -t "$AARCH64_IMAGE" --push | |
push-manifest: | |
runs-on: ubuntu-latest | |
needs: | |
- build-docker-x64 | |
- build-docker-aarch64 | |
steps: | |
# needed to set up env.GH_REPO etc | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
submodules: true | |
- name: Get and verify tag value | |
run: ./scripts/verify_tag.sh | |
- name: Login to DockerHub | |
uses: docker/login-action@v1 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v1 | |
- name: Push manifest | |
run: | | |
set -x | |
export DOCKER_BUILDKIT=1 | |
BASE_IMAGE="${{ env.GH_REPO }}:${{ env.RELEASE_VERSION }}" | |
LATEST_IMAGE="${{ env.GH_REPO }}:latest" | |
AARCH64_IMAGE="$BASE_IMAGE-aarch64" | |
X86_64_IMAGE="$BASE_IMAGE-x86_64" | |
docker pull $AARCH64_IMAGE | |
docker pull $X86_64_IMAGE | |
# create manifests for the tag + for 'latest' | |
docker manifest create "$BASE_IMAGE" "$X86_64_IMAGE" "$AARCH64_IMAGE" | |
docker manifest push "$BASE_IMAGE" | |
docker manifest create "$LATEST_IMAGE" "$X86_64_IMAGE" "$AARCH64_IMAGE" | |
docker manifest push "$LATEST_IMAGE" |