Skip to content

Instantly share code, notes, and snippets.

Avatar
🍻
Ewiger Feierabend

Henne Vogelsang hennevogel

🍻
Ewiger Feierabend
View GitHub Profile
View token_workflow.rb
@token = Token::Workflow.new(scm_access_token: '$GITHUB_ACCESS_TOKEN')
Webhook comes in from github
@token.call
-> branch
-> create EventSubscription
-> Event::BuildFail for package blah happens
-> notify github with @token.scm_access_token
View obs_workflow.yml
pull-request: # The workflow name
runs_on: pull_request # limits this workflow to this Github/Gitlab event
project: home:hennevogel:myfirstproject:$PR_NUMBER # operates on this project
prjconf: dist/obs/prjconf # Will add the content of this file inside the SCM as prjconf
steps:
repositories: # runs @project.repositores.create(...)
- project: openSUSE_Factory
repo: standard
arch: x86_64
flags: # runs @project.flags.create(...)
View rails.log
13:30:48 clock.1 | E, [2020-10-13T13:30:48.021540 #829] ERROR -- : class or module required (TypeError)
13:30:48 clock.1 | /obs/src/api/app/lib/backend/logger.rb:28:in `instance_of?'
13:30:48 clock.1 | /obs/src/api/app/lib/backend/logger.rb:28:in `info'
13:30:48 clock.1 | /obs/src/api/app/lib/backend/connection.rb:30:in `get'
13:30:48 clock.1 | /obs/src/api/app/lib/backend/connection_helper.rb:50:in `http_get'
13:30:48 clock.1 | /obs/src/api/app/lib/backend/api/build_results/worker.rb:11:in `status'
13:30:48 clock.1 | /obs/src/api/app/lib/backend/remember_location.rb:15:in `call'
13:30:48 clock.1 | /obs/src/api/app/lib/backend/remember_location.rb:15:in `block in singleton_method_added'
13:30:48 clock.1 | /obs/src/api/app/models/worker_status.rb:40:in `update_workerstatus_cache'
13:30:48 clock.1 | /obs/src/api/config/clock.rb:23:in `block in <module:Clockwork>'
View full-stack-web-developer.md

Full Stack Web Developer - Open Build Service

Location: Near CET Timezone. Home Office / Nürnberg / Prague

Our Product

At this position you will work on the Open Build Service (OBS). A massive Ruby on Rails/Perl collaboration platform to maintain, build and distribute software. It helps SUSE Engineering, our partners and community developers to ship software for a wide range of operating systems and hardware architectures. The OBS makes it easy to harness the power of the open source development model by providing all the collaborative workflows needed.

https://openbuildservice.org/

Our Team

At SUSE, we have a dedicated team of engineers who work, as part of the global free software community, to continually improve the quality and functionality of the Open Build Service and to provide SUSE/openSUSE developers with the enterprise-quality service they've come to expect. This is our team, the Build Solutions team.

View idea2done.md

Phases of Development in the Build Solutions Team

When we want address a new field of work together as a team we go through the phases below. We track progress on our Opportunity Backlog.

Opportunities

Our PO (plus however is neded) takes an opportunity and gathers understanding of what the customers want and how we’re helping them. With this knowledge we build a story map with all the things you would need for a MVP/Skateboard/Walking Skeleton.

to Discovery

View obs-errors-filters.txt
require ["copy","fileinto","imap4flags"];
# rule:[alerts]
if anyof (header :contains "subject" "[obs-errors] (100) [OBS Frontend][production]", header :contains "subject" "(100) [api.suse.de][production]", exists "X-Errbit-Comment-Author", header :is "subject" "[obs-errors] Job obs-server has exited with state 'failed'", header :contains "subject" "[obs-errors] Build failed in openQA", header :contains "subject" "[obs-errors] Build incomplete in openQA")
{
fileinto :copy "INBOX/alerts";
fileinto "INBOX/notifications";
stop;
}
# rule:[alerts-package-opensuse]
View bs_request_action_spec.log
frontend@95ef00803962:/obs/src/api> git status|tail
deleted: spec/cassettes/Webui_SearchController/GET_owner/warns_about_short_search_text.yml
deleted: spec/cassettes/Worker_StatusController/GET_/index/1_1_1.yml
deleted: spec/cassettes/Worker_StatusController/GET_/index/1_1_2.yml
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git checkout -- <file>..." to discard changes in working directory)
modified: spec/models/bs_request_action_spec.rb
View gist:9e04349f5495336f82b79a72f1e6b128
require ["copy","fileinto","imap4flags"];
# rule:[alerts]
if anyof (header :contains "subject" "[obs-errors] (100) [OBS Frontend][production]", header :contains "subject" "(100) [api.suse.de][production]", exists "X-Errbit-Comment-Author", header :is "subject" "[obs-errors] Job obs-server has exited with state 'failed'", header :contains "subject" "[obs-errors] Build failed in openQA", header :contains "subject" "[obs-errors] Build incomplete in openQA")
{
fileinto :copy "INBOX/alerts";
fileinto "INBOX/notifications";
stop;
}
# rule:[alerts-package-opensuse]
if allof (header :is "x-mailinglist" "obs-errors", header :contains "x-obs-package" "OBS:Server:Unstable/obs-server", header :is "x-obs-event-type" "build_fail", header :is "x-obs-repository" "openSUSE_42.3/x86_64")
View bs-values.md

Our Values

We value our customers. By understanding peoples' goals, needs and their limitations. Everything we build and change, everything we do, we do for the people using our product.

We value quality. By taking due time, avoiding shortcuts, pacing ourselves. By being critical of what we do and by welcoming critique from others. We always leave our code base, processes and team better than we have found it.

View gist:8b09f5a107cdca8b03ebdfcbe2f4e4a7
diff --git a/src/api/lib/backend/api/build_results/status.rb b/src/api/lib/backend/api/build_results/status.rb
index a685bd5ac3..e19226ff09 100644
--- a/src/api/lib/backend/api/build_results/status.rb
+++ b/src/api/lib/backend/api/build_results/status.rb
@@ -48,10 +48,8 @@ module Backend
# Lists failed package builds in a project
# @return [String]
def self.failed_results(project_name)
- Rails.cache.fetch("failed_results-#{project_name}") do
- response = http_get(['/build/:project/_result', project_name], params: { code: %w[failed broken unresolvable] }, expand: [:code])