Docking 2024 #234
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: Deploy documentation to pages branch | |
# yamllint disable-line rule:truthy | |
on: | |
pull_request: | |
types: [opened, synchronize, reopened, closed] | |
concurrency: | |
group: pages-${{ github.event.pull_request.number }} | |
cancel-in-progress: true | |
jobs: | |
deploy: | |
runs-on: self-hosted | |
steps: | |
- name: Wait to let checks appear | |
run: sleep 1m | |
shell: bash | |
# Wait for the CI to finish so we can download the docs artifact | |
- name: Wait for CI | |
uses: lewagon/[email protected] | |
if: github.event.action != 'closed' | |
with: | |
ref: ${{ github.event.pull_request.head.ref }} | |
check-regexp: Run tests and build docs | |
repo-token: ${{ secrets.INVESTIGATOR_BOT_TOKEN }} | |
allowed-conclusions: success | |
verbose: true | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Prepare directories | |
if: github.event.action != 'closed' | |
run: | | |
mkdir -p ${{ github.workspace }}/pr-docs/ | |
- name: Download artifact | |
uses: dawidd6/action-download-artifact@v2 | |
if: github.event.action != 'closed' | |
with: | |
github_token: ${{ secrets.INVESTIGATOR_BOT_TOKEN }} | |
workflow: .github/workflows/ci.yaml | |
workflow_conclusion: completed | |
commit: ${{ github.event.pull_request.head.sha }} | |
path: ${{ github.workspace }}/pr-docs | |
- name: Move folders | |
if: github.event.action != 'closed' | |
run: | | |
cd ${{ github.workspace }}/pr-docs | |
mv docs-ci-html-${{ github.event.pull_request.head.sha }} ${{ github.event.number }} | |
echo "datetime=$(TZ=America/New_York date '+%Y-%m-%d %H:%M %Z')" >> $GITHUB_ENV | |
############################ | |
# If commit was an update/refresh (not close) | |
############################ | |
# Publish the artifact to the GitHub Pages branch | |
- name: Upload docs to mil.ufl.edu | |
if: github.event.action != 'closed' | |
run: | | |
# Install sshpass | |
sudo apt-get install sshpass | |
# Upload contents of local folder to remote folder | |
sshpass -p ${{ secrets.MIL_UFL_SFTP_PASS }} \ | |
sftp -o StrictHostKeyChecking=no \ | |
-P ${{ secrets.MIL_UFL_SFTP_PORT }} [email protected] << EOF | |
mkdir htdocs/pr-docs/${{ github.event.number }} | |
cd htdocs/pr-docs/${{ github.event.number }} | |
lcd ${{ github.workspace }}/pr-docs/${{ github.event.number }} | |
put -r . | |
exit | |
EOF | |
# Create/update stickied comment | |
- name: Update stickied comment | |
uses: marocchino/sticky-pull-request-comment@v2 | |
if: github.event.action != 'closed' | |
with: | |
GITHUB_TOKEN: ${{ secrets.INVESTIGATOR_BOT_TOKEN }} | |
header: pr-preview | |
number: ${{ github.event.number }} | |
message: > | |
Hello, it's your friendly InvestiGator bot here! | |
The **docs preview** for this PR is available at | |
https://mil.ufl.edu/pr-docs/${{ github.event.number }}. | |
```css | |
Last updated at: | |
► ${{ github.event.pull_request.head.sha }} | |
► ${{ env.datetime }} | |
``` | |
Have a great day! Go gators! 🐊 | |
############################ | |
# If commit was closed | |
############################ | |
# If the PR is closed, remove the files | |
- name: Delete pr-docs folder on mil.ufl.edu | |
if: github.event.action == 'closed' | |
run: | | |
# Install lftp | |
sudo apt-get install lftp | |
# Upload docs | |
lftp -u mil,${{ secrets.MIL_UFL_SFTP_PASS }} \ | |
-p ${{ secrets.MIL_UFL_SFTP_PORT }} sftp://mil.ufl.edu << EOF | |
rm -r htdocs/pr-docs/${{ github.event.number }} | |
exit | |
EOF | |
# Create/update stickied comment | |
- name: Update stickied comment | |
uses: marocchino/sticky-pull-request-comment@v2 | |
if: github.event.action == 'closed' | |
with: | |
GITHUB_TOKEN: ${{ secrets.INVESTIGATOR_BOT_TOKEN }} | |
header: pr-preview | |
number: ${{ github.event.number }} | |
message: > | |
Hola, your friendly InvestiGator bot here with another message! | |
Because this PR was closed/merged, I'm going to remove the docs | |
preview for now. | |
Have a great day! Go gators! 🐊 |