Skip to content

chore(main): release 24.6.0 (#1196) #171

chore(main): release 24.6.0 (#1196)

chore(main): release 24.6.0 (#1196) #171

Workflow file for this run

name: docker
on:
push:
branches:
- main
# For testing:
# pull_request:
jobs:
build-and-push-server:
strategy:
matrix:
include:
# TODO(RVT-4479): Add back ARM builder once manifest generation fixed
# - platform: linux/arm64
# runner: [self-hosted, Linux, ARM64]
# arch_suffix: -arm64
- platform: linux/x86_64
runner: [self-hosted, Linux, X64]
# TODO: Replace with appropriate arch_suffix when needed
# arch_suffix: -amd64
arch_suffix: ''
runs-on: ${{ matrix.runner }}
steps:
- name: Setup Docker on macOS
if: runner.os == 'macOS'
uses: douglascamata/setup-docker-macos-action@v1-alpha
- uses: actions/checkout@v4
- name: Set outputs
id: vars
run: echo "sha_short=${GITHUB_SHA::7}" >> $GITHUB_OUTPUT
- uses: ./.github/actions/docker-setup
with:
docker_username: ${{ secrets.DOCKER_CI_USERNAME }}
docker_password: ${{ secrets.DOCKER_CI_ACCESS_TOKEN }}
github_token: ${{ secrets.GITHUB_TOKEN}}
- name: Build & Push (rivetgg/server:full)
uses: docker/build-push-action@v4
with:
context: .
push: true
tags: rivetgg/rivet-server:full-${{ steps.vars.outputs.sha_short }}${{ matrix.arch_suffix }}
file: docker/server/Dockerfile
target: full
platforms: ${{ matrix.platform }}
secret-files: |
netrc=${{ runner.temp }}/netrc
- name: Build & Push (rivetgg/server:slim)
uses: docker/build-push-action@v4
with:
context: .
push: true
tags: rivetgg/rivet-server:slim-${{ steps.vars.outputs.sha_short }}${{ matrix.arch_suffix }}
file: docker/server/Dockerfile
target: slim
platforms: ${{ matrix.platform }}
secret-files: |
netrc=${{ runner.temp }}/netrc
build-and-push-client:
strategy:
matrix:
include:
# TODO(RVT-4168): Compile libfdb from scratch for ARM
# TODO(RVT-4479): Add back ARM builder once manifest generation fixed
# - platform: linux/arm64
# runner: [self-hosted, Linux, ARM64]
# arch_suffix: -arm64
- platform: linux/x86_64
runner: [self-hosted, Linux, X64]
# TODO: Replace with appropriate arch_suffix when needed
# arch_suffix: -amd64
arch_suffix: ''
runs-on: ${{ matrix.runner }}
steps:
- name: Setup Docker on macOS
if: runner.os == 'macOS'
uses: douglascamata/setup-docker-macos-action@v1-alpha
- uses: actions/checkout@v4
- name: Set outputs
id: vars
run: echo "sha_short=${GITHUB_SHA::7}" >> $GITHUB_OUTPUT
- uses: ./.github/actions/docker-setup
with:
docker_username: ${{ secrets.DOCKER_CI_USERNAME }}
docker_password: ${{ secrets.DOCKER_CI_ACCESS_TOKEN }}
github_token: ${{ secrets.GITHUB_TOKEN}}
- name: Build & Push (rivetgg/client:full-runner)
uses: docker/build-push-action@v4
with:
context: .
push: true
tags: rivetgg/rivet-client:full-runner-${{ steps.vars.outputs.sha_short }}${{ matrix.arch_suffix }}
file: docker/client/Dockerfile
target: full-runner
platforms: ${{ matrix.platform }}
secret-files: |
netrc=${{ runner.temp }}/netrc
- name: Build & Push (rivetgg/client:isolate-v8-runner)
uses: docker/build-push-action@v4
with:
context: .
push: true
tags: rivetgg/rivet-client:isolate-v8-runner-${{ steps.vars.outputs.sha_short }}${{ matrix.arch_suffix }}
file: docker/client/Dockerfile
target: isolate-v8-runner
platforms: ${{ matrix.platform }}
secret-files: |
netrc=${{ runner.temp }}/netrc
- name: Build & Push (rivetgg/client:container-runner)
uses: docker/build-push-action@v4
with:
context: .
push: true
tags: rivetgg/rivet-client:container-runner-${{ steps.vars.outputs.sha_short }}${{ matrix.arch_suffix }}
file: docker/client/Dockerfile
target: container-runner
platforms: ${{ matrix.platform }}
secret-files: |
netrc=${{ runner.temp }}/netrc
build-and-push-monolith:
strategy:
matrix:
include:
# TODO(RVT-4168): Compile libfdb from scratch for ARM
# TODO(RVT-4479): Add back ARM builder once manifest generation fixed
# - platform: linux/arm64
# runner: [self-hosted, Linux, ARM64]
# arch_suffix: -arm64
- platform: linux/x86_64
runner: [self-hosted, Linux, X64]
# TODO: Replace with appropriate arch_suffix when needed
# arch_suffix: -amd64
arch_suffix: ''
runs-on: ${{ matrix.runner }}
steps:
- name: Setup Docker on macOS
if: runner.os == 'macOS'
uses: douglascamata/setup-docker-macos-action@v1-alpha
- uses: actions/checkout@v4
- name: Set outputs
id: vars
run: echo "sha_short=${GITHUB_SHA::7}" >> $GITHUB_OUTPUT
- uses: ./.github/actions/docker-setup
with:
docker_username: ${{ secrets.DOCKER_CI_USERNAME }}
docker_password: ${{ secrets.DOCKER_CI_ACCESS_TOKEN }}
github_token: ${{ secrets.GITHUB_TOKEN}}
- name: Build & Push (rivetgg/rivet)
uses: docker/build-push-action@v4
with:
context: .
push: true
tags: rivetgg/rivet:monolith-${{ steps.vars.outputs.sha_short }}${{ matrix.arch_suffix }}
file: docker/monolith/Dockerfile
platforms: ${{ matrix.platform }}
secret-files: |
netrc=${{ runner.temp }}/netrc
# create-manifests:
# needs: [build-and-push-server, build-and-push-client, build-and-push-monolith]
# runs-on: [self-hosted, Linux]
# steps:
# - name: Login to Docker Hub
# uses: docker/login-action@v3
# with:
# username: ${{ secrets.DOCKER_CI_USERNAME }}
# password: ${{ secrets.DOCKER_CI_ACCESS_TOKEN }}
#
# - name: Create and push manifests
# run: |
# # Get short SHA
# GIT_SHA_SHORT=$(git rev-parse --short HEAD)
# echo "Using Git SHA: ${GIT_SHA_SHORT}"
#
# echo "Creating manifests for rivet-server:full..."
# docker pull rivetgg/rivet-server:full-${GIT_SHA_SHORT}-amd64
# docker pull rivetgg/rivet-server:full-${GIT_SHA_SHORT}-arm64
# docker manifest create rivetgg/rivet-server:full-${GIT_SHA_SHORT} \
# rivetgg/rivet-server:full-${GIT_SHA_SHORT}-amd64 \
# rivetgg/rivet-server:full-${GIT_SHA_SHORT}-arm64
# docker manifest push rivetgg/rivet-server:full-${GIT_SHA_SHORT}
# echo "✓ Completed rivet-server:full manifest"
#
# echo "Creating manifests for rivet-server:slim..."
# docker pull rivetgg/rivet-server:slim-${GIT_SHA_SHORT}-amd64
# docker pull rivetgg/rivet-server:slim-${GIT_SHA_SHORT}-arm64
# docker manifest create rivetgg/rivet-server:slim-${GIT_SHA_SHORT} \
# rivetgg/rivet-server:slim-${GIT_SHA_SHORT}-amd64 \
# rivetgg/rivet-server:slim-${GIT_SHA_SHORT}-arm64
# docker manifest push rivetgg/rivet-server:slim-${GIT_SHA_SHORT}
# echo "✓ Completed rivet-server:slim manifest"
#
# echo "Creating manifests for rivet-client variants..."
# for variant in full-runner isolate-v8-runner container-runner; do
# echo "Processing variant: ${variant}"
# docker pull rivetgg/rivet-client:${variant}-${GIT_SHA_SHORT}-amd64
# docker manifest create rivetgg/rivet-client:${variant}-${GIT_SHA_SHORT} \
# rivetgg/rivet-client:${variant}-${GIT_SHA_SHORT}-amd64
# docker manifest push rivetgg/rivet-client:${variant}-${GIT_SHA_SHORT}
# echo "✓ Completed rivet-client:${variant} manifest"
# done
#
# echo "Creating manifest for rivet:monolith..."
# docker pull rivetgg/rivet:monolith-${GIT_SHA_SHORT}-amd64
# docker manifest create rivetgg/rivet:monolith-${GIT_SHA_SHORT} \
# rivetgg/rivet:monolith-${GIT_SHA_SHORT}-amd64
# docker manifest push rivetgg/rivet:monolith-${GIT_SHA_SHORT}
# echo "✓ Completed rivet:monolith manifest"
#
# echo "All manifests created and pushed successfully!"