Manual Deploy Reindexer to Testing #14
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Manual Deploy Reindexer to Testing | |
on: | |
workflow_dispatch: | |
inputs: | |
tag: | |
description: tag | |
required: true | |
env: | |
environment: testing | |
IMAGE: ghcr.io/mlibrary/catalog-indexer-unstable | |
jobs: | |
deploy: | |
name: "Deploy ${{ github.event.inputs.tag }} to reindexer" | |
runs-on: ubuntu-latest | |
environment: testing | |
steps: | |
- name: Clone latest repository | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- name: Check that the tag exists in repo | |
id: tag_check | |
run: | | |
if git rev-parse 'refs/tags/${{ github.event.inputs.tag }}' &> /dev/null; then | |
echo '::set-output name=tag::${{ github.event.inputs.tag }}' | |
elif git rev-parse '${{ github.event.inputs.tag }}' &> /dev/null; then | |
echo "::set-output name=tag::`git rev-parse '${{ github.event.inputs.tag }}'`" | |
else | |
echo "Couldn't figure out tag from input: ${{ github.event.inputs.tag }}" | |
echo "Aborting deployment." | |
false | |
fi | |
- name: Log into Github Container Registry | |
uses: docker/login-action@v1 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Check that the tag exists in container registry | |
id: image_check | |
run: | | |
if docker manifest inspect ${{ env.IMAGE }}:${{ steps.tag_check.outputs.tag }} > /dev/null; then | |
echo '::set-output name=image_exists::true' | |
echo "image exists!" | |
else | |
echo "image doesn't exist; Starting to Build and push image" | |
fi | |
- name: Checkout Correct repository | |
if: ${{ steps.image_check.outputs.image_exists != 'true' }} | |
uses: actions/checkout@v2 | |
with: | |
ref: ${{ github.event.inputs.tag }} | |
- name: Build and Push | |
if: ${{ steps.image_check.outputs.image_exists != 'true' }} | |
uses: docker/build-push-action@v2 | |
with: | |
context: ./umich_catalog_indexing/. | |
file: umich_catalog_indexing/Dockerfile | |
push: true | |
secrets: | | |
"gh_package_read_token=${{ secrets.GH_PACKAGE_READ_TOKEN }}" | |
tags: ${{ env.IMAGE }}:${{steps.tag_check.outputs.tag}} | |
- name: Deploy to ${{ env.environment }} | |
uses: mlibrary/deploy-to-kubernetes@v2 | |
with: | |
registry_token: ${{ secrets.GITHUB_TOKEN }} | |
deployment: catalog-reindexer | |
container: catalog-reindexer | |
image: ${{ env.IMAGE }}:${{ steps.tag_check.outputs.tag }} | |
cluster_ca: ${{ secrets.HATCHER_CLUSTER_CA }} | |
cluster_server: https://hatcher.kubernetes.lib.umich.edu | |
namespace_token: ${{ secrets.HATCHER_TOKEN }} | |
namespace: ${{ secrets.NAMESPACE }} |