test other executors #18
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 Sandbox image | |
on: | |
push: | |
branches: | |
- sandbox/** | |
- ci/sanbox-flow | |
paths-ignore: | |
- 'docs/**' | |
env: | |
ALPINE_IMAGE: alpine:3.19.0 | |
BUSYBOX_IMAGE: busybox:1.36.1-musl | |
jobs: | |
api: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up Docker Buildx | |
id: buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Set-up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: stable | |
cache: false | |
- name: Go Cache | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/go/pkg/mod | |
~/.cache/go-build | |
key: testkube-api-go-${{ hashFiles('**/go.sum') }} | |
- name: Login to DockerHub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- id: commit | |
uses: prompt/actions-commit-hash@v3 | |
- name: Get branch name | |
run: | | |
# Extract everything after the first slash | |
branch_identifier=$(echo "$GITHUB_REF_NAME" | cut -d'/' -f2-) | |
# Replace slashes with dashes using sed | |
echo branch_identifier=$(echo "$branch_identifier" | sed 's/\//-/g') >> $GITHUB_ENV | |
- name: Release | |
uses: goreleaser/goreleaser-action@v5 | |
with: | |
distribution: goreleaser | |
version: latest | |
args: release -f goreleaser_files/.goreleaser-docker-build-api.yml --snapshot | |
env: | |
GITHUB_TOKEN: ${{ secrets.CI_BOT_TOKEN }} | |
ANALYTICS_TRACKING_ID: ${{secrets.TESTKUBE_API_GA_MEASUREMENT_ID}} | |
ANALYTICS_API_KEY: ${{secrets.TESTKUBE_API_GA_MEASUREMENT_SECRET}} | |
SLACK_BOT_CLIENT_ID: ${{secrets.TESTKUBE_SLACK_BOT_CLIENT_ID}} | |
SLACK_BOT_CLIENT_SECRET: ${{secrets.TESTKUBE_SLACK_BOT_CLIENT_SECRET}} | |
SEGMENTIO_KEY: ${{secrets.TESTKUBE_API_SEGMENTIO_KEY}} | |
CLOUD_SEGMENTIO_KEY: ${{secrets.TESTKUBE_API_CLOUD_SEGMENTIO_KEY}} | |
DOCKER_BUILDX_BUILDER: "${{ steps.buildx.outputs.name }}" | |
DOCKER_BUILDX_CACHE_FROM: "type=gha" | |
DOCKER_BUILDX_CACHE_TO: "type=gha,mode=max" | |
ALPINE_IMAGE: ${{ env.ALPINE_IMAGE }} | |
BUSYBOX_IMAGE: ${{ env.BUSYBOX_IMAGE }} | |
BRANCH_IDENTIFIER: ${{ env.branch_identifier }} | |
IMAGE_TAG_SHA: true | |
SANDBOX_IMAGE: true | |
- name: Push Docker images | |
run: | | |
docker push kubeshop/testkube-sandbox:api-${{ env.branch_identifier }}-${{ steps.commit.outputs.short }} | |
testworkflow: | |
strategy: | |
matrix: | |
service: [testworkflow-init, testworkflow-toolkit] | |
include: | |
- service: testworkflow-init | |
repository: testkube-tw-init | |
- service: testworkflow-toolkit | |
repository: testkube-tw-toolkit | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up Docker Buildx | |
id: buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Set-up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: stable | |
cache: false | |
- name: Go Cache | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/go/pkg/mod | |
~/.cache/go-build | |
key: ${{ matrix.service }}-go-${{ hashFiles('**/go.sum') }} | |
- name: Login to DockerHub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- id: commit | |
uses: prompt/actions-commit-hash@v3 | |
- name: Get branch name | |
run: | | |
# Extract everything after the first slash | |
branch_identifier=$(echo "$GITHUB_REF_NAME" | cut -d'/' -f2-) | |
# Replace slashes with dashes using sed | |
echo branch_identifier=$(echo "$branch_identifier" | sed 's/\//-/g') >> $GITHUB_ENV | |
- name: Release | |
uses: goreleaser/goreleaser-action@v5 | |
with: | |
distribution: goreleaser | |
version: latest | |
args: release -f goreleaser_files/.goreleaser-docker-build-testworkflow.yml --snapshot | |
env: | |
GITHUB_TOKEN: ${{ secrets.CI_BOT_TOKEN }} | |
ANALYTICS_TRACKING_ID: ${{secrets.TESTKUBE_API_GA_MEASUREMENT_ID}} | |
ANALYTICS_API_KEY: ${{secrets.TESTKUBE_API_GA_MEASUREMENT_SECRET}} | |
SLACK_BOT_CLIENT_ID: ${{secrets.TESTKUBE_SLACK_BOT_CLIENT_ID}} | |
SLACK_BOT_CLIENT_SECRET: ${{secrets.TESTKUBE_SLACK_BOT_CLIENT_SECRET}} | |
SEGMENTIO_KEY: ${{secrets.TESTKUBE_API_SEGMENTIO_KEY}} | |
CLOUD_SEGMENTIO_KEY: ${{secrets.TESTKUBE_API_CLOUD_SEGMENTIO_KEY}} | |
DOCKER_BUILDX_BUILDER: "${{ steps.buildx.outputs.name }}" | |
DOCKER_BUILDX_CACHE_FROM: "type=gha" | |
DOCKER_BUILDX_CACHE_TO: "type=gha,mode=max" | |
ALPINE_IMAGE: ${{ env.ALPINE_IMAGE }} | |
BUSYBOX_IMAGE: ${{ env.BUSYBOX_IMAGE }} | |
BRANCH_IDENTIFIER: ${{ env.branch_identifier }} | |
IMAGE_TAG_SHA: true | |
SANDBOX_IMAGE: true | |
SERVICE: ${{ matrix.service }} | |
REPOSITORY: ${{ matrix.repository }} | |
- name: Push Docker images | |
run: | | |
docker push kubeshop/testkube-sandbox:${{ matrix.service }}-${{ env.branch_identifier }}-${{ steps.commit.outputs.short }} | |
single_executor: | |
strategy: | |
matrix: | |
executor: [artillery, curl, example, ginkgo, k6, kubepug, postman, soapui, init, scraper, template, tracetest, zap ] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up Docker Buildx | |
id: buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Set-up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: stable | |
cache: false | |
- name: Go Cache | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/go/pkg/mod | |
~/.cache/go-build | |
key: ${{ matrix.executor }}-go-${{ hashFiles('**/go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-go- | |
- id: commit | |
uses: prompt/actions-commit-hash@v3 | |
- name: Get branch name | |
run: | | |
# Extract everything after the first slash | |
branch_identifier=$(echo "$GITHUB_REF_NAME" | cut -d'/' -f2-) | |
# Replace slashes with dashes using sed | |
echo branch_identifier=$(echo "$branch_identifier" | sed 's/\//-/g') >> $GITHUB_ENV | |
- name: Login to DockerHub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Release | |
uses: goreleaser/goreleaser-action@v5 | |
with: | |
distribution: goreleaser | |
version: latest | |
args: release -f goreleaser_files/.goreleaser-docker-build-executor.yml --snapshot | |
env: | |
GITHUB_TOKEN: ${{ secrets.CI_BOT_TOKEN }} | |
EXECUTOR: ${{ matrix.executor }} | |
DOCKER_BUILDX_BUILDER: "${{ steps.buildx.outputs.name }}" | |
DOCKER_BUILDX_CACHE_FROM: "type=gha" | |
DOCKER_BUILDX_CACHE_TO: "type=gha,mode=max" | |
ALPINE_IMAGE: ${{ env.ALPINE_IMAGE }} | |
BUSYBOX_IMAGE: ${{ env.BUSYBOX_IMAGE }} | |
IMAGE_TAG_SHA: true | |
SANDBOX_IMAGE: true | |
BRANCH_IDENTIFIER: ${{ env.branch_identifier }} | |
- name: Push Docker images | |
run: | | |
docker push kubeshop/testkube-sandbox:${{ matrix.executor }}-${{ env.branch_identifier }}-${{ steps.commit.outputs.short }} | |
executor_jmeter: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up Docker Buildx | |
id: buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Set-up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: stable | |
cache: false | |
- name: Go Cache | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/go/pkg/mod | |
~/.cache/go-build | |
key: jmeter-go-${{ hashFiles('**/go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-go- | |
- name: Login to DockerHub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- id: commit | |
uses: prompt/actions-commit-hash@v3 | |
- name: Get branch name | |
run: | | |
# Extract everything after the first slash | |
branch_identifier=$(echo "$GITHUB_REF_NAME" | cut -d'/' -f2-) | |
# Replace slashes with dashes using sed | |
echo branch_identifier=$(echo "$branch_identifier" | sed 's/\//-/g') >> $GITHUB_ENV | |
- name: Release | |
uses: goreleaser/goreleaser-action@v5 | |
with: | |
distribution: goreleaser | |
version: latest | |
args: release -f goreleaser_files/.goreleaser-docker-build-executor-jmeter.yml --snapshot | |
env: | |
GITHUB_TOKEN: ${{ secrets.CI_BOT_TOKEN }} | |
DOCKER_BUILDX_BUILDER: "${{ steps.buildx.outputs.name }}" | |
DOCKER_BUILDX_CACHE_FROM: "type=gha" | |
DOCKER_BUILDX_CACHE_TO: "type=gha,mode=max" | |
IMAGE_TAG_SHA: true | |
SANDBOX_IMAGE: true | |
BRANCH_IDENTIFIER: ${{ env.branch_identifier }} | |
- name: Push Docker images | |
run: | | |
docker push kubeshop/testkube-sandbox:jmeter-${{ env.branch_identifier }}-${{ steps.commit.outputs.short }} | |
executor_jmeterd: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up Docker Buildx | |
id: buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Set-up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: stable | |
cache: false | |
- name: Go Cache | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/go/pkg/mod | |
~/.cache/go-build | |
key: jmeterd-go-${{ hashFiles('**/go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-go- | |
- name: Login to DockerHub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- id: commit | |
uses: prompt/actions-commit-hash@v3 | |
- name: Get branch name | |
run: | | |
# Extract everything after the first slash | |
branch_identifier=$(echo "$GITHUB_REF_NAME" | cut -d'/' -f2-) | |
# Replace slashes with dashes using sed | |
echo branch_identifier=$(echo "$branch_identifier" | sed 's/\//-/g') >> $GITHUB_ENV | |
- name: Release | |
uses: goreleaser/goreleaser-action@v5 | |
with: | |
distribution: goreleaser | |
version: latest | |
args: release -f goreleaser_files/.goreleaser-docker-build-executor-jmeterd.yml --snapshot | |
env: | |
GITHUB_TOKEN: ${{ secrets.CI_BOT_TOKEN }} | |
DOCKER_BUILDX_BUILDER: "${{ steps.buildx.outputs.name }}" | |
DOCKER_BUILDX_CACHE_FROM: "type=gha" | |
DOCKER_BUILDX_CACHE_TO: "type=gha,mode=max" | |
IMAGE_TAG_SHA: true | |
SANDBOX_IMAGE: true | |
BRANCH_IDENTIFIER: ${{ env.branch_identifier }} | |
- name: Push Docker images | |
run: | | |
docker push kubeshop/testkube-sandbox:jmeterd-${{ env.branch_identifier }}-${{ steps.commit.outputs.short }} | |
jmeterd_slave: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up Docker Buildx | |
id: buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Docker Cache | |
uses: actions/cache@v4 | |
with: | |
path: /tmp/.buildx-cache | |
key: ${{ runner.os }}-buildx-${{ github.sha }} | |
restore-keys: | | |
${{ runner.os }}-buildx- | |
- id: commit | |
uses: prompt/actions-commit-hash@v3 | |
- name: Get branch name | |
run: | | |
# Extract everything after the first slash | |
branch_identifier=$(echo "$GITHUB_REF_NAME" | cut -d'/' -f2-) | |
# Replace slashes with dashes using sed | |
echo branch_identifier=$(echo "$branch_identifier" | sed 's/\//-/g') >> $GITHUB_ENV | |
- name: Login to DockerHub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Build and push | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./contrib/executor/jmeterd/build/slaves/Dockerfile | |
push: true | |
tags: kubeshop/testkube-sanbox:jmeterd-slave-${{ env.branch_identifier }}-${{ steps.commit.outputs.short }} | |
platforms: linux/amd64,linux/arm64 | |
executor_maven: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up Docker Buildx | |
id: buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Set-up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: stable | |
cache: false | |
- name: Go Cache | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/go/pkg/mod | |
~/.cache/go-build | |
key: maven-go-${{ hashFiles('**/go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-go- | |
- name: Login to DockerHub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- id: commit | |
uses: prompt/actions-commit-hash@v3 | |
- name: Get branch name | |
run: | | |
# Extract everything after the first slash | |
branch_identifier=$(echo "$GITHUB_REF_NAME" | cut -d'/' -f2-) | |
# Replace slashes with dashes using sed | |
echo branch_identifier=$(echo "$branch_identifier" | sed 's/\//-/g') >> $GITHUB_ENV | |
- name: Release | |
uses: goreleaser/goreleaser-action@v5 | |
with: | |
distribution: goreleaser | |
version: latest | |
args: release -f goreleaser_files/.goreleaser-docker-build-executor-maven.yml --snapshot | |
env: | |
GITHUB_TOKEN: ${{ secrets.CI_BOT_TOKEN }} | |
DOCKER_BUILDX_BUILDER: "${{ steps.buildx.outputs.name }}" | |
DOCKER_BUILDX_CACHE_FROM: "type=gha" | |
DOCKER_BUILDX_CACHE_TO: "type=gha,mode=max" | |
IMAGE_TAG_SHA: true | |
SANDBOX_IMAGE: true | |
BRANCH_IDENTIFIER: ${{ env.branch_identifier }} | |
- name: Push Docker images | |
run: | | |
docker push kubeshop/testkube-sandbox:maven-${{ env.branch_identifier }}-${{ steps.commit.outputs.short }} | |
# | |
# executor_gradle: | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: Free Disk Space (Ubuntu) | |
# uses: jlumbroso/free-disk-space@main | |
# with: | |
# # this might remove tools that are actually needed, | |
# # if set to "true" but frees about 6 GB | |
# tool-cache: false | |
# | |
# - name: Free Disk Space (Ubuntu) | |
# uses: jlumbroso/free-disk-space@main | |
# with: | |
# # this might remove tools that are actually needed, | |
# # if set to "true" but frees about 6 GB | |
# tool-cache: false | |
# | |
# - name: Checkout | |
# uses: actions/checkout@v4 | |
# | |
# - name: Set up Docker Buildx | |
# id: buildx | |
# uses: docker/setup-buildx-action@v3 | |
# | |
# - name: Set-up Go | |
# uses: actions/setup-go@v5 | |
# with: | |
# go-version: stable | |
# cache: false | |
# | |
# - name: Go Cache | |
# uses: actions/cache@v4 | |
# with: | |
# path: | | |
# ~/go/pkg/mod | |
# ~/.cache/go-build | |
# key: gradle-go-${{ hashFiles('**/go.sum') }} | |
# restore-keys: | | |
# ${{ runner.os }}-go- | |
# | |
# - name: Login to DockerHub | |
# uses: docker/login-action@v3 | |
# with: | |
# username: ${{ secrets.DOCKERHUB_USERNAME }} | |
# password: ${{ secrets.DOCKERHUB_TOKEN }} | |
# | |
# - id: commit | |
# uses: prompt/actions-commit-hash@v3 | |
# | |
# - name: Release | |
# uses: goreleaser/goreleaser-action@v5 | |
# with: | |
# distribution: goreleaser | |
# version: latest | |
# args: release -f goreleaser_files/.goreleaser-docker-build-executor-gradle.yml --snapshot | |
# env: | |
# GITHUB_TOKEN: ${{ secrets.CI_BOT_TOKEN }} | |
# DOCKER_BUILDX_BUILDER: "${{ steps.buildx.outputs.name }}" | |
# DOCKER_BUILDX_CACHE_FROM: "type=gha" | |
# DOCKER_BUILDX_CACHE_TO: "type=gha,mode=max" | |
# IMAGE_TAG_SHA: true | |
# | |
# - name: Push Docker images | |
# run: | | |
# docker push kubeshop/testkube-gradle-executor:${{ steps.commit.outputs.short }} | |
# | |
# executor_cypress: | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: Free Disk Space (Ubuntu) | |
# uses: jlumbroso/free-disk-space@main | |
# with: | |
# # this might remove tools that are actually needed, | |
# # if set to "true" but frees about 6 GB | |
# tool-cache: false | |
# | |
# - name: Checkout | |
# uses: actions/checkout@v4 | |
# | |
# - name: Set up Docker Buildx | |
# id: buildx | |
# uses: docker/setup-buildx-action@v3 | |
# | |
# - name: Set-up Go | |
# uses: actions/setup-go@v5 | |
# with: | |
# go-version: stable | |
# cache: false | |
# | |
# - name: Go Cache | |
# uses: actions/cache@v4 | |
# with: | |
# path: | | |
# ~/go/pkg/mod | |
# ~/.cache/go-build | |
# key: cypress-go-${{ hashFiles('**/go.sum') }} | |
# restore-keys: | | |
# ${{ runner.os }}-go- | |
# | |
# - name: Login to DockerHub | |
# uses: docker/login-action@v3 | |
# with: | |
# username: ${{ secrets.DOCKERHUB_USERNAME }} | |
# password: ${{ secrets.DOCKERHUB_TOKEN }} | |
# | |
# - id: commit | |
# uses: prompt/actions-commit-hash@v3 | |
# | |
# - name: Release | |
# uses: goreleaser/goreleaser-action@v5 | |
# with: | |
# distribution: goreleaser | |
# version: latest | |
# args: release -f goreleaser_files/.goreleaser-docker-build-executor-cypress-commit-only.yml --snapshot | |
# env: | |
# GITHUB_TOKEN: ${{ secrets.CI_BOT_TOKEN }} | |
# DOCKER_BUILDX_BUILDER: "${{ steps.buildx.outputs.name }}" | |
# DOCKER_BUILDX_CACHE_FROM: "type=gha" | |
# DOCKER_BUILDX_CACHE_TO: "type=gha,mode=max" | |
# | |
# - name: Push image to the Registry | |
# run: | | |
# docker push kubeshop/testkube-cypress-executor:${{ steps.commit.outputs.short }} | |
# | |
# executor_playwright: | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: Free Disk Space (Ubuntu) | |
# uses: jlumbroso/free-disk-space@main | |
# with: | |
# # this might remove tools that are actually needed, | |
# # if set to "true" but frees about 6 GB | |
# tool-cache: false | |
# | |
# - name: Checkout | |
# uses: actions/checkout@v4 | |
# | |
# - name: Set up Docker Buildx | |
# id: buildx | |
# uses: docker/setup-buildx-action@v3 | |
# | |
# - name: Set-up Go | |
# uses: actions/setup-go@v5 | |
# with: | |
# go-version: stable | |
# cache: false | |
# | |
# - name: Go Cache | |
# uses: actions/cache@v4 | |
# with: | |
# path: | | |
# ~/go/pkg/mod | |
# ~/.cache/go-build | |
# key: playwright-go-${{ hashFiles('**/go.sum') }} | |
# restore-keys: | | |
# ${{ runner.os }}-go- | |
# | |
# - name: Login to DockerHub | |
# uses: docker/login-action@v3 | |
# with: | |
# username: ${{ secrets.DOCKERHUB_USERNAME }} | |
# password: ${{ secrets.DOCKERHUB_TOKEN }} | |
# | |
# - id: commit | |
# uses: prompt/actions-commit-hash@v3 | |
# | |
# - name: Release | |
# uses: goreleaser/goreleaser-action@v5 | |
# with: | |
# distribution: goreleaser | |
# version: latest | |
# args: release -f goreleaser_files/.goreleaser-docker-build-executor-playwright.yml --snapshot | |
# env: | |
# GITHUB_TOKEN: ${{ secrets.CI_BOT_TOKEN }} | |
# DOCKER_BUILDX_BUILDER: "${{ steps.buildx.outputs.name }}" | |
# DOCKER_BUILDX_CACHE_FROM: "type=gha" | |
# DOCKER_BUILDX_CACHE_TO: "type=gha,mode=max" | |
# IMAGE_TAG_SHA: true | |
# | |
# - name: Push image to the Registry | |
# run: | | |
# docker push kubeshop/testkube-playwright-executor:${{ steps.commit.outputs.short }} | |
# | |
# executor_postman_node21: | |
# runs-on: ubuntu-latest | |
# steps: | |
# - name: Free Disk Space (Ubuntu) | |
# uses: jlumbroso/free-disk-space@main | |
# with: | |
# # this might remove tools that are actually needed, | |
# # if set to "true" but frees about 6 GB | |
# tool-cache: false | |
# | |
# - name: Checkout | |
# uses: actions/checkout@v4 | |
# | |
# - name: Set up Docker Buildx | |
# id: buildx | |
# uses: docker/setup-buildx-action@v3 | |
# | |
# - name: Set-up Go | |
# uses: actions/setup-go@v5 | |
# with: | |
# go-version: ${{ env.GO_VERSION }} | |
# cache: false | |
# | |
# - name: Go Cache | |
# uses: actions/cache@v4 | |
# with: | |
# path: | | |
# ~/go/pkg/mod | |
# ~/.cache/go-build | |
# key: postman-node-go-${{ hashFiles('**/go.sum') }} | |
# restore-keys: | | |
# ${{ runner.os }}-go- | |
# | |
# - name: Login to DockerHub | |
# uses: docker/login-action@v3 | |
# with: | |
# username: ${{ secrets.DOCKERHUB_USERNAME }} | |
# password: ${{ secrets.DOCKERHUB_TOKEN }} | |
# | |
# - id: commit | |
# uses: prompt/actions-commit-hash@v3 | |
# | |
# - name: Release | |
# uses: goreleaser/goreleaser-action@v5 | |
# with: | |
# distribution: goreleaser | |
# version: latest | |
# args: release -f goreleaser_files/.goreleaser-docker-build-executor-postman-node21.yml --snapshot | |
# env: | |
# GITHUB_TOKEN: ${{ secrets.CI_BOT_TOKEN }} | |
# DOCKER_BUILDX_BUILDER: "${{ steps.buildx.outputs.name }}" | |
# DOCKER_BUILDX_CACHE_FROM: "type=gha" | |
# DOCKER_BUILDX_CACHE_TO: "type=gha,mode=max" | |
# IMAGE_TAG_SHA: true | |
# | |
# - name: Push image to the Registry | |
# run: | | |
# docker push kubeshop/testkube-postman-executor:node21-${{ steps.commit.outputs.short }}-arm64v8 | |
# docker push kubeshop/testkube-postman-executor:node21-${{ steps.commit.outputs.short }}-amd64 | |
# | |
# docker manifest create kubeshop/testkube-postman-executor:node21-${{ steps.commit.outputs.short }} --amend kubeshop/testkube-postman-executor:node21-${{ steps.commit.outputs.short }}-arm64v8 --amend kubeshop/testkube-postman-executor:node21-${{ steps.commit.outputs.short }}-amd64 | |
# docker manifest push -p kubeshop/testkube-postman-executor:node21-${{ steps.commit.outputs.short }} | |
# | |
log_server_sidecar: | |
strategy: | |
matrix: | |
service: [ logs-server, logs-sidecar ] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Set up Docker Buildx | |
id: buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: stable | |
- name: Go Cache | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/go/pkg/mod | |
~/.cache/go-build | |
key: ${{ matrix.service }}-go-${{ hashFiles('**/go.sum') }} | |
restore-keys: | | |
${{ runner.os }}-go- | |
- name: Login to DockerHub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_TOKEN }} | |
- id: commit | |
uses: prompt/actions-commit-hash@v3 | |
- name: Get branch name | |
run: | | |
# Extract everything after the first slash | |
branch_identifier=$(echo "$GITHUB_REF_NAME" | cut -d'/' -f2-) | |
# Replace slashes with dashes using sed | |
echo branch_identifier=$(echo "$branch_identifier" | sed 's/\//-/g') >> $GITHUB_ENV | |
- name: Run GoReleaser | |
uses: goreleaser/goreleaser-action@v5 | |
with: | |
distribution: goreleaser | |
version: latest | |
args: release -f ./goreleaser_files/.goreleaser-docker-build-logs-services.yml --snapshot | |
env: | |
GITHUB_TOKEN: ${{ secrets.CI_BOT_TOKEN }} | |
GORELEASER_KEY: ${{ secrets.GORELEASER_KEY }} | |
DOCKER_BUILDX_BUILDER: "${{ steps.buildx.outputs.name }}" | |
DOCKER_BUILDX_CACHE_FROM: "type=gha" | |
DOCKER_BUILDX_CACHE_TO: "type=gha,mode=max" | |
ALPINE_IMAGE: ${{ env.ALPINE_IMAGE }} | |
BUSYBOX_IMAGE: ${{ env.BUSYBOX_IMAGE }} | |
SERVICE: ${{ matrix.service }} | |
IMAGE_TAG_SHA: true | |
SANDBOX_IMAGE: true | |
BRANCH_IDENTIFIER: ${{ env.branch_identifier }} | |
- name: Push Docker images | |
run: | | |
docker images | |
docker push kubeshop/testkube-sandbox:${{ matrix.service }}-${{ env.branch_identifier }}-${{ steps.commit.outputs.short }} |