Skip to content

Migrate Documentation to Fluid Topics #16

Migrate Documentation to Fluid Topics

Migrate Documentation to Fluid Topics #16

name: Migrate Documentation to Fluid Topics
on:
workflow_dispatch:
inputs:
COMMIT_HASH:
description: 'Optional commit hash to process'
required: false
environment:
description: 'Select the environment to deploy to'
required: true
default: 'staging'
type: choice
options:
- staging
- production
jobs:
migrate-docs:
#runs-on: ubuntu-latest
runs-on: self-hosted
steps:
# Step 1: Checkout code
- name: Clone Gitbook content
run: |
mkdir -p gitbook-content
git clone $GITHUB_SERVER_URL/$GITHUB_REPOSITORY.git gitbook-content
cd gitbook-content
git checkout ${{ inputs.COMMIT_HASH || github.sha }}
# Step 2: Clone Gitbook to FT
- name: Clone Gitbook to FT Utility
run: |
git clone https://github.com/jfrog/Gitbook-to-FT.git
- name: ls -l
run: |
ls -l
# Step 4: Set up Python and install dependencies
- name: Install Python and required dependencies
run: |
sudo apt-get update
sudo apt-get install -y python3 python3-pip
python3 -m pip install --upgrade pip
python3 -m pip install -r Gitbook-to-FT/requirements.txt
# Step 5: Set environment variables based on selected environment
- name: Set environment variables
id: set-env-vars
run: |
if [[ "${{ github.event.inputs.environment }}" == "staging" ]]; then
echo "Using Staging Environment"
echo "FLUID_TOPICS_BASE_URL=${{ vars.STAGING_FLUID_TOPICS_BASE_URL }}" >> $GITHUB_ENV
echo "FLUID_TOPICS_API_KEY=${{ secrets.STAGING_FLUID_TOPICS_API_KEY }}" >> $GITHUB_ENV
elif [[ "${{ github.event.inputs.environment }}" == "production" ]]; then
echo "Using Production Environment"
echo "FLUID_TOPICS_BASE_URL=${{ vars.PRODUCTION_FLUID_TOPICS_BASE_URL }}" >> $GITHUB_ENV
echo "FLUID_TOPICS_API_KEY=${{ secrets.PRODUCTION_FLUID_TOPICS_API_KEY }}" >> $GITHUB_ENV
fi
# Step 6: Run migration utility
- name: Run migration utility
env:
GITBOOK_REPO_FOLDER: "gitbook-content"
FLUID_TOPICS_API_KEY: ${{ env.FLUID_TOPICS_API_KEY }}
FLUID_TOPICS_BASE_URL: ${{ env.FLUID_TOPICS_BASE_URL }}
FLUID_TOPICS_SOURCE_ID: ${{ vars.FLUID_TOPICS_SOURCE_ID }}
PUBLICATION_TITLE: ${{ vars.PUBLICATION_TITLE }}
run: |
python Gitbook-to-FT/main.py