Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update fork #1

Merged
merged 48 commits into from
Mar 30, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
539b3de
Presentation on monitoring with the tool Prometheus (#927)
arxra Mar 25, 2021
a0435c7
Presentation: GitOps (#987)
charlottea98 Mar 25, 2021
e445cd0
Create README.md (#990)
bubriks Mar 25, 2021
259b379
Course automation proposal: Verify PR submitted have Github ids and K…
KallePettersson Mar 25, 2021
ba691fb
Course automation: Notification for proposal-PR new comments (#958)
isacarvid Mar 25, 2021
54b97f0
Update README.md
Mar 25, 2021
a242a67
Executable Tutorial: Integrate DataDog in existing app (#972)
evkade Mar 25, 2021
969c932
Presentation Kanban vs Scrum (#993)
evkade Mar 25, 2021
6f2427d
Course Automation: Upvote other students' work (#991)
dmariel Mar 25, 2021
f3e00be
Reschedule Nix presentation to week 2 (#1001)
ysndr Mar 25, 2021
dc03a8b
Update README.md
bbaudry Mar 26, 2021
bd2b02e
Course Automation: automatic labels (#932)
Wizkas0 Mar 26, 2021
f2a14be
Demo proposal: Implementation of Docker to React Application (#992)
George-Bassilious Mar 26, 2021
b91ef6d
Demo: How to add code coverage report on Github using Clover and GitH…
fwallb Mar 26, 2021
51ea052
Essay: Automated tests for infrastructure code (#999)
amarhod Mar 26, 2021
db7a3fc
Course automation: Automatic validation and labeling (#949)
altaired Mar 26, 2021
8758c9e
Presentation : Influence of DevOps in Software testing (#984)
Renugaa Mar 26, 2021
c84334d
Presentation: The history of devops (#1004)
hallon-heyman Mar 26, 2021
77b4444
Course automation: Verify pull request content changes (#981)
bubriks Mar 26, 2021
b5919cc
Presentation week2 (#1005)
annsudo Mar 26, 2021
e64aac1
Executable tutorial: nginx on vagrant box (#956)
iriediese Mar 26, 2021
c38f3a7
Presentation Proposal: Continuous testing and its role & application …
wska Mar 28, 2021
d7468fa
doc: add essay proposal for devops course (#988)
lazarko Mar 28, 2021
b622fb0
Create README.md (#995)
damnePers Mar 28, 2021
22d79fa
Create readme.md (#996)
EleonoraBorzi Mar 28, 2021
942ea9c
Adds essay proposal (#1009)
oscaralmqvist Mar 28, 2021
6c08624
doc: Course automation proposal (#1008)
amarhod Mar 29, 2021
362e1fa
Add essay proposal (#1018)
andreaskth Mar 29, 2021
c81edf7
Update README.md
bbaudry Mar 29, 2021
132868e
Add GitHub action that automatically counts task registrations (#918)
gluckzhang Mar 29, 2021
4633b4e
Add tutorial proposal (#1015)
m4reko Mar 30, 2021
49d45fe
Add essay readme (#1020)
Agriad Mar 30, 2021
c8997cf
Executable Tutorial Proposal: Setting up a Jenkins CI/CD pipeline for…
ChristopherGustafson Mar 30, 2021
d01b02c
Executable tutorial proposal: integrate TeamCity with Docker (#1025)
Chen-Zidi-zz Mar 30, 2021
4415e83
Essay: Comparison of Kubernetes and Nomad (#1023)
dmariel Mar 30, 2021
a971ad3
Essay proposal: BDD in DevOps (#1032)
anorangesky Mar 30, 2021
9205684
Update README.md (#1039)
heeenkie Mar 30, 2021
dc1df43
doc: remove confusion about feedback on videos
monperrus Mar 30, 2021
898979e
Update README.md
Mar 30, 2021
cbe6cd0
Update README.md
Mar 30, 2021
f6b6aa5
Update README.md
Mar 30, 2021
36fcde9
Open-Source contribution: deploy-rs (#1047)
ysndr Mar 30, 2021
295bd1b
Update the demo criteria
Mar 30, 2021
d331269
Essay: The trend of distributed software architecture (#1031)
Wkkkkk Mar 30, 2021
0b4743c
Demo: Designing integration tests with cypress (#1029)
arxra Mar 30, 2021
8685f4d
Demo: Github integration with Jenkins (#1038)
yuxinmmmm Mar 30, 2021
4e91b44
Create README.md (#1053)
ayubatif Mar 30, 2021
75390f0
Power point added (#1035)
annsudo Mar 30, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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