name: Build micro-service Manual on: workflow_dispatch: inputs: microService: description: 'Name of the micro-service image to build' type: choice options: - 'access-manager' - 'join-service' - 'kmsserver' - 'verification-service' required: true default: 'access-manager' imageTag: description: 'Container image tag' required: true default: 'manual-build' version: description: 'Version of the image to build' required: true default: '0.0.0' jobs: build-micro-service: runs-on: ubuntu-latest permissions: contents: read packages: write steps: - name: Check out repository id: checkout uses: actions/checkout@v3 # choose the correct Dockerfile depending on what micro-service is being build - name: Set Dockerfile variable id: set-variable run: | case "${{ inputs.microService }}" in "access-manager" ) echo "microServiceDockerfile=access_manager/Dockerfile" >> $GITHUB_ENV ;; "join-service" ) echo "microServiceDockerfile=joinservice/Dockerfile" >> $GITHUB_ENV ;; "kmsserver" ) echo "microServiceDockerfile=kms/Dockerfile" >> $GITHUB_ENV ;; "verification-service" ) echo "microServiceDockerfile=verify/Dockerfile" >> $GITHUB_ENV ;; esac - name: Build and upload container image id: build-and-upload uses: ./.github/actions/build_micro_service with: name: ${{ inputs.microService }} projectVersion: ${{ inputs.version }} dockerfile: ${{ env.microServiceDockerfile }} pushTag: ${{ inputs.imageTag }} githubToken: ${{ secrets.GITHUB_TOKEN }}