Skip to content

Commit

Permalink
Merge branch '2021' of github.com:KTH/devops-course into 2021
Browse files Browse the repository at this point in the history
* '2021' of github.com:KTH/devops-course: (52 commits)
  doc: Course automation proposal (KTH#1008)
  Adds essay proposal (KTH#1009)
  Create readme.md (KTH#996)
  Create README.md (KTH#995)
  doc: add essay proposal for devops course (KTH#988)
  Presentation Proposal: Continuous testing and its role & application within devops (KTH#1026)
  Executable tutorial: nginx on vagrant box (KTH#956)
  Presentation week2 (KTH#1005)
  Course automation: Verify pull request content changes (KTH#981)
  Presentation: The history of devops (KTH#1004)
  Presentation : Influence of DevOps in Software testing (KTH#984)
  Course automation: Automatic validation and labeling (KTH#949)
  Essay: Automated tests for infrastructure code (KTH#999)
  Demo: How to add code coverage report on Github using Clover and GitHub Action (KTH#994)
  Demo proposal: Implementation of Docker to React Application (KTH#992)
  Course Automation: automatic labels (KTH#932)
  Update README.md
  Reschedule Nix presentation to week 2 (KTH#1001)
  Course Automation: Upvote other students' work (KTH#991)
  Presentation Kanban vs Scrum (KTH#993)
  ...
  • Loading branch information
arxra committed Mar 29, 2021
2 parents b623e79 + 6c08624 commit 8f056fb
Show file tree
Hide file tree
Showing 52 changed files with 931 additions and 2 deletions.
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,9 @@ The schedule is at <https://www.kth.se/social/course/DD2482/calendar/>
* [How to survive the KTH DevOps course](https://docs.google.com/presentation/d/1SxHftBTBefN8jA6nVhlgKFP6BypdyV3Q_Gh1R8IwWK4/edit?usp=sharing)
* Goals: watch the repo, find a first teammate, register one first task as a pull request on this repo.

### Week 2
### Week 2 <https://kth-se.zoom.us/j/67189910023>
* Technical Briefing (B. Baudry)
* Preparatory material [Testing at scale](https://increment.com/testing/testing-at-scale/)
* Guest Lecture: Continuous Integration [Mats Skoglund (Scania)](https://www.linkedin.com/in/matsskoglund/).
* Student presentations

Expand Down Expand Up @@ -77,7 +78,7 @@ The schedule is at <https://www.kth.se/social/course/DD2482/calendar/>


To pass the course, the student has to collect 4 grades:
* The grades are in category: "[presentation](https://github.com/KTH/devops-course/tree/2021/contributions/presentation)", "[essay](https://github.com/KTH/devops-course/tree/2021/contributions/essay)", "[video demo](https://github.com/KTH/devops-course/tree/2021/contributions/demo)", "[executable tutorial](https://github.com/KTH/devops-course/tree/2021/contributions/executable-tutorial)", "[contribution to open-source](https://github.com/KTH/devops-course/tree/2021/contributions/open-source)", "[course automation](https://github.com/KTH/devops-course/tree/2021/contributions/course-automation)", "[feedback](https://github.com/KTH/devops-course/tree/2021/contributions/feedback)" (choose four out of them, at most one in the same category, it is not necessary to cover everything).
* The grades are in category: "[presentation](https://github.com/KTH/devops-course/blob/2021/grading-criteria.md#presentations)", "[essay](https://github.com/KTH/devops-course/blob/2021/grading-criteria.md#essays)", "[video demo](https://github.com/KTH/devops-course/blob/2021/grading-criteria.md#video-demos)", "[executable tutorial](https://github.com/KTH/devops-course/blob/2021/grading-criteria.md#executable-tutorials)", "[contribution to open-source](https://github.com/KTH/devops-course/blob/2021/grading-criteria.md#open-source-contributions)", "[course automation](https://github.com/KTH/devops-course/blob/2021/grading-criteria.md#course-automation)", "[feedback](https://github.com/KTH/devops-course/blob/2021/grading-criteria.md#feedback)" (choose four out of them, at most one in the same category, it is not necessary to cover everything).
* The [grading criteria page](grading-criteria.md) is the unique reference which explains how to pass / pass with distinction.
* The strict deadline for essays, tutorials, contributions to open-source, course automation is April 30, 23h59 Stockholm time; and "[demo](https://github.com/KTH/devops-course/tree/2021/contributions/demo)"; the strict deadline for repeated tasks (all) is May 31, 23h59 Stockholm time.
* The student proposes a category and a topic, which is discussed and accepted by the TA. The proposal is made as a pull-request on this repository. The four graded contributions must have little overlap.
Expand Down
21 changes: 21 additions & 0 deletions contributions/course-automation/amarh-ntas/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Course automation: Essay bibliography check & summary
## Members
Amar Hodzic (amarh@kth.se)

Natan Teferi Assegehegn (ntas@kth.se)
## Proposal
We would like to create a Github Action that produces a PR comment with the number of references used as well as an excerpt from the reference list. This would simplify the TAs job in getting an overview without having to open the file and scroll down.
We are aware of another proposal that summarises essays but it has no mention of references.

What the Action should do:
* When a PR uses a specific label (e.g. essay), create a comment on that PR
* The comment should have a reference count
* The comment should include the reference list
* The reference list should be stripped down based on verbosity level set in the code (e.g. remove "accessed date", URL etc)

Criterias it should fulfill:
* Done before April 6
* The task produces a PR comment
* The task runs on a standard platform (Github Action)
* The task is praised by the other students of this course
* The code for the task is available and well documented
16 changes: 16 additions & 0 deletions contributions/course-automation/anhenri/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Course automation: Check length of youtube video

## Members

Andreas Henriksson (anhenri@kth.se)
GitHub: [heeenkie](https://github.com/heeenkie)

## Proposal

I would like to check the length of the demo video so that it fulfills the requested length.


For this, I will do a Github action on pushes that concernes the demo folder.
Extract the url to the youtube video
Check the length of the video and if it is between 3 and 5 minutes
Update PR status
18 changes: 18 additions & 0 deletions contributions/course-automation/atema/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Course automation: Checking essay requirements

## Members

Martijn Atema (atema@kth.se)
GitHub: [Atema](https://github.com/Atema)

## Proposal

I want to create a GitHub action (on pull requests) that automatically checks whether the word count and plagarism are within defined boundaries.

In order, this action should:

- Determine if the pull request concerns an essay submission
- Find the submitted pdf file
- Check the word count within the file
- Submit the file to a plagiarism check service
- Report the status on the PR
20 changes: 20 additions & 0 deletions contributions/course-automation/augustjo-grunler/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Course automation: Check Feedback Requirements

## Members
August Jönsson:

Github: Augustjon

KTH: augustjo (@kth.se)

Daniel Grünler:

Github: Grunler

KTH: grunler (@kth.se)

## Proposal:
We plan on makign a Github action that automates part of the evaluation for the feedback task.
This will include checks to see that the feedback exceeds the minimum word limit of 500 words, that it meets deadline requirements and that there are pointers to additional material.
We will also implement the possible checks for a remarkable submission, such as the feedback surpassing 1000 words or being submitted within 24 hours.

24 changes: 24 additions & 0 deletions contributions/course-automation/axp-chrigu/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Course automation: Dashboard for tasks

## Members

Axel Pettersson (axp@kth.se)
GitHub: [Ackuq](https://github.com/Ackuq)

Christopher Gustafson (chrigu@kth.se)
Github: [ChristopherGustafson](https://github.com/ChristopherGustafson)

## Proposal

Create a GitHub action that is triggered when new tasks / proposals are committed to the repository, this will then generate a dashboard of all the contributions made overall, including those submitted in the previous years.

The requirements for the actions are:

- Automatic triggered at new submissions
- Include the authors and title of the task
- Link to the task
- Classify if completed or not
- Group by year and category
- Display the number of submissions per category / year
- Search for repeated tasks
- Provide a summary per year: nb of taks per category, nb of submissions, etc.
19 changes: 19 additions & 0 deletions contributions/course-automation/badal-johennin/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Automatic duplicate proposal detection
## Members
Lee Badal (badal@kth.se)

GitHub: [@LeeBadal](https://github.com/LeeBadal)

Johan Henning (johennin@kth.se)

GitHub [@johennin](https://github.com/johennin)

## Proposal
We plan to create a github action that validates that no previous/similar proposals have been made before.

To verify that the PR is a proposal we intend to test the folder structure or validate that a proposal label is assigned (if https://github.com/KTH/devops-course/pull/949 is implemented)
We will then run a semantic analysis comparator to previous PR(Title and description) proposals and notify the user/TA's by writing a comment if they are above a certain threshold of similarity or if manual revision by a TA is required. (In this case the URLs to the similar PR will be provided)

## Proposed tools
* Github Actions
* [NLTK](https://www.nltk.org/)
16 changes: 16 additions & 0 deletions contributions/course-automation/felixfon/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
# Course automation: Generate Summary Readme on Category Folders

## Members

Félix Fonteneau (felixfon@kth.se)
GitHub: [Félix](https://github.com/FelixFonteneau)

## Proposal

I would like to create an automation that generate a summary readme for each category folder, based on the content of the contributions, and update when new project

For this, I will do a a Github action on pushes that:

- Check if a new contribution folder is pushed in one category folder or an update in these folders
- Retrieve the information of the contribution (e.g. the contributors, the status, a summary (if possible)... )
- Update the readme of the contribution directory (demo or essay)
23 changes: 23 additions & 0 deletions contributions/course-automation/isacarvid-aatif/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@

# Course automation: Email notification for proposal-PR new comments

## Members
Ayub Atif (aatif@kth.se)
GitHub: [ayubatif](https://github.com/ayubatif)

Isac Arvidsson (isacarv@kth.se)
Github: [isacarvid](https://github.com/isacarvid)

## Proposal

We want to send a notification via email to all PR group members when a new comment on a proposal-PR has been made. The problem arises as only the author of the PR would receive a notification normally, leaving the other members without knowledge of needed changes. Thereby providing an improvment to the course automation experience.

The requirements for the actions are:

- When a proposal-PR is commented it triggers github actions.
- Parse README.md to find all members.
- Include title of PR.
- Include the new comment.
- Send email to all group members.

Note: The student can set on/off the notification (it will be off by default). This way, students who don't want to be notified are not going to receive email alerts.
12 changes: 12 additions & 0 deletions contributions/course-automation/kallem-manande/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# course-automation: automatic labels

## Members

Kalle Meurman (kallem@kth.se)
GitHub: [Kalle](https://github.com/Wizkas0)

Måns Andersson (manande@kth.se)
GitHub: [Måns](https://github.com/mansand1)

## Proposal
Action that automatically adds labels to issues, pull-requests, etc. based on keywords in message.
22 changes: 22 additions & 0 deletions contributions/course-automation/kalpet-andnil5/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Course automation proposal: Verify PR submitted have Github id's and KTH ids matching students registered to the course

## Members

Kalle Pettersson (kalpet@kth.se)
GitHub: [KallePettersson](https://github.com/KallePettersson)

Anders Nillson (andnil5@kth.se)
GitHub: [andnil5](https://github.com/andnil5)

## Proposal
We want to solve the issue described by baudry in #916.
"Check that all PR submitted for the course come from a Github id that corresponds to one KTH id of a student who registered for the course"

## Proposed solution:

* Create a GitHub javascript action to be run on each PR.
* Extract the GitHub id of the PR author.
* Create a list of valid kth ids (from students registered to course).
* If GitHub id matches kth id, approve PR.
* Otherwise, check that the Member mail address in the README match.
* Utilize Status checks API to visualize the result.
29 changes: 29 additions & 0 deletions contributions/course-automation/kultala-borzi/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@

# Course Automation Proposal: Checking legal group composition

## Members:
Henrik Kultala (kultala@kth.se)
GitHub: [hengque](https://github.com/hengque)

Eleonora Borzi (borzi@kth.se)
GitHub: [EleonoraBorzis](https://github.com/EleonoraBorzis)


## Group rules for this course:
- Max 3 persons in a group

- You cannot be with the same persons for more than 2 projects.

- You can work alone on one or at most two projects.

- When you send a pull request for registration, please follow the name convention of using the email addresses of two members to create the folder: email-email.
- This is assumed to be the same email addresses as specified in the readme.

- This is also assumed to mean “all members of the group” and not “two members”; i.e. if there are three members then all three mbemers’ email address should be included in the folder name.

## Proposal
When a new project is proposed, the readme and the folder name are checked for the names of the group members. The group validity is checked against the rules stated above and a comment with the results is posted on the PR. It also checks that the name of the folder is correct in relation to the email addresses in the readme.

## Tools:
Github Actions
Bonus: Status Check on GitHub
25 changes: 25 additions & 0 deletions contributions/course-automation/lerjevik-renstr/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
# Course Automation: Upvote other students’ work

## Members
- [Dina Lerjevik](https://github.com/dmariel) (lerjevik@kth.se)
- [Anders Renström](https://github.com/Renstrom) (renstr@kth.se)

## Proposal

We would like to integrate a functionality that enables students to upvote other students' work. This would facilitate for students to fulfill the criteria: "The task is praised by the other students of this course", which is currently one of the criteria for "Course Automation".

The action should perform the following:

* When a specific label is included in a PR, create a comment on an issue with details from the Course Automation-folder (README-title and URL to project repository).
* A comment is added to the PR when a comment has been added to the issue. A link to the issue-comment is included.
* This enables people to upvote projects, by interting :thumbsup: on the comments.
* The upvotes are collected and visualized in a table, in the form of a “Top-list”.

We aim to fulfill the following criteria:

* Deadline before April 6, 2021 (in order to be useful for the course)
* The automation task produces a PR status or issue / PR comment and points to a generated page with valuable additional information
* The automation task is reusable in other courses
* The task runs on a standard platform (GitHub Action)
* The task is praised by the other students of this course
* The code for the task is available and the repo is well documented
18 changes: 18 additions & 0 deletions contributions/course-automation/oskstr-swill/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Course Automation: Checking Open-Source Requirements

## Members
- [Oskar Strömberg](https://github.com/oskstr) (oskstr@kth.se)
- [Sebastian Williams](https://github.com/sfkwww) (swill@kth.se)

## Proposal

We would like to create a GitHub action that would automatically check the requirements for an open-souce contribution.

The action should check that repo has:
- More than 10 stars
- More than 100 commits
- An active community
- open to interpretation
- provide stats on what has happend the last year (comments, PRs, commits)

We believe that checking that a project is related to DevOps may be too difficult for the purposes of this project.
18 changes: 18 additions & 0 deletions contributions/course-automation/siper/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Course automation: Automatic validation and labeling

## Members

Simon Persson (siper@kth.se)
GitHub: altaired


## Proposal

I plan to make a github action that automatially asigns labels depending on the category of the proposal and a "proposal" label (if it is a new proposal). The action should also validate the folder naming structure and that a README file is included properly. This would allow the TA's to easily filter out what PR:s to check.

In order to achive this, the following will have to be done:
* Validate the folder structure and README on each push
* Check on each PR what file / files has been modified, to determine what category the PR is related to. Also check if files that should't have been modified are included and if that's the case, return an error to the user.
* Assign the appropriate labels
* Report back the status if the PR is following the required structure.
* Create a report showing statistics over the number of proposals.
15 changes: 15 additions & 0 deletions contributions/course-automation/zangis/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Course automation: Verify pull request content changes

## Members

Ralfs Zangis (zangis@kth.se)
GitHub: [Ralfs](https://github.com/bubriks)

## Proposal
Ensuring that pull request can be approved only if the formatting requirements are met.

## Description
- Check changed .md file contents (contains: task name, members, and description)
- Verify that the member names (from README.md) are represented in the containing folder name
- Confirm that file structure follows the rules (no changes outside members folder in the selected category)
- Disallow pull request approval if any checks have failed
20 changes: 20 additions & 0 deletions contributions/course-automation/zidi-sihan/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Course automation: Checking link validity in the course github text descriptions

## Members

Chen, Zidi: zidi@kth.se, https://github.com/Chen-Zidi
Chen, Sihan sihanc@kth.se, https://github.com/Spycsh


## Proposal

We want to check the validity of the deadlinks in the course github
text descriptions, for example, readme files. Because sometimes
the links might be not accessible or out of date.


## Proposed solution

After finding a broken link, our idea is:
- to create a github action and whenever there is a pull request, the action should automatically parse the children or descendant pages under the course website (KTH/devops-course) to find all the broken links
- to show the detail information (time of when the action find the broken link, the corresponding commit log and who writes this dead link, using git blame maybe) of all the broken links in a list of one issue
18 changes: 18 additions & 0 deletions contributions/demo/arieltan-zangis/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Video demo proposal: Beginners guide on automated backups in azure

## Members

Justin Arieltan (arieltan@kth.se)
GitHub: [Justin](https://github.com/Agriad)

Ralfs Zangis (zangis@kth.se)
GitHub: [Ralfs](https://github.com/bubriks)

## Proposal
Creating an easy to follow guide on why/how to use backups.

- Why backups are important
- 3 2 1 backup strategy
- Setting up azure
- Establishing automated backup for SQL database
- Showcasing results
15 changes: 15 additions & 0 deletions contributions/demo/axelelm-kittyt/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Video demo: CD of React App with docker on AWS using Github actions

## Members

Axel Elmarsson (axelelm@kth.se)
GitHub: [elmaxe](https://github.com/elmaxe)

Kitty Thai (kittyt@kth.se)
Github: [kittytinythai](https://github.com/kittytinythai)

## Proposal

In this demo we will show how to configure a CD environment for a React application on AWS.

TBA
Loading

0 comments on commit 8f056fb

Please sign in to comment.