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@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 - name: Setup Go environment uses: actions/setup-go@268d8c0ca0432bb2cf416faae41297df9d262d7f with: go-version: "1.19.1" # 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 }}