Skip to content

Commit

Permalink
Merge pull request #80 from yast/github_actions
Browse files Browse the repository at this point in the history
GitHub actions
  • Loading branch information
jreidinger committed Jan 19, 2021
2 parents 4e1946a + c2f81c1 commit af7b471
Show file tree
Hide file tree
Showing 6 changed files with 118 additions and 29 deletions.
82 changes: 82 additions & 0 deletions .github/workflows/ci.yml
@@ -0,0 +1,82 @@

# See https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions

name: CI

on: [push, pull_request]

jobs:
Tests:
runs-on: ubuntu-latest
container: registry.opensuse.org/yast/head/containers/yast-ruby:latest

steps:

- name: Git Checkout
uses: actions/checkout@v2

# just for easier debugging...
- name: Inspect Installed Packages
run: rpm -qa | sort

- name: Unit Tests
run: rake test:unit
# enable code coverage reporting
env:
COVERAGE: 1

# send the coverage report to coveralls.io
- name: Coveralls Report
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}

Rubocop:
runs-on: ubuntu-latest
container: registry.opensuse.org/yast/head/containers/yast-ruby:latest

steps:

- name: Git Checkout
uses: actions/checkout@v2

- name: Rubocop
run: rake check:rubocop

Package:
runs-on: ubuntu-latest
container: registry.opensuse.org/yast/head/containers/yast-ruby:latest

steps:

- name: Git Checkout
uses: actions/checkout@v2

- name: Package Build
run: yast-ci-ruby -o package

Yardoc:
runs-on: ubuntu-latest
container: registry.opensuse.org/yast/head/containers/yast-ruby:latest

steps:

- name: Git Checkout
uses: actions/checkout@v2

- name: Yardoc
run: rake check:doc

# downloading the Docker image takes some time so bundling several fast
# checks into one job avoids that overhead
Checks:
runs-on: ubuntu-latest
container: registry.opensuse.org/yast/head/containers/yast-ruby:latest

steps:

- name: Git Checkout
uses: actions/checkout@v2

- name: POT Check
run: rake check:pot
12 changes: 0 additions & 12 deletions .travis.yml

This file was deleted.

2 changes: 0 additions & 2 deletions Dockerfile

This file was deleted.

9 changes: 6 additions & 3 deletions README.md
@@ -1,5 +1,8 @@
# YaST - The Security Settings Module #

[![Travis Build](https://travis-ci.org/yast/yast-security.svg?branch=master)](https://travis-ci.org/yast/yast-security)
[![Jenkins Build](http://img.shields.io/jenkins/s/https/ci.opensuse.org/yast-security-master.svg)](https://ci.opensuse.org/view/Yast/job/yast-security-master/)

[![Workflow Status](https://github.com/yast/yast-security/workflows/CI/badge.svg?branch=master)](
https://github.com/yast/yast-security/actions?query=branch%3Amaster)
[![Jenkins Status](https://ci.opensuse.org/buildStatus/icon?job=yast-yast-security-master)](
https://ci.opensuse.org/view/Yast/job/yast-yast-security-master/)
[![Coverage Status](https://img.shields.io/coveralls/yast/yast-security.svg)](https://coveralls.io/r/yast/yast-security?branch=master)
[![inline docs](http://inch-ci.org/github/yast/yast-security.svg?branch=master)](http://inch-ci.org/github/yast/yast-security)
3 changes: 1 addition & 2 deletions test/security_test.rb
Expand Up @@ -259,8 +259,7 @@ def enabled?
it "does not write invalid values" do
Security.Settings["kernel.sysrq"] = "yes"
Security.Settings["net.ipv4.ip_forward"] = ""
expect(sysctl_config).to_not receive(:kernel_sysrq).with("yes")
expect(sysctl_config).to_not receive(:raw_forward_ipv4=).with("")
expect(sysctl_config).to_not receive(:kernel_sysrq)
expect(Security.write_kernel_settings).to eq(false)
end

Expand Down
39 changes: 29 additions & 10 deletions test/test_helper.rb
Expand Up @@ -25,24 +25,43 @@
require "yast/rspec"
require_relative 'SCRStub'

::RSpec.configure do |c|
c.include SCRStub
::RSpec.configure do |config|
config.include SCRStub

config.mock_with :rspec do |mocks|
# If you misremember a method name both in code and in tests,
# will save you.
# https://relishapp.com/rspec/rspec-mocks/v/3-0/docs/verifying-doubles/partial-doubles
#
# With graceful degradation for RSpec 2
mocks.verify_partial_doubles = true if mocks.respond_to?(:verify_partial_doubles=)
end
end

if ENV["COVERAGE"]
require "simplecov"
SimpleCov.start
SimpleCov.start do
add_filter "/test/"
end

src_location = File.expand_path("../src", __dir__)
# track all ruby files under src
SimpleCov.track_files("#{src_location}/**/*.rb")

# additionally use the LCOV format for on-line code coverage reporting at CI
if ENV["CI"] || ENV["COVERAGE_LCOV"]
require "simplecov-lcov"

# for coverage we need to load all ruby files
Dir["#{SRC_PATH}/modules/**/*.rb"].each { |f| require_relative f }
Dir["#{SRC_PATH}/lib/**/*.rb"].each { |f| require_relative f }
SimpleCov::Formatter::LcovFormatter.config do |c|
c.report_with_single_file = true
# this is the default Coveralls GitHub Action location
# https://github.com/marketplace/actions/coveralls-github-action
c.single_report_path = "coverage/lcov.info"
end

# use coveralls for on-line code coverage reporting at Travis CI
if ENV["TRAVIS"]
require "coveralls"
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
SimpleCov::Formatter::HTMLFormatter,
Coveralls::SimpleCov::Formatter
SimpleCov::Formatter::LcovFormatter
]
end
end

0 comments on commit af7b471

Please sign in to comment.