Skip to content

Commit

Permalink
Use okclient for FOLIO operations DEVOPS-3651
Browse files Browse the repository at this point in the history
  • Loading branch information
dcrossleyau committed May 28, 2024
1 parent de83c56 commit 91908cd
Showing 1 changed file with 31 additions and 41 deletions.
72 changes: 31 additions & 41 deletions .github/workflows/mvn-dev-build-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,14 @@ on:
push:
pull_request:
types: [opened, synchronize, reopened]
workflow_dispatch:

env:
PUBLISH_BRANCH: 'deployment'
OKAPI_URL: 'https://orchid-dev-okapi.folio-dev.indexdata.com'
OKAPI_SECRET_USER: "${{ secrets.ORCHID_DEV_OKAPI_USER }}"
OKAPI_SECRET_PASSWORD: "${{ secrets.ORCHID_DEV_OKAPI_PASSWORD }}"
OK_SESSION: 'session1'

jobs:
mvn-dev-build-deploy:
Expand All @@ -26,6 +28,20 @@ jobs:
java-version: 17
distribution: 'temurin' # Alternative distribution options are available.

- name: Prepare okclient
run: git clone https://github.com/indexdata/okclient

- name: Ensure OK and FOLIO login
# So do not proceed with other workflow steps if not available.
run: |
source okclient/ok.sh
OK -S ${{ env.OK_SESSION }} \
-h ${{ env.OKAPI_URL }} \
-t "supertenant" \
-u ${{ env.OKAPI_SECRET_USER }} \
-p ${{ env.OKAPI_SECRET_PASSWORD }}
OK -S ${{ env.OK_SESSION }} -x
- name: Gather some variables
run: |
echo "MODULE_NAME=$(mvn help:evaluate -Dexpression=project.artifactId -q -DforceStdout)" >> $GITHUB_ENV
Expand Down Expand Up @@ -75,27 +91,6 @@ jobs:
with:
path: ${{ env.MODULE_DESCRIPTOR }}

- name: Login to dev Okapi instance
#if: ${{ env.CURRENT_BRANCH == env.PUBLISH_BRANCH }}
id: login-okapi
uses: cyberman54/[email protected]
with:
url: "${{ env.OKAPI_URL }}/authn/login"
method: "POST"
accept: 201
timeout: 5000
retries: 3
headers: |
{
"content-type": "application/json",
"x-okapi-tenant": "supertenant"
}
body: |
{
"username": "${{ env.OKAPI_SECRET_USER }}",
"password": "${{ env.OKAPI_SECRET_PASSWORD }}"
}
- name: Login to Index Data Docker Hub account
if: ${{ env.CURRENT_BRANCH == env.PUBLISH_BRANCH }}
uses: docker/login-action@v3
Expand All @@ -111,28 +106,23 @@ jobs:
push: true
tags: indexdata/${{ env.MODULE_NAME }}:${{ env.MODULE_VERSION }},indexdata/${{ env.MODULE_NAME }}:latest

- name: Get the Okapi login token
if: ${{ env.CURRENT_BRANCH == env.PUBLISH_BRANCH }}
run: |
echo "OKAPI_TOKEN=${{ fromJSON(steps.login-okapi.outputs.response).headers['x-okapi-token'] }}" >> $GITHUB_ENV
- name: Publish ModuleDescriptor to Okapi
if: ${{ env.CURRENT_BRANCH == env.PUBLISH_BRANCH }}
id: result-okapi
# uses: indiesdev/[email protected]
uses: cyberman54/[email protected]
with:
url: "${{ env.OKAPI_URL }}/_/proxy/modules"
method: "POST"
accept: 201
timeout: 10000
headers: |
{
"content-type": "application/json",
"x-okapi-tenant": "supertenant",
"x-okapi-token": "${{ env.OKAPI_TOKEN }}"
}
body: ${{ steps.moduleDescriptor.outputs.content }}
run: |
source okclient/ok.sh
echo "Do login ..."
OK -S ${{ env.OK_SESSION }} \
-h ${{ env.OKAPI_URL }} \
-t "supertenant" \
-u ${{ env.OKAPI_SECRET_USER }} \
-p ${{ env.OKAPI_SECRET_PASSWORD }}
echo "Post the MD and report the response status ..."
OK -S ${{ env.OK_SESSION }} _/proxy/modules \
-X post -f ${{ env.MODULE_DESCRIPTOR }}
declare -n NAMEREF_STATUS=${{ env.OK_SESSION }}_HTTPStatus
echo "Response status: $NAMEREF_STATUS"
echo "Do logout ..."
OK -S ${{ env.OK_SESSION }} -x
- name: Print module version to job summary
run: |
Expand Down

0 comments on commit 91908cd

Please sign in to comment.