Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
94 commits
Select commit Hold shift + click to select a range
f4d246a
feat: add privacy proxy into garnet monorepo
ahmedmarzougui-enclaive May 15, 2026
af8ac4a
ci: test combined pipeline
ahmedmarzougui-enclaive May 15, 2026
fdbabc1
ci: add combined proxy + webui pipeline
ahmedmarzougui-enclaive May 15, 2026
a93e248
ci: trigger pipeline test
ahmedmarzougui-enclaive May 15, 2026
adf5044
ci: fix combined pipeline — correct branch + paths
ahmedmarzougui-enclaive May 15, 2026
bdaa44a
feat: combined pipeline + version detection
ahmedmarzougui-enclaive May 18, 2026
c6c82ba
ci: test combined pipeline
ahmedmarzougui-enclaive May 18, 2026
25eb5c2
fix: upgrade libcap2 libsystemd0 libudev1 — CVE fixes
ahmedmarzougui-enclaive May 18, 2026
9a6488d
delete tests
ahmedmarzougui-enclaive May 18, 2026
b9885eb
ci: retest pipeline after CVM_HOST fix
ahmedmarzougui-enclaive May 18, 2026
a3a5b78
chore: ignore cosign private key
ahmedmarzougui-enclaive May 18, 2026
f5228c0
ci: enable cosign image signing
ahmedmarzougui-enclaive May 18, 2026
93ab3be
ci: test cosign signing
ahmedmarzougui-enclaive May 18, 2026
1d4d30d
ci: enable cosign image signing
ahmedmarzougui-enclaive May 18, 2026
a7cf0ae
ci: test cosign signing
ahmedmarzougui-enclaive May 18, 2026
db24a73
ci: add buildx cache + digest-based cosign
ahmedmarzougui-enclaive May 18, 2026
6b23951
ci: test webui pipeline
ahmedmarzougui-enclaive May 18, 2026
795f169
ci: test webui pipeline
ahmedmarzougui-enclaive May 18, 2026
bd1e22e
fix: catch stream TransferEncodingError, bump timeout to 600s
ahmedmarzougui-enclaive May 18, 2026
5db92c4
ci: test webui pipeline
ahmedmarzougui-enclaive May 18, 2026
2d10dc1
ci: test webui pipeline
ahmedmarzougui-enclaive May 18, 2026
21af429
ci: add sleep before webui cosign
ahmedmarzougui-enclaive May 18, 2026
a331145
ci: add sleep before webui cosign
ahmedmarzougui-enclaive May 18, 2026
ecec5a4
feat: add docker-compose with network isolation + env secrets
ahmedmarzougui-enclaive May 18, 2026
61b81e6
fix: switch aiter_lines to aiter_bytes to fix TransferEncodingError
ahmedmarzougui-enclaive May 18, 2026
f48eba5
ci: release v2
ahmedmarzougui-enclaive May 19, 2026
a88674e
release: v2
ahmedmarzougui-enclaive May 19, 2026
f3b5fce
release: v2
ahmedmarzougui-enclaive May 19, 2026
8b25fe4
release: v2
ahmedmarzougui-enclaive May 19, 2026
03d698a
test: trigger proxy pipeline
ahmedmarzougui-enclaive May 19, 2026
fcc78f0
test: trigger webui pipeline
ahmedmarzougui-enclaive May 19, 2026
effde70
fix: delete env from docker compse
ahmedmarzougui-enclaive May 19, 2026
714c7e7
fix add python pip test
ahmedmarzougui-enclaive May 19, 2026
117eabc
fix add python pip test
ahmedmarzougui-enclaive May 19, 2026
91c5b9f
test: add full test suite
ahmedmarzougui-enclaive May 19, 2026
71d9d1a
fix : delete severity arg
ahmedmarzougui-enclaive May 19, 2026
bda4ae1
add tests
ahmedmarzougui-enclaive May 19, 2026
3c2b4d3
add tests
ahmedmarzougui-enclaive May 19, 2026
ddd6b94
add tests
ahmedmarzougui-enclaive May 19, 2026
cfcf209
ci: trigger pipeline
ahmedmarzougui-enclaive May 19, 2026
09e454d
fix: pip-audit remove exit-code flag
ahmedmarzougui-enclaive May 19, 2026
e48fda0
ci: trigger pipeline
ahmedmarzougui-enclaive May 19, 2026
f4fb719
seperate tests
ahmedmarzougui-enclaive May 19, 2026
834a8f8
seperate tests
ahmedmarzougui-enclaive May 19, 2026
e480afd
seperate tests
ahmedmarzougui-enclaive May 19, 2026
72dc280
seperate tests
ahmedmarzougui-enclaive May 19, 2026
8a44210
seperate tests
ahmedmarzougui-enclaive May 19, 2026
00d21a1
test: trigger proxy pipeline
ahmedmarzougui-enclaive May 19, 2026
8fc2136
test: trigger proxy pipeline
ahmedmarzougui-enclaive May 20, 2026
227ef95
zie trivy trivy timeout
ahmedmarzougui-enclaive May 20, 2026
5922765
test: trigger proxy pipeline
ahmedmarzougui-enclaive May 20, 2026
299976f
add syft sbom
ahmedmarzougui-enclaive May 20, 2026
0a8d70b
test: trigger proxy pipeline
ahmedmarzougui-enclaive May 20, 2026
de3bd32
fix artefacts sbom
ahmedmarzougui-enclaive May 20, 2026
0205434
local sbom
ahmedmarzougui-enclaive May 20, 2026
5abb6bb
test: trigger proxy pipeline
ahmedmarzougui-enclaive May 20, 2026
0f4bdbf
add approval for prod env
ahmedmarzougui-enclaive May 20, 2026
0f1fe34
test: workflow approval
ahmedmarzougui-enclaive May 20, 2026
437fb22
delte branches
ahmedmarzougui-enclaive May 20, 2026
b161bcc
delte branches
ahmedmarzougui-enclaive May 20, 2026
bc2e680
fix: raise score_threshold to 0.5 reduce false positives
ahmedmarzougui-enclaive May 20, 2026
2e1d066
fix: use checkoutv4
ahmedmarzougui-enclaive May 20, 2026
9f5623c
fix: use SHA in checkout
ahmedmarzougui-enclaive May 20, 2026
d8d55aa
fix diff problem
ahmedmarzougui-enclaive May 20, 2026
e9adc75
fix off cosign ins
ahmedmarzougui-enclaive May 20, 2026
bc5e3d3
test: trigger proxy pipeline
ahmedmarzougui-enclaive May 20, 2026
f685281
remove deploy jobs
ahmedmarzougui-enclaive May 20, 2026
40f9076
fix: correct /v1/responses body format for gpt-5.5
ahmedmarzougui-enclaive May 21, 2026
6bd51f5
fix: internal prompts bypass responses API for gpt-5.5
ahmedmarzougui-enclaive May 21, 2026
076cbfa
fix: split aiter_bytes chunks by newline for gpt-5.5 SSE parsing
ahmedmarzougui-enclaive May 21, 2026
430be3d
fix: revert to aiter_lines + fix gpt-5.5 internal prompts routing
ahmedmarzougui-enclaive May 21, 2026
d29a33b
remove stray // test comment
ahmedmarzougui-enclaive May 21, 2026
10f363d
fix: strip response_format for gpt-image-1 image generation
ahmedmarzougui-enclaive May 22, 2026
a0723e9
fix: raise ORGANIZATION score threshold to 0.85 to prevent product na…
ahmedmarzougui-enclaive May 24, 2026
55d70f0
fix: filter false positive ORG detection - lowercase start + score th…
ahmedmarzougui-enclaive May 24, 2026
94d4239
fix: return JSON response when stream=False for image prompt generation
ahmedmarzougui-enclaive May 25, 2026
f199a3d
retry: fix stream=False image gen
ahmedmarzougui-enclaive May 25, 2026
bc828ed
fix: return JSON when stream=False + retry push
ahmedmarzougui-enclaive May 25, 2026
5ffa6b5
fix: return JSON when stream=False + retry push
ahmedmarzougui-enclaive May 25, 2026
a29753d
fix: return JSON when stream=False + retry push
ahmedmarzougui-enclaive May 25, 2026
ee3f86b
fix: use inline cache to avoid harbor blob conflict
ahmedmarzougui-enclaive May 25, 2026
e2767d2
fix: return JSON when stream=False + retry push
ahmedmarzougui-enclaive May 25, 2026
e5b43b8
fix: return JSON when stream=False + retry push2
ahmedmarzougui-enclaive May 25, 2026
c430e52
fix: return JSON response when stream=False for image prompt generation
ahmedmarzougui-enclaive May 25, 2026
0727f8a
fix: use OPENAI_API_BASE_URL env var for /analyze hostname
ahmedmarzougui-enclaive May 26, 2026
eef251e
fix: add /openai/api/tags route to forward Ollama model list in k8s
ahmedmarzougui-enclaive May 26, 2026
812d8a8
fix: add /openai/api/tags route to forward Ollama model list in k8s
ahmedmarzougui-enclaive May 26, 2026
972c90c
fix change audit pip version
ahmedmarzougui-enclaive May 26, 2026
76cb56f
fix change audit pip version
ahmedmarzougui-enclaive May 26, 2026
8271022
feat: add HyDE hypothesis injection for RAG improvement
ahmedmarzougui-enclaive May 28, 2026
0dc109e
correct pip install version
ahmedmarzougui-enclaive May 28, 2026
05d4e53
correct pip install version
ahmedmarzougui-enclaive May 28, 2026
0924290
feat: add HyDE hypothesis injection for RAG improvement
ahmedmarzougui-enclaive May 28, 2026
e7d470f
feat: add HyDE hypothesis improve timing
ahmedmarzougui-enclaive May 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
291 changes: 291 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,291 @@
name: Build and Deploy Garnet
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing SBOM generation and provenance attestation : Images are signed but no SBOM or SLSA provenance is generated.

Add : Syft SBOM generation or Cosign attestations


on:
workflow_dispatch:
push:
tags:
- v*
branches:
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

leave only main and staging.

- deploy/staging
- deploy/prod
- garnet-privacy-proxy
pull_request:
branches:
- garnet-privacy-proxy

jobs:

get-meta:
runs-on: ubuntu-latest
outputs:
version: ${{ steps.get_version.outputs.version }}
tag: ${{ steps.get_tag.outputs.name }}
revision: ${{ steps.get_revision.outputs.revision }}
proxy_changed: ${{ steps.changes.outputs.proxy }}
webui_changed: ${{ steps.changes.outputs.webui }}
steps:
- name: Checkout
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The workflow performs repository checkout using raw git clone commands with a PAT (GH_TOKEN) instead of using the official actions/checkout action. This bypasses GitHub Actions native authentication and security controls, increases token exposure risk in logs/process lists, loses shallow clone optimization, submodule handling, and provenance guarantees. and makes workflow maintenance harder.

Remediation:
Replace all custom clone logic with:

  • uses: actions/checkout@v4
    with:
    fetch-depth: 0

Use the built-in GITHUB_TOKEN unless cross-repo access is strictly required.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing pinned GitHub Actions versions : The workflow barely uses official actions and does not pin versions to commit SHAs.

Use:

uses: actions/checkout@v4

Prefer SHA-pinned actions in production:

uses: actions/checkout@<commit-sha>

Apply this to all third-party actions.

uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
fetch-depth: 0

- name: Get version
id: get_version
run: |
if [[ "${GITHUB_REF}" == refs/tags/v* ]]; then
echo "version=${GITHUB_REF_NAME}" >> $GITHUB_OUTPUT
else
echo "version=$(cat version/VERSION).nightly" >> $GITHUB_OUTPUT
fi

- name: Get revision
id: get_revision
run: echo "revision=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT

- name: Get tag
id: get_tag
run: |
case "${GITHUB_REF}" in
refs/heads/deploy/staging) NAME=staging ;;
refs/heads/deploy/prod) NAME=prod ;;
refs/tags/v*) NAME=latest ;;
*) NAME="${FALLBACK}" ;;
esac
echo "name=${NAME}" >> $GITHUB_OUTPUT
env:
FALLBACK: ${{ steps.get_revision.outputs.revision }}

- name: Check changed files
id: changes
run: |
git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep '^backend/privacy_proxy/' \
&& echo "proxy=true" >> $GITHUB_OUTPUT \
|| echo "proxy=false" >> $GITHUB_OUTPUT
git diff --name-only ${{ github.event.before }} ${{ github.sha }} | grep -E '^src/|^backend/open_webui/' \
&& echo "webui=true" >> $GITHUB_OUTPUT \
|| echo "webui=false" >> $GITHUB_OUTPUT

build-proxy:
needs: get-meta
if: needs.get-meta.outputs.proxy_changed == 'true'
runs-on: ubuntu-latest
environment: production
permissions:
contents: read
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
fetch-depth: 0

- name: Free disk space
run: |
sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache
df -h

- name: Set up Docker Buildx
run: |
docker buildx create --use --name garnet-builder
docker buildx inspect --bootstrap

- name: Login to Harbor
run: |
echo "${{ secrets.HARBOR_PASSWORD }}" | docker login harbor.enclaive.cloud \
-u "${{ secrets.HARBOR_USERNAME }}" --password-stdin

- name: Build and push proxy image
id: build-proxy
run: |
DIGEST=$(docker buildx build \
-f backend/privacy_proxy/Dockerfile \
--build-arg PRODUCT_VERSION=${{ needs.get-meta.outputs.version }} \
--build-arg PRODUCT_REVISION=${{ needs.get-meta.outputs.revision }} \
--cache-from type=registry,ref=harbor.enclaive.cloud/garnetdemo/privacy-proxy:cache \
--cache-to type=inline \
--tag harbor.enclaive.cloud/garnetdemo/privacy-proxy:${{ needs.get-meta.outputs.tag }} \
--tag harbor.enclaive.cloud/garnetdemo/privacy-proxy:${{ needs.get-meta.outputs.version }} \
--tag harbor.enclaive.cloud/garnetdemo/privacy-proxy:${{ needs.get-meta.outputs.revision }} \
--tag harbor.enclaive.cloud/garnetdemo/privacy-proxy:gh-run-${{ github.run_id }}-${{ github.run_attempt }}-${{ github.run_number }} \
--push \
--metadata-file /tmp/proxy-meta.json \
backend/privacy_proxy/ && \
cat /tmp/proxy-meta.json | python3 -c "import sys,json; print(json.load(sys.stdin)['containerimage.digest'])")
echo "digest=harbor.enclaive.cloud/garnetdemo/privacy-proxy@${DIGEST}" >> $GITHUB_OUTPUT

- name: Install cosign
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cosign installation without checksum verification: Issue:
Cosign binaries are downloaded directly via curl and executed. This is non-production because:

  • No checksum validation.
  • No signature verification.
  • Supply chain compromise risk.

Use official cosign installer : https://github.com/marketplace/actions/cosign-installer

uses: sigstore/cosign-installer@ba7bc0a3fef59531c69a25acd34668d6d3fe6f22

- name: Sign proxy image
run: |
echo "${{ secrets.COSIGN_PRIVATE_KEY }}" > /tmp/cosign.key
chmod 600 /tmp/cosign.key
COSIGN_PASSWORD="" cosign sign --yes --key /tmp/cosign.key \
${{ steps.build-proxy.outputs.digest }}
rm /tmp/cosign.key

- name: Install Syft
run: |
curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh \
| sh -s -- -b /usr/local/bin

- name: Generate SBOM + attest proxy
run: |
echo "${{ secrets.COSIGN_PRIVATE_KEY }}" > /tmp/cosign.key
chmod 600 /tmp/cosign.key
syft ${{ steps.build-proxy.outputs.digest }} -o spdx-json > /tmp/sbom-proxy.spdx.json
COSIGN_PASSWORD="" cosign attest --yes \
--key /tmp/cosign.key \
--type spdxjson \
--predicate /tmp/sbom-proxy.spdx.json \
${{ steps.build-proxy.outputs.digest }}
rm /tmp/cosign.key

- name: Attest provenance proxy
run: |
echo "${{ secrets.COSIGN_PRIVATE_KEY }}" > /tmp/cosign.key
chmod 600 /tmp/cosign.key
cat > /tmp/provenance-proxy.json << EOF
{
"buildType": "https://github.com/enclaive/garnet",
"builder": {"id": "github-actions"},
"invocation": {
"configSource": {
"uri": "git+https://github.com/enclaive/garnet",
"digest": {"sha1": "${{ github.sha }}"}
}
}
}
EOF
COSIGN_PASSWORD="" cosign attest --yes \
--key /tmp/cosign.key \
--type slsaprovenance \
--predicate /tmp/provenance-proxy.json \
${{ steps.build-proxy.outputs.digest }}
rm /tmp/cosign.key

- name: Save SBOM + provenance to cVM
run: |
mkdir -p ~/.ssh
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
ssh-keyscan ${{ secrets.CVM_HOST }} >> ~/.ssh/known_hosts
ssh root@${{ secrets.CVM_HOST }} "mkdir -p /opt/garnet/sbom"
scp /tmp/sbom-proxy.spdx.json root@${{ secrets.CVM_HOST }}:/opt/garnet/sbom/sbom-proxy-${{ needs.get-meta.outputs.revision }}.spdx.json
scp /tmp/provenance-proxy.json root@${{ secrets.CVM_HOST }}:/opt/garnet/sbom/provenance-proxy-${{ needs.get-meta.outputs.revision }}.json

python-checks:
needs: [get-meta, build-proxy]
if: needs.get-meta.outputs.proxy_changed == 'true'
uses: ./.github/workflows/pythoncheck.yml
with:
image_tag: ${{ needs.get-meta.outputs.revision }}
secrets:
HARBOR_USERNAME: ${{ secrets.HARBOR_USERNAME }}
HARBOR_PASSWORD: ${{ secrets.HARBOR_PASSWORD }}

build-webui:
needs: get-meta
if: needs.get-meta.outputs.webui_changed == 'true'
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:
fetch-depth: 0

- name: Free disk space
run: |
sudo rm -rf /usr/share/dotnet /usr/local/lib/android /opt/ghc /opt/hostedtoolcache
df -h

- name: Set up Docker Buildx
run: |
docker buildx create --use --name garnet-builder
docker buildx inspect --bootstrap

- name: Login to Harbor
run: |
echo "${{ secrets.HARBOR_PASSWORD }}" | docker login harbor.enclaive.cloud \
-u "${{ secrets.HARBOR_USERNAME }}" --password-stdin

- name: Build and push webui image
id: build-webui
run: |
DIGEST=$(docker buildx build \
--build-arg PRODUCT_VERSION=${{ needs.get-meta.outputs.version }} \
--build-arg PRODUCT_REVISION=${{ needs.get-meta.outputs.revision }} \
--cache-from type=registry,ref=harbor.enclaive.cloud/garnetdemo/garnet-webui:cache \
--cache-to type=registry,ref=harbor.enclaive.cloud/garnetdemo/garnet-webui:cache,mode=max \
--tag harbor.enclaive.cloud/garnetdemo/garnet-webui:${{ needs.get-meta.outputs.tag }} \
--tag harbor.enclaive.cloud/garnetdemo/garnet-webui:${{ needs.get-meta.outputs.version }} \
--tag harbor.enclaive.cloud/garnetdemo/garnet-webui:${{ needs.get-meta.outputs.revision }} \
--tag harbor.enclaive.cloud/garnetdemo/garnet-webui:gh-run-${{ github.run_id }}-${{ github.run_attempt }}-${{ github.run_number }} \
--push \
--metadata-file /tmp/webui-meta.json \
. && \
cat /tmp/webui-meta.json | python3 -c "import sys,json; print(json.load(sys.stdin)['containerimage.digest'])")
echo "digest=harbor.enclaive.cloud/garnetdemo/garnet-webui@${DIGEST}" >> $GITHUB_OUTPUT

- name: Install cosign
uses: sigstore/cosign-installer@ba7bc0a3fef59531c69a25acd34668d6d3fe6f22

- name: Sign webui image
run: |
sleep 10
echo "${{ secrets.COSIGN_PRIVATE_KEY }}" > /tmp/cosign.key
chmod 600 /tmp/cosign.key
COSIGN_PASSWORD="" cosign sign --yes --key /tmp/cosign.key \
${{ steps.build-webui.outputs.digest }}
rm /tmp/cosign.key

- name: Install Syft
run: |
curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh \
| sh -s -- -b /usr/local/bin

- name: Generate SBOM + attest webui
run: |
echo "${{ secrets.COSIGN_PRIVATE_KEY }}" > /tmp/cosign.key
chmod 600 /tmp/cosign.key
syft ${{ steps.build-webui.outputs.digest }} -o spdx-json > /tmp/sbom-webui.spdx.json
COSIGN_PASSWORD="" cosign attest --yes \
--key /tmp/cosign.key \
--type spdxjson \
--predicate /tmp/sbom-webui.spdx.json \
${{ steps.build-webui.outputs.digest }}
rm /tmp/cosign.key

- name: Attest provenance webui
run: |
echo "${{ secrets.COSIGN_PRIVATE_KEY }}" > /tmp/cosign.key
chmod 600 /tmp/cosign.key
cat > /tmp/provenance-webui.json << EOF
{
"buildType": "https://github.com/enclaive/garnet",
"builder": {"id": "github-actions"},
"invocation": {
"configSource": {
"uri": "git+https://github.com/enclaive/garnet",
"digest": {"sha1": "${{ github.sha }}"}
}
}
}
EOF
COSIGN_PASSWORD="" cosign attest --yes \
--key /tmp/cosign.key \
--type slsaprovenance \
--predicate /tmp/provenance-webui.json \
${{ steps.build-webui.outputs.digest }}
rm /tmp/cosign.key

- name: Save SBOM + provenance to cVM
run: |
mkdir -p ~/.ssh
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
ssh-keyscan ${{ secrets.CVM_HOST }} >> ~/.ssh/known_hosts
ssh root@${{ secrets.CVM_HOST }} "mkdir -p /opt/garnet/sbom"
scp /tmp/sbom-webui.spdx.json root@${{ secrets.CVM_HOST }}:/opt/garnet/sbom/sbom-webui-${{ needs.get-meta.outputs.revision }}.spdx.json
scp /tmp/provenance-webui.json root@${{ secrets.CVM_HOST }}:/opt/garnet/sbom/provenance-webui-${{ needs.get-meta.outputs.revision }}.json
3 changes: 1 addition & 2 deletions .github/workflows/docker-build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,7 @@ jobs:
runner: ubuntu-24.04-arm

steps:
# GitHub Packages requires the entire repository name to be in lowercase
# although the repository owner has a lowercase username, this prevents some people from running actions after forking

- name: Set repository and image name to lowercase
run: |
echo "IMAGE_NAME=${IMAGE_NAME,,}" >>${GITHUB_ENV}
Expand Down
24 changes: 24 additions & 0 deletions .github/workflows/proxy-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: Proxy Test Suite

on:
workflow_call:
secrets:
SSH_PRIVATE_KEY:
required: true
CVM_HOST:
required: true

jobs:
run-tests:
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- name: Run proxy test suite
run: |
mkdir -p ~/.ssh
echo "${{ secrets.SSH_PRIVATE_KEY }}" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
ssh-keyscan ${{ secrets.CVM_HOST }} >> ~/.ssh/known_hosts
ssh root@${{ secrets.CVM_HOST }} \
"docker exec -w /service garnet-privacy-proxy-1 python3 app/test_proxy.py"
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please remove any direct container execution tests on production host

Loading
Loading