Skip to content

Adding MicroGalaxy tag to Microbiom training materials, so we can add then in the microgalaxy webserver #7454

Adding MicroGalaxy tag to Microbiom training materials, so we can add then in the microgalaxy webserver

Adding MicroGalaxy tag to Microbiom training materials, so we can add then in the microgalaxy webserver #7454

Workflow file for this run

name: "[CI] Accessibility Linting"
concurrency:
group: ci-${{ github.head_ref }}
cancel-in-progress: true
# https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-syntax-for-github-actions#example-using-a-list-of-events
on:
pull_request:
types: [opened, reopened, synchronize, ready_for_review]
paths:
- 'Gemfile.lock'
- '**/*.md'
- '**/*.html'
- '*.yml'
- '*.yaml'
- 'metadata/*'
- 'topics/*/images/*'
- '_plugins/*'
- '_plugins_dev/*'
- '**/*.bib'
jobs:
build-site:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request' || !github.event.pull_request.draft
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 1
# BEGIN Dependencies
- uses: actions/setup-python@v2
with:
python-version: '3.7'
architecture: 'x64'
- uses: ruby/setup-ruby@v1
with:
ruby-version: "3.0"
- uses: actions/setup-node@v2
with:
node-version: '19'
- uses: actions/cache@v2
with:
path: |
vendor/bundle
~/.npm
key: ${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-gems-${{ hashFiles('**/Gemfile.lock') }}-node-
${{ runner.os }}-gems-
- name: Install dependencies
run: |
sudo apt-get install -y build-essential libxi-dev libglu1-mesa-dev libglew-dev pkg-config # for node
gem install bundler
bundle config path vendor/bundle
bundle install --jobs 4 --retry 3
npm install
bundle pristine ffi
# END Dependencies
- name: Build the site
run: bundle exec jekyll build --strict_front_matter -d _site/training-material --trace
- name: Validate all links, enforce alt text
run: |
bundle exec htmlproofer \
--ignore-urls "/.*localhost.*/","/.*vimeo\.com.*/","/.*gitter\.im.*/","/.*drmaa\.org.*/","/.*slides.html#.*/,/#embedded_jbrowse/","/.*videos.*.mp4.png/","/krona_(all|multisample).html/" \
--ignore-files "/.*krona.*\.html/","/.*\/files\/.*/","/.*\/node_modules\/.*/","/\/tutorials\/.*\/docker\//","/.*content.html/" \
--swap-urls "github.com/galaxyproject/training-material/tree/main:github.com/${GITHUB_REPOSITORY}/tree/${GITHUB_HEAD_REF}" \
--disable-external=true \
--enforce-https=false \
./_site
- name: Ensure no unexpected encoded HTML in output
run: |
! fgrep -R 'lt;blockquote' _site
- name: Run aXe accessibility testing on some representative URLs
run: |
node_modules/.bin/http-server _site/ &
# We can focus AND scroll these regions. I thus disable their violation warning.
# Twitter isn't our fault. Sorry.
node_modules/.bin/axe --disable scrollable-region-focusable --exclude '#twitter-widget-0' --chromedriver-path /usr/bin/chromedriver \
http://localhost:8080/training-material/ \
http://localhost:8080/training-material/hall-of-fame/ \
http://localhost:8080/training-material/hall-of-fame/hexylena/ \
http://localhost:8080/training-material/topics/introduction/ \
http://localhost:8080/training-material/topics/statistics/ \
http://localhost:8080/training-material/topics/genome-annotation/ \
http://localhost:8080/training-material/topics/admin/ \
http://localhost:8080/training-material/topics/dev/ \
http://localhost:8080/training-material/topics/introduction/tutorials/galaxy-intro-short/tutorial.html \
http://localhost:8080/training-material/topics/introduction/tutorials/galaxy-intro-short/workflows/ \
http://localhost:8080/training-material/topics/admin/tutorials/ansible-galaxy/tutorial.html
- name: Validate notebooks (If this fails, ask @hexylena to look at your notebook)
run: |
find _site | grep ipynb | xargs bundle exec ruby bin/check-valid-notebook.rb