Skip to content

Commit

Permalink
Merge pull request #41 from NERC-CEH/100_days
Browse files Browse the repository at this point in the history
100 days talk slides and pipeline
  • Loading branch information
metazool authored Sep 3, 2024
2 parents 18f360a + 7e70935 commit 9e250bd
Show file tree
Hide file tree
Showing 15 changed files with 399 additions and 0 deletions.
57 changes: 57 additions & 0 deletions .github/workflows/pages_graphs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
name: Pages and Graphviz re-render
on:
push:
branches:
- '!100_days'

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

jobs:
build:
name: Rebuild graphs and pages
runs-on: ubuntu-latest
defaults:
run:
working-directory: .
steps:
- uses: actions/checkout@v4
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.3' # Not needed with a .ruby-version file
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
cache-version: 0 # Increment this number if you need to re-download cached gems
working-directory: '${{ github.workspace }}'
- name: Setup Pages
id: pages
uses: actions/configure-pages@v3
- name: Build with Jekyll
# Outputs to the './_site' directory by default
# Will this copy the diagrams tho
run: bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}"
env:
JEKYLL_ENV: production
- uses: ts-graphviz/setup-graphviz@v2
- name: Diagrams
run: chmod +x ./scripts/render_diagrams.sh; bash ./scripts/render_diagrams.sh
- name: Upload artifact
# Automatically uploads an artifact from the './_site' directory by default
uses: actions/upload-pages-artifact@v1
with:
path: "_site"

# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2
17 changes: 17 additions & 0 deletions .github/workflows/pandoc_pdf.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
on:
push:
paths: "team/talks/**"

jobs:
convert_via_pandoc:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- uses: docker://pandoc/latex:3.3.0.0
with:
args: -s --dpi=300 --slide-level 2 --toc --listings --shift-heading-level=0 --columns=50 -t beamer team/talks/100_days.md -o 100_days.pdf

- uses: actions/upload-artifact@v3
with:
name: 100_days.pdf
path: 100_days.pdf
35 changes: 35 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
source "https://rubygems.org"
# Hello! This is where you manage which Jekyll version is used to run.
# When you want to use a different version, change it below, save the
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
#
# bundle exec jekyll serve
#
# This will help ensure the proper Jekyll version is running.
# Happy Jekylling!
#gem "jekyll", "~> 4.3.3"
# This is the default theme for new Jekyll sites. You may change this to anything you like.
gem "minima", "~> 2.5"
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
# uncomment the line below. To upgrade, run `bundle update github-pages`.
gem "github-pages", "~> 231", group: :jekyll_plugins
gem "webrick"
gem "just-the-docs"
# If you have any plugins, put them here!
group :jekyll_plugins do
gem "jekyll-feed", "~> 0.12"
end

# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
# and associated library.
platforms :mingw, :x64_mingw, :mswin, :jruby do
gem "tzinfo", ">= 1", "< 3"
gem "tzinfo-data"
end

# Performance-booster for watching directories on Windows
gem "wdm", "~> 0.1.1", :platforms => [:mingw, :x64_mingw, :mswin]

# Lock `http_parser.rb` gem to `v0.6.x` on JRuby builds since newer versions of the gem
# do not have a Java counterpart.
gem "http_parser.rb", "~> 0.6.0", :platforms => [:jruby]
12 changes: 12 additions & 0 deletions _config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
title: UKCEH Research Software Engineering in Environmental Data Science
email: jowals@ceh.ac.uk
description: >- # this means to ignore newlines until "baseurl:"
This repository contains documentation and links for the Research Software Engineering group in Environmental Data Science at the UK Centre for Ecology and Hydrology
baseurl: "" # the subpath of your site, e.g. /blog
url: "" # the base hostname & protocol for your site, e.g. http://example.com
github_username: metazool

# Build settings
remote_theme: riggraz/no-style-please
plugins:
- jekyll-feed
Binary file added img/teamHeadshots.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/ukceh_mini_logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
5 changes: 5 additions & 0 deletions learning/carpentries.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
---
title: Research Software Carpentries
---

# The Carpentries


Provide open licenced short courses on topics which help researchers and data managers create more reusable code. The courses can be run by anyone, but the Carpentries organisation also supports members to go through intructor training. Silver level membership includes supported instructor training for 5 people)

* [Carpentries membership](https://carpentries.org/membership/)
Expand Down
4 changes: 4 additions & 0 deletions learning/clinics.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
---
title: Research Software Clinics
---

# Research Software Clinics

"Clinics" are a model used at the British Geological Survey for knowledge sharing and coaching among software engineering, data science and research staff. The sessions last an hour and run once a fortnight in the two largest BGS sites.
Expand Down
25 changes: 25 additions & 0 deletions scripts/render_diagrams.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#!/bin/bash
# Copilot generated script to render diagrams as SVG

# Set the directory path
DIR="team/governance/diagrams/"
SITE="_site/"


# Loop through each dot file in the subdirectory
for dotfile in "$DIR"*.dot; do
# Get the base name without extension
base_name=$(basename "$dotfile" .dot)
dir_path="_site/${DIR}"
mkdir -p $dir_path
output="$dir_path$base_name.svg"

# Render the dot file to SVG
dot -Tsvg "$dotfile" -o $output

# Print a success message
echo "Rendered $dotfile to $output"
done



23 changes: 23 additions & 0 deletions team/governance/diagrams/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Governance diagrams

_Note: these are a draft intended to focus discussion about putting in place that "lightweight governance process" for shared workload with correct oversight.

While this note is present, the diagrams are definitely not to be read as representative of consensus reality._

A set of graphviz dotfiles intended to be read end to end. Drawn in [SketchViz](https://sketchviz.com/) where they render nicely. There's a lot of detail missing, but it's a step downwards from the high level principles.

## Diagrams

### Concept phase

Outline of the flow from a group seeking RSE contribution to a proposed project, to deciding whether it's appropriate to take forward or there are preferable routes (e.g. towards Scientific Computing or People Development).

### Triage phase

Outline of the flow from receiving a definite expression of interest through EDS Enquiries, to gauging whether a project is suitable to take forward to the committee. It's probably this phase that needs the most consideration from, and adaptation by, members of the RSE group.

### Proposal phase

Outline of the flow from receiving a proposal through a formal channel, to the committee including Science Area representatives and budget holders, to a decision about whether the group has the capacity to work on it in the timeline.


20 changes: 20 additions & 0 deletions team/governance/diagrams/application.dot
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
digraph G {

bgcolor=white;
node [fontname = "Handlee"];
edge [fontname = "Handlee"];

application [ label="Application"];
is_complete [ label="Is it complete?" shape=diamond]
committee [label="Science Committee"]
timeline_ok [label="Resources fit the timeline?" shape=diamond]
exco_hr [label="ExCo / HR conversation"]

application -> is_complete;
is_complete -> timeline_ok [label="Yes"];
is_complete:ne -> application:se [label="No"];

timeline_ok -> committee [label="Yes"];
timeline_ok -> exco_hr [label="No"];

}
33 changes: 33 additions & 0 deletions team/governance/diagrams/concept.dot
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
digraph G {

bgcolor=transparent;
node [fontname = "Handlee"];
edge [fontname = "Handlee"];


starting [ label = "Concept"];
pm_support [ label = "PM support"];
funded [ label = "Is it funded?" shape=diamond ];
extra_support [label="What are you looking for?" shape=diamond]
help_tech [label="Type?" shape=diamond]
go_to_it [label="Go to IT channels"]
offered [label="Is this within RSE scope?" shape=diamond]
proposal[label="Proposal for future RSE capability"]

starting -> funded;

funded -> pm_support[label="Externally?"];
funded -> pm_support[label="Internally?"];
funded -> extra_support[label="Not yet?"];

extra_support:w -> pm_support[label="Help with grantwriting"];
extra_support -> help_tech[label="Technical support"];
extra_support:e -> offered[label="Consultancy"];

help_tech -> offered[label="Skills development"];
help_tech -> go_to_it[label="Debugging and repair"];

offered -> pm_support[label="Yes"]
offered -> proposal[label="No"]

}
25 changes: 25 additions & 0 deletions team/governance/diagrams/triage.dot
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@

digraph G {

bgcolor=transparent;
node [fontname = "Handlee"];
edge [fontname = "Handlee"];

enquiry [ label="Enquiry"];
logged_once [ label="Logged FAIRly" shape=rectangle];
make_forum [label="Make a forum" shape=rectangle];
review_discussion [label="Review discussion" shape=rectangle]
criteria [label="Fits the criteria?" shape=diamond]

application [ label="Application"]
log_decision [label="Log decision"]

enquiry -> logged_once;
logged_once -> make_forum;
make_forum -> review_discussion;
review_discussion -> criteria;
criteria -> application[label="Ready?"];
criteria:ne -> review_discussion[label="Needs work?"];
criteria -> log_decision [label="Not really"];

}
Loading

0 comments on commit 9e250bd

Please sign in to comment.