Skip to content

Commit db7bdad

Browse files
authored
Merge pull request #555 from ThrowTheSwitch/test/switch_to_actions
Switch from travis to actions
2 parents 7d92905 + 355e822 commit db7bdad

File tree

13 files changed

+97
-57
lines changed

13 files changed

+97
-57
lines changed

.github/workflows/main.yml

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
---
2+
# Continuous Integration Workflow: Test case suite run + validation build check
3+
name: CI
4+
5+
# Controls when the action will run.
6+
# Triggers the workflow on push or pull request events but only for the master branch
7+
on:
8+
push:
9+
branches: [ master ]
10+
pull_request:
11+
branches: [ master ]
12+
13+
jobs:
14+
# Job: Unit test suite
15+
unit-tests:
16+
name: "Unit Tests"
17+
runs-on: ubuntu-latest
18+
steps:
19+
# Install Binutils, Multilib, etc
20+
- name: Install C dev Tools
21+
run: |
22+
sudo apt-get update -qq
23+
sudo apt-get install --assume-yes --quiet gcc-multilib
24+
sudo apt-get install -qq gcc-avr binutils-avr avr-libc
25+
26+
# Install GCovr
27+
- name: Install GCovr
28+
run: |
29+
sudo pip install gcovr
30+
31+
# Checks out repository under $GITHUB_WORKSPACE
32+
- name: Checkout Latest Repo
33+
uses: actions/checkout@v2
34+
with:
35+
submodules: recursive
36+
37+
# Install Ruby Testing Tools (Bundler version should match the one in Gemfile.lock)
38+
- name: Setup Ruby Testing Tools
39+
run: |
40+
sudo gem install rspec
41+
sudo gem install rubocop -v 0.57.2
42+
sudo gem install bundler -v "$(grep -A 1 "BUNDLED WITH" Gemfile.lock | tail -n 1)"
43+
bundle install
44+
45+
# Run Tests
46+
- name: Run All Self Tests
47+
run: |
48+
bundle exec rake ci
49+
50+
# Build & Install Gem
51+
- name: Build and Install Gem
52+
run: |
53+
gem build ceedling.gemspec
54+
sudo gem install --local ceedling-*.gem
55+
56+
# Run Blinky
57+
# Disabled because it's set up for avr-gcc
58+
#- name: Run Tests On Blinky Project
59+
# run: |
60+
# cd examples/blinky
61+
# ceedling module:create[someNewModule] module:destroy[someNewModule] test:all
62+
# cd ../..
63+
64+
# Run Temp Sensor
65+
- name: Run Tests On Temp Sensor Project
66+
run: |
67+
cd examples/temp_sensor
68+
ceedling module:create[someNewModule] module:destroy[someNewModule] test:all
69+
cd ../..

.travis.yml

Lines changed: 0 additions & 29 deletions
This file was deleted.

Gemfile.lock

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,11 +29,11 @@ PLATFORMS
2929
x64-mingw32
3030

3131
DEPENDENCIES
32-
bundler (>= 1.3.5)
32+
bundler
3333
constructor
3434
deep_merge
3535
diy
36-
rake (>= 12.2.1)
36+
rake
3737
require_all
3838
rr
3939
rspec (~> 3.8)

README.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
1-
Ceedling - Build/Test System for C Based on Ruby/Rake
2-
=====================================================
3-
4-
[![Ceedling Build Status](https://api.travis-ci.org/ThrowTheSwitch/Ceedling.png?branch=master)](https://travis-ci.org/ThrowTheSwitch/Ceedling)
5-
6-
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.
1+
Ceedling ![CI](https://github.com/ThrowTheSwitch/Ceedling/workflows/CI/badge.svg)
2+
========
3+
Ceedling is a build system for C projects that is something of an extension
4+
around Ruby’s Rake (make-ish) build system. Ceedling also makes TDD (Test-Driven Development)
5+
in C a breeze by integrating [CMock](https://github.com/throwtheswitch/cmock),
6+
[Unity](https://github.com/throwtheswitch/unity), and
7+
[CException](https://github.com/throwtheswitch/cexception) --
8+
three other awesome open-source projects you can’t live without if you're creating awesomeness
9+
in the C language. Ceedling is also extensible with a handy plugin mechanism.
710

811
Usage Documentation
912
===================

ceedling.gemspec

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Gem::Specification.new do |s|
88
s.version = Ceedling::Version::GEM
99
s.platform = Gem::Platform::RUBY
1010
s.authors = ["Mark VanderVoord", "Michael Karlesky", "Greg Williams"]
11-
s.email = ["mvandervoord@gmail.com", "michael@karlesky.net", "barney.williams@gmail.com"]
11+
s.email = ["mark@vandervoord.net", "michael@karlesky.net", "barney.williams@gmail.com"]
1212
s.homepage = "http://throwtheswitch.org/ceedling"
1313
s.summary = "Ceedling is a build automation tool for C unit test suites that packages up Unity, CMock, and Rake-based build management functionality"
1414
s.description = <<-DESC
@@ -30,10 +30,10 @@ Ceedling projects are created with a YAML configuration file. A variety of conve
3030

3131
s.required_ruby_version = ">= 2.4.0"
3232

33-
s.add_dependency "thor", ">= 0.14.5"
34-
s.add_dependency "rake", ">= 12.2.1"
35-
s.add_dependency "deep_merge", ">= 1.2.1"
36-
s.add_runtime_dependency "constructor", ">= 1.0.4"
33+
s.add_dependency "thor", "~> 0.14"
34+
s.add_dependency "rake", "~> 12"
35+
s.add_dependency "deep_merge", "~> 1.2"
36+
s.add_dependency "constructor", "~> 2"
3737

3838
# Files needed from submodules
3939
s.files = []

docs/CeedlingPacket.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
[All code is copyright © 2010-2020 Ceedling Project
1+
[All code is copyright © 2010-2021 Ceedling Project
22
by Mike Karlesky, Mark VanderVoord, and Greg Williams.
33

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

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

22342234
Gem Version:
22352235
```ruby

examples/blinky/project.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
:build_root: build
1111
:release_build: TRUE
1212
:test_file_prefix: test_
13+
:which_ceedling: gem
14+
:ceedling_version: '?'
1315

1416
#You'll have to specify these
1517
:environment:
@@ -92,7 +94,7 @@
9294

9395
:plugins:
9496
:load_paths:
95-
- vendor/ceedling/plugins
97+
- "#{Ceedling.load_path}"
9698
:enabled:
9799
- stdout_pretty_tests_report
98100
- module_generator

examples/blinky/rakefile.rb

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
PROJECT_CEEDLING_ROOT = "vendor/ceedling"
2-
load "#{PROJECT_CEEDLING_ROOT}/lib/ceedling.rb"
1+
require "ceedling"
32
Ceedling.load_project
43

54
task :default => %w[ test:all release ]

examples/temp_sensor/project.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
:build_root: build
1313
# :release_build: TRUE
1414
:test_file_prefix: Test
15+
:which_ceedling: gem
16+
:ceedling_version: '?'
1517

1618
#:release_build:
1719
# :output: TempSensor.out
@@ -58,7 +60,7 @@
5860

5961
:plugins:
6062
:load_paths:
61-
- vendor/ceedling/plugins
63+
- "#{Ceedling.load_path}"
6264
:enabled:
6365
- stdout_pretty_tests_report
6466
- module_generator

examples/temp_sensor/rakefile.rb

Lines changed: 0 additions & 6 deletions
This file was deleted.

lib/ceedling/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ module Version
4444
eval("#{name} = '#{a.join(".")}'")
4545
end
4646

47-
GEM = "0.30.0"
47+
GEM = "0.31.0"
4848
CEEDLING = GEM
4949
end
5050
end

vendor/cmock

Submodule cmock updated from d847e67 to 73fd659

vendor/unity

0 commit comments

Comments
 (0)