@@ -22,28 +22,61 @@ jobs:
2222 - name : Extract microservice name from tag
2323 id : extract
2424 run : |
25- # Tag format: microservice@vX.Y.Z
26- TAG=${GITHUB_REF#refs/tags/}
27- MICROSERVICE="${TAG%@*}"
28- echo "Microservice: $MICROSERVICE"
29- echo "::set-output name=microservice::$MICROSERVICE"
30- - run : nix build .#${{ steps.extract.outputs.microservice }}.dockerImage
31- - name : Log in to GitHub Container Registry
32- uses : docker/login-action@v3
33- with :
34- registry : ghcr.io
35- username : ${{ github.actor }}
36- password : ${{ secrets.GITHUB_TOKEN }}
37- - name : Run release for microservice
38- run : |
39- echo "Releasing microservice: ${{ steps.extract.outputs.microservice }}"
40- version=$(nix eval --raw .#${{ steps.extract.outputs.microservice }}.version)
41- name=$(nix eval --raw .#${{ steps.extract.outputs.microservice }}.pname)
42- LOCAL_IMAGE="nixops-${name}:${version}"
43- REMOTE_VERSIONED_IMAGE="ghcr.io/aet-devops25/nixops-${name}:${version}"
44- docker load < result
45- docker tag $LOCAL_IMAGE $REMOTE_VERSIONED_IMAGE
46- docker push $REMOTE_VERSIONED_IMAGE
25+ #TODO: add schedule-optimizer on merging https://github.com/AET-DevOps25/team-nixops/pull/39
26+ COMPONENTS=("client" "embedding-bridge" "genai" "schedule-manager" "scraper")
27+ for name in "${COMPONENTS[@]}"; do
28+ version=$(nix eval --raw ".#${name}.version")
29+ tag="${name}@v${version}"
30+ if git rev-parse "$tag" >/dev/null 2>&1; then
31+ echo "${name}=false" >> $GITHUB_OUTPUT
32+ else
33+ echo "${name}=true" >> $GITHUB_OUTPUT
34+ fi
35+ done
36+ release-client :
37+ needs : check-versions
38+ if : needs.check-versions.outputs.new_client == 'true'
39+ uses : ./.github/workflows/z-release-service.yml
40+ with :
41+ microservice : client
42+
43+ release-embedding-bridge :
44+ needs : check-versions
45+ if : needs.check-versions.outputs.new_embedding_bridge == 'true'
46+ uses : ./.github/workflows/z-release-service.yml
47+ with :
48+ microservice : embedding-bridge
49+
50+ release-genai :
51+ needs : check-versions
52+ if : needs.check-versions.outputs.new_genai == 'true'
53+ uses : ./.github/workflows/z-release-service.yml
54+ with :
55+ microservice : genai
56+
57+ release-schedule-manager :
58+ needs : check-versions
59+ if : needs.check-versions.outputs.new_schedule_manager == 'true'
60+ uses : ./.github/workflows/z-release-service.yml
61+ with :
62+ microservice : schedule-manager
63+
64+ release-scraper :
65+ needs : check-versions
66+ if : needs.check-versions.outputs.new_scraper == 'true'
67+ uses : ./.github/workflows/z-release-service.yml
68+ with :
69+ microservice : scraper
70+
71+ release-schedule-optimizer :
72+ needs : check-versions
73+ if : needs.check-versions.outputs.new_schedule_optimizer == 'true'
74+ uses : ./.github/workflows/z-release-service.yml
75+ with :
76+ microservice : schedule-optimizer
77+
78+ lint-helm :
79+ uses : ./.github/workflows/z-lint-helm.yml
4780
4881 deploy-staging :
4982 runs-on : ubuntu-latest
0 commit comments