Skip to content

Commit

Permalink
Merge pull request #988 from hexylena/api
Browse files Browse the repository at this point in the history
Add a static API
  • Loading branch information
cat-bro authored Nov 16, 2023
2 parents 981f05c + 59056a5 commit 5bfb7e6
Show file tree
Hide file tree
Showing 2 changed files with 69 additions and 0 deletions.
52 changes: 52 additions & 0 deletions .github/workflows/static.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# Simple workflow for deploying static content to GitHub Pages
name: Deploy static content to Pages

on:
# Runs on pushes targeting the default branch
push:
branches: ["master"]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write

# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false

jobs:
# Single deploy job since we're just deploying
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- uses: actions/setup-python@v2
with:
python-version: '3.11'
architecture: 'x64'
- name: Checkout
uses: actions/checkout@v3
- name: Setup Pages
uses: actions/configure-pages@v3
- name: Install pyyaml
run: pip install PyYAML
- name: Build API
run:
python scripts/api.py
- name: Upload artifact
uses: actions/upload-pages-artifact@v2
with:
# Upload entire repository
path: '.'
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2
17 changes: 17 additions & 0 deletions scripts/api.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#!/usr/bin/env python
import glob
import yaml
import json
import os

data = {}
for fn in sorted(glob.glob("usegalaxy.org.au/*.yml")):
with open(fn, 'r') as handle:
tools = yaml.safe_load(handle)
for x in tools['tools']:
if 'tool_panel_section_label' in x:
data[f"{x['owner']}/{x['name']}"] = x['tool_panel_section_label']

os.makedirs('api/', exist_ok=True)
with open('api/labels.json', 'w') as handle:
json.dump(data, handle)

0 comments on commit 5bfb7e6

Please sign in to comment.