Skip to content

Commit

Permalink
Merge pull request #555 from ThrowTheSwitch/test/switch_to_actions
Browse files Browse the repository at this point in the history
Switch from travis to actions
  • Loading branch information
mvandervoord authored Jan 29, 2021
2 parents 7d92905 + 355e822 commit db7bdad
Show file tree
Hide file tree
Showing 13 changed files with 97 additions and 57 deletions.
69 changes: 69 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
---
# Continuous Integration Workflow: Test case suite run + validation build check
name: CI

# Controls when the action will run.
# Triggers the workflow on push or pull request events but only for the master branch
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]

jobs:
# Job: Unit test suite
unit-tests:
name: "Unit Tests"
runs-on: ubuntu-latest
steps:
# Install Binutils, Multilib, etc
- name: Install C dev Tools
run: |
sudo apt-get update -qq
sudo apt-get install --assume-yes --quiet gcc-multilib
sudo apt-get install -qq gcc-avr binutils-avr avr-libc
# Install GCovr
- name: Install GCovr
run: |
sudo pip install gcovr
# Checks out repository under $GITHUB_WORKSPACE
- name: Checkout Latest Repo
uses: actions/checkout@v2
with:
submodules: recursive

# Install Ruby Testing Tools (Bundler version should match the one in Gemfile.lock)
- name: Setup Ruby Testing Tools
run: |
sudo gem install rspec
sudo gem install rubocop -v 0.57.2
sudo gem install bundler -v "$(grep -A 1 "BUNDLED WITH" Gemfile.lock | tail -n 1)"
bundle install
# Run Tests
- name: Run All Self Tests
run: |
bundle exec rake ci
# Build & Install Gem
- name: Build and Install Gem
run: |
gem build ceedling.gemspec
sudo gem install --local ceedling-*.gem
# Run Blinky
# Disabled because it's set up for avr-gcc
#- name: Run Tests On Blinky Project
# run: |
# cd examples/blinky
# ceedling module:create[someNewModule] module:destroy[someNewModule] test:all
# cd ../..

# Run Temp Sensor
- name: Run Tests On Temp Sensor Project
run: |
cd examples/temp_sensor
ceedling module:create[someNewModule] module:destroy[someNewModule] test:all
cd ../..
29 changes: 0 additions & 29 deletions .travis.yml

This file was deleted.

4 changes: 2 additions & 2 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -29,11 +29,11 @@ PLATFORMS
x64-mingw32

DEPENDENCIES
bundler (>= 1.3.5)
bundler
constructor
deep_merge
diy
rake (>= 12.2.1)
rake
require_all
rr
rspec (~> 3.8)
Expand Down
15 changes: 9 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
Ceedling - Build/Test System for C Based on Ruby/Rake
=====================================================

[![Ceedling Build Status](https://api.travis-ci.org/ThrowTheSwitch/Ceedling.png?branch=master)](https://travis-ci.org/ThrowTheSwitch/Ceedling)

Ceedling is a build system for C projects that is something of an extension around Ruby’s Rake (make-ish) build system. Ceedling also makes TDD (Test-Driven Development) in C a breeze by integrating [CMock](https://github.com/throwtheswitch/cmock), [Unity](https://github.com/throwtheswitch/unity), and [CException](https://github.com/throwtheswitch/cexception) -- three other awesome open-source projects you can’t live without if you're creating awesomeness in the C language. Ceedling is also extensible with a handy plugin mechanism.
Ceedling ![CI](https://github.com/ThrowTheSwitch/Ceedling/workflows/CI/badge.svg)
========
Ceedling is a build system for C projects that is something of an extension
around Ruby’s Rake (make-ish) build system. Ceedling also makes TDD (Test-Driven Development)
in C a breeze by integrating [CMock](https://github.com/throwtheswitch/cmock),
[Unity](https://github.com/throwtheswitch/unity), and
[CException](https://github.com/throwtheswitch/cexception) --
three other awesome open-source projects you can’t live without if you're creating awesomeness
in the C language. Ceedling is also extensible with a handy plugin mechanism.

Usage Documentation
===================
Expand Down
10 changes: 5 additions & 5 deletions ceedling.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Gem::Specification.new do |s|
s.version = Ceedling::Version::GEM
s.platform = Gem::Platform::RUBY
s.authors = ["Mark VanderVoord", "Michael Karlesky", "Greg Williams"]
s.email = ["[email protected]", "[email protected]", "[email protected]"]
s.email = ["[email protected]", "[email protected]", "[email protected]"]
s.homepage = "http://throwtheswitch.org/ceedling"
s.summary = "Ceedling is a build automation tool for C unit test suites that packages up Unity, CMock, and Rake-based build management functionality"
s.description = <<-DESC
Expand All @@ -30,10 +30,10 @@ Ceedling projects are created with a YAML configuration file. A variety of conve

s.required_ruby_version = ">= 2.4.0"

s.add_dependency "thor", ">= 0.14.5"
s.add_dependency "rake", ">= 12.2.1"
s.add_dependency "deep_merge", ">= 1.2.1"
s.add_runtime_dependency "constructor", ">= 1.0.4"
s.add_dependency "thor", "~> 0.14"
s.add_dependency "rake", "~> 12"
s.add_dependency "deep_merge", "~> 1.2"
s.add_dependency "constructor", "~> 2"

# Files needed from submodules
s.files = []
Expand Down
4 changes: 2 additions & 2 deletions docs/CeedlingPacket.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[All code is copyright © 2010-2020 Ceedling Project
[All code is copyright © 2010-2021 Ceedling Project
by Mike Karlesky, Mark VanderVoord, and Greg Williams.

This Documentation Is Released Under a
Expand Down Expand Up @@ -2229,7 +2229,7 @@ Adding Handy Rake Tasks for Your Project (without Fancy Pants Custom Plugins)
-----------------------------------------------------------------------------

Add a file `rakefile.rb` at the root of your project that loads Ceedling. This
differs weather you are using the gem version or a local Ceedling version.
differs whether you are using the gem version or a local Ceedling version.

Gem Version:
```ruby
Expand Down
4 changes: 3 additions & 1 deletion examples/blinky/project.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@
:build_root: build
:release_build: TRUE
:test_file_prefix: test_
:which_ceedling: gem
:ceedling_version: '?'

#You'll have to specify these
:environment:
Expand Down Expand Up @@ -92,7 +94,7 @@

:plugins:
:load_paths:
- vendor/ceedling/plugins
- "#{Ceedling.load_path}"
:enabled:
- stdout_pretty_tests_report
- module_generator
Expand Down
3 changes: 1 addition & 2 deletions examples/blinky/rakefile.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
PROJECT_CEEDLING_ROOT = "vendor/ceedling"
load "#{PROJECT_CEEDLING_ROOT}/lib/ceedling.rb"
require "ceedling"
Ceedling.load_project

task :default => %w[ test:all release ]
Expand Down
4 changes: 3 additions & 1 deletion examples/temp_sensor/project.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
:build_root: build
# :release_build: TRUE
:test_file_prefix: Test
:which_ceedling: gem
:ceedling_version: '?'

#:release_build:
# :output: TempSensor.out
Expand Down Expand Up @@ -58,7 +60,7 @@

:plugins:
:load_paths:
- vendor/ceedling/plugins
- "#{Ceedling.load_path}"
:enabled:
- stdout_pretty_tests_report
- module_generator
Expand Down
6 changes: 0 additions & 6 deletions examples/temp_sensor/rakefile.rb

This file was deleted.

2 changes: 1 addition & 1 deletion lib/ceedling/version.rb
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ module Version
eval("#{name} = '#{a.join(".")}'")
end

GEM = "0.30.0"
GEM = "0.31.0"
CEEDLING = GEM
end
end
2 changes: 1 addition & 1 deletion vendor/cmock
Submodule cmock updated 0 files
2 changes: 1 addition & 1 deletion vendor/unity

0 comments on commit db7bdad

Please sign in to comment.