Skip to content

Commit

Permalink
Merge pull request #1 from KTH/2021
Browse files Browse the repository at this point in the history
Update fork
  • Loading branch information
fbjorkman authored Mar 30, 2021
2 parents 2a2f935 + 75390f0 commit 9169a58
Show file tree
Hide file tree
Showing 48 changed files with 864 additions and 40 deletions.
49 changes: 49 additions & 0 deletions .github/workflows/assignment-statistics.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
# This is a basic workflow to help you get started with Actions

name: Statistic Information for Each Assignment Category

# Controls when the action will run.
on:
# Triggers the workflow on push or pull request events but only for the 2021 branch
push:
branches:
- "2021"

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

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "build"
count-assignments:
# The type of runner that the job will run on
runs-on: ubuntu-latest

# Steps represent a sequence of tasks that will be executed as part of the job
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2

# Setup Python
- name: Setup Python
uses: actions/setup-python@v2.2.1
with:
python-version: '3.x'

- name: Install dependencies
run: |
python -m pip install --upgrade pip
if [ -f ./tools/requirements.txt ]; then pip install -r ./tools/requirements.txt; fi
# Set timezone to Europe/Stockholm
- name: Set timezone
run: sudo timedatectl set-timezone Europe/Stockholm

# Runs a single command using the runners shell
- name: Update the statistic issue
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
REPO_FULLNAME: ${{ github.repository }}
CONTRIBUTIONS_PATH: ${{ secrets.ASSIGNMENT_STAT_CONTRIBUTIONS_PATH }}
ISSUE_NUMBER: ${{ secrets.ASSIGNMENT_STAT_ISSUE_NUMBER }}
run: python ./tools/stat_submissions.py -p $CONTRIBUTIONS_PATH --printInMarkdown --printStudentStat --publish
3 changes: 2 additions & 1 deletion 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
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
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/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
2 changes: 2 additions & 0 deletions contributions/demo/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
## Please see the grading criteria for live demo [here](https://github.com/KTH/devops-course/blob/2021/grading-criteria.md)

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
13 changes: 13 additions & 0 deletions contributions/demo/aronber/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Designing integration tests with cypress

## Members

Aron Hansen Berggren (aronber@kth.se) GitHub [arxra](https://github.com/arxra)

## Agenda

Setting up cypress goes in 20 seconds and is not particularly interesting.
The Cpress dashboard allows to visuallyze the tests running in parallel.
This requires some extra thought while designing your tests, but provides you with massive improvments.
I feel like a video will get across how to do these things while keeping the attention of the fellow students,
and others who find the video across the internets.
14 changes: 14 additions & 0 deletions contributions/demo/damne-fwallb/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# How to add code coverage report on Github using Clover and GitHub Action

### Contributors:

Sara Damne - [damne@kth.se](damne@kth.se) - [@damne](https://github.com/damnePers)

Frida Wallberg - [fwallb@kth.se](fwallb@kth.se) - [@fwallb](https://github.com/fwallb)

### Description

The demo will show:
- how to setup code coverage measuring on repo using Clover
- output results in a report
- adding badge, displaying coverage percentage, to Github repo using Github Actions
21 changes: 21 additions & 0 deletions contributions/demo/despinoy-gdba/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Demo: Docker implementation to React native project
## Member
Name: George Bassilious

Mail: gdba@kth.se

Github: George-Bassilious

Name: Eva Despinoy

Mail: despinoy@kth.se

Github: evkade


##Proposal:
The demo will show how to integrate docker in a React Native application in a video. We will show how to dockerize the different elements of the application.

This is related to DevOps as docker helps running applications in any environment as it puts the code in containers which virtualizes the operating system of the application. Docker seems to be better than using virtual machines in terms of efficiency,scalability and performance. In DevOps it is important that you can have an ecosystem of practises that automate the work between development and testing and therefore Docker provides that ecosystem in an efficient way.

The demo is relevant to teach people to use docker.
14 changes: 14 additions & 0 deletions contributions/demo/yuxin-urama/Readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Video Demo: Github integration with Jenkins

## Members
Ifeoma Urama (Urama@kth.se)

Yuxin Meng (yuxinm@kth.se)

## Outline
1. Introduction of Jenkins as DevOps tool.
2. Why use Jenkins with Github.
3. Demo on how to integrate git with Jenkins

## Proposal
Jenkins is an open automation tool, written in Java with plugins for continous integration in Devops. It is a tool used to build, test and deploy a reliable software.
23 changes: 23 additions & 0 deletions contributions/essay/aatif-arieltan/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
## Essay: Comparing DevOps tools you will likely encounter in the workplace

### Members:

Name: Ayub Atif

Mail: aatif@kth.se

Github: [ayubatif](https://github.com/ayubatif)

Name: Justin Arieltan

Mail: arieltan@kth.se

Github: [Agriad](https://github.com/Agriad)

### Proposal:

DevOps encompasses a wide tier of tools including CI/CD tools, code repository hosts, and cloud hosting services. We discuss the differences and similarities of these products along with why one would choose one over the other. We will also give examples of organizations that use these services.

* Jenkins vs Travis vs Circle CI
* Azure vs GCP vs AWS
* Gitlab vs Github vs Bitbucket
11 changes: 11 additions & 0 deletions contributions/essay/agnespet/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Essay Proposal
I want to write an essay about why to (and how to) use BDD(Behaviour Driven development) in DevOps.
The essay will cover:
- DevOps testing (The testing hourglass)
- What BDD is (short on how it evolved)
- How BDD can improve devOps projects
- The 3 amigos (who should use BDD)
- BDD tools and practices to use and follow

## Members
Agnes Petäjävaara <agnespet@kth.se> [anorangesky](https://github.com/anorangesky)
13 changes: 13 additions & 0 deletions contributions/essay/amarh-nwessman/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Essay: Automated tests for infrastructure code
## Members
Amar Hodzic (amarh@kth.se)

Niklas Wessman (nwessman@kth.se)
## Proposal
The essay aims to present different ways of automating tests for infrastructure code when using tools such as Terraform and Kubernetes. Although the essay will not focus on any specific tool, rather give an general overview.

The essay will cover:
* What is infrastructure code
* Why should you test it
* Challanges in automated testing of infrastructure code
* How to test it (e.g. static analysis, unit tests, integration tests)
Loading

0 comments on commit 9169a58

Please sign in to comment.