constellation/.github/actions/e2e_s3proxy/action.yml
2023-11-06 10:21:11 +01:00

77 lines
2.7 KiB
YAML

name: E2E Test s3proxy
description: "Test the s3proxy."
inputs:
kubeconfig:
description: "Kubeconfig to access target cluster"
required: true
s3AccessKey:
description: "Access key for s3proxy"
required: true
s3SecretKey:
description: "Secret key for s3proxy"
required: true
buildBuddyApiKey:
description: "BuildBuddy API key"
required: true
githubToken:
description: "GitHub token"
required: true
runs:
using: "composite"
steps:
- name: Setup bazel
uses: ./.github/actions/setup_bazel_nix
with:
useCache: "true"
buildBuddyApiKey: ${{ inputs.buildBuddyApiKey }}
- name: Get pseudoversion
id: pseudoversion
shell: bash
run: |
bazel build //bazel/settings:tag
echo pseudoversion=$(cat ./bazel-bin/bazel/settings/_tag.tags.txt) | tee -a "$GITHUB_OUTPUT"
- name: Log in to the Container registry
uses: ./.github/actions/container_registry_login
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ inputs.githubToken }}
- name: Build and push s3proxy image
id: s3proxybuild
shell: bash
run: |
bazel run //bazel/release:s3proxy_push
echo s3proxyImage=$(cat ./bazel-bin/bazel/release/s3proxy_tag.txt) | tee -a "$GITHUB_OUTPUT"
- name: Setup s3proxy
shell: bash
env:
KUBECONFIG: ${{ inputs.kubeconfig }}
S3_PROXY_IMAGE: ${{ steps.s3proxybuild.outputs.s3proxyImage }}
AWS_ACCESS_KEY_ID: ${{ inputs.s3AccessKey }}
AWS_SECRET_ACCESS_KEY: ${{ inputs.s3SecretKey }}
run: |
sed -i "s|AWS_ACCESS_KEY_ID: \"replaceme\"|AWS_ACCESS_KEY_ID: \"${AWS_ACCESS_KEY_ID}\"|g" s3proxy/deploy/deployment-s3proxy.yaml
sed -i "s|AWS_SECRET_ACCESS_KEY: \"replaceme\"|AWS_SECRET_ACCESS_KEY: \"${AWS_SECRET_ACCESS_KEY}\"|g" s3proxy/deploy/deployment-s3proxy.yaml
sed -i "s|image: ghcr.io/edgelesssys/constellation/s3proxy:v.*|image: \"${S3_PROXY_IMAGE}\"|g" s3proxy/deploy/deployment-s3proxy.yaml
yq eval -i '(select(.spec.template.spec.containers.[].name == "s3proxy").spec.template.spec.containers.[].args) = ["--level=-1","--allow-multipart"]' s3proxy/deploy/deployment-s3proxy.yaml
kubectl apply -f s3proxy/deploy/deployment-s3proxy.yaml
- name: Run mint
shell: bash
env:
KUBECONFIG: ${{ inputs.kubeconfig }}
ACCESS_KEY: ${{ inputs.s3AccessKey }}
SECRET_KEY: ${{ inputs.s3SecretKey }}
IMAGE: "ghcr.io/edgelesssys/mint:v1.99.0@sha256:96a059733087ec0bcf2c808406a626da2ffefe8e7c7cac786907b1b35b892234" # renovate:mint-fork
run: |
./s3proxy/e2e/deploy.sh "$IMAGE"