diff --git a/argo-workflows/build.yaml b/argo-workflows/build.yaml index b773e95..4aa32cb 100644 --- a/argo-workflows/build.yaml +++ b/argo-workflows/build.yaml @@ -1,16 +1,26 @@ apiVersion: argoproj.io/v1alpha1 kind: Workflow metadata: - generateName: build-workflow + generateName: build-workflow- spec: entrypoint: main serviceAccountName: edu-agentpool + volumeClaimTemplates: + - metadata: + name: workspace + spec: + accessModes: [ "ReadWriteOnce" ] + resources: + requests: + storage: 1Gi templates: + # 🔁 Main steps sequence - name: main steps: - - name: checkout template: git-checkout + arguments: {} - - name: test-python template: python-tests - - name: build-and-test-image @@ -24,8 +34,8 @@ spec: image: alpine/git command: [sh] source: | - git clone https://gitea.marcin00.pl/pikram/user-microservice.git /workspace - cd /workspace + git clone https://gitea.marcin00.pl/pikram/user-microservice.git /workspace/repo + cd /workspace/repo git checkout main volumeMounts: - name: workspace @@ -37,11 +47,11 @@ spec: image: python:3.11.7-alpine command: [sh] source: | - cd /workspace/api + cd /workspace/repo/api python3 -m venv env . env/bin/activate pip install -r requirements.txt pytest - python3 -m pytest --junit-xml=/workspace/pytest_junit.xml + python3 -m pytest --junit-xml=pytest_junit.xml volumeMounts: - name: workspace mountPath: /workspace @@ -52,7 +62,7 @@ spec: image: docker:cli command: [sh] source: | - cd /workspace + cd /workspace/repo docker build -t ${DOCKER_IMAGE} . curl -s -L https://github.com/aelsabbahy/goss/releases/latest/download/goss-linux-amd64 -o goss @@ -84,8 +94,6 @@ spec: value: marcin00 - name: DOCKER_IMAGE value: marcin00.azurecr.io/user-microservice:$(WORKFLOW_ID) - - # 📦 Shared workspace volume - volumes: - - name: workspace - emptyDir: {} + volumeMounts: + - name: workspace + mountPath: /workspace