Skip to content

Commit e637869

Browse files
authored
Merge branch 'master' into parallel_conflict_with_diffy
2 parents 8fceca2 + 86db6e4 commit e637869

File tree

3 files changed

+160
-0
lines changed

3 files changed

+160
-0
lines changed

.dockerignore

Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
*.rbc
2+
/.config
3+
/coverage/
4+
/InstalledFiles
5+
/pkg/
6+
/spec/reports/
7+
/spec/examples.txt
8+
/test/tmp/
9+
/test/version_tmp/
10+
/tmp/
11+
12+
# Used by dotenv library to load environment variables.
13+
# .env
14+
15+
## Specific to RubyMotion:
16+
.dat*
17+
.repl_history
18+
build/
19+
*.bridgesupport
20+
build-iPhoneOS/
21+
build-iPhoneSimulator/
22+
23+
## Specific to RubyMotion (use of CocoaPods):
24+
#
25+
# We recommend against adding the Pods directory to your .gitignore. However
26+
# you should judge for yourself, the pros and cons are mentioned at:
27+
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
28+
#
29+
# vendor/Pods/
30+
31+
## Documentation cache and generated files:
32+
/.yardoc/
33+
/_yardoc/
34+
/rdoc/
35+
36+
## Environment normalization:
37+
/.bundle/
38+
/vendor/bundle
39+
/lib/bundler/man/
40+
41+
# for a library or gem, you might want to ignore these files since the code is
42+
# intended to run in multiple environments; otherwise, check them in:
43+
# Gemfile.lock
44+
# .ruby-version
45+
# .ruby-gemset
46+
47+
# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
48+
.rvmrc
49+
50+
# Specifics for octocatalog-diff
51+
bin/bundler
52+
bin/facter
53+
bin/hiera
54+
bin/htmldiff
55+
bin/httparty
56+
bin/ldiff
57+
bin/parallel_cucumber
58+
bin/parallel_rspec
59+
bin/parallel_spinach
60+
bin/parallel_test
61+
bin/puppet
62+
bin/rake
63+
bin/rspec
64+
bin/rubocop
65+
bin/ruby-parse
66+
bin/ruby-rewrite
67+
bin/safe_yaml
68+
69+
# Ignore config created during testing
70+
.puppet_version
71+
.parallel_runtime_rspec.log
72+
.parallel_runtime_integration.log
73+
.parallel_runtime_tests.log
74+
.rspec_parallel
75+
76+
# Packaged gem
77+
/pkg/
78+
Gemfile.lock
79+
80+
.git

.github/workflows/main.yml

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
name: CI
2+
on: [push]
3+
jobs:
4+
puppet-3-8-7:
5+
env:
6+
PUPPET_VERSIONS: "3.8.7"
7+
PUPPET_VERSION: "3.8.7"
8+
RUBOCOP_TEST: false
9+
RSPEC_TEST: true
10+
runs-on: ubuntu-latest
11+
strategy:
12+
matrix:
13+
ruby-version: ["2.0", "2.1"]
14+
steps:
15+
- name: Checkout code
16+
uses: actions/checkout@v1
17+
- name: Build container
18+
run: docker build . --file Dockerfile --tag octocatalog-diff:ruby${{matrix.ruby-version}} --build-arg RUBY_VERSION=${{matrix.ruby-version}}
19+
- name: Tests
20+
run: docker run -e PUPPET_VERSION -e PUPPET_VERSIONS -e RSPEC_TEST -e RUBOCOP_TEST -e ENFORCE_COVERAGE octocatalog-diff:ruby${{matrix.ruby-version}} /app/script/cibuild
21+
22+
puppet-4-10-10:
23+
env:
24+
PUPPET_VERSIONS: "4.10.10"
25+
PUPPET_VERSION: "4.10.10"
26+
RUBOCOP_TEST: false
27+
RSPEC_TEST: true
28+
runs-on: ubuntu-latest
29+
strategy:
30+
matrix:
31+
ruby-version: ["2.1", "2.2", "2.3"]
32+
steps:
33+
- name: Checkout code
34+
uses: actions/checkout@v1
35+
- name: Build container
36+
run: docker build . --file Dockerfile --tag octocatalog-diff:ruby${{matrix.ruby-version}} --build-arg RUBY_VERSION=${{matrix.ruby-version}}
37+
- name: Tests
38+
run: docker run -e PUPPET_VERSION -e PUPPET_VERSIONS -e RSPEC_TEST -e RUBOCOP_TEST -e ENFORCE_COVERAGE octocatalog-diff:ruby${{matrix.ruby-version}} /app/script/cibuild
39+
40+
puppet-5-5-8:
41+
env:
42+
PUPPET_VERSIONS: "5.5.8"
43+
PUPPET_VERSION: "5.5.8"
44+
RUBOCOP_TEST: false
45+
RSPEC_TEST: true
46+
runs-on: ubuntu-latest
47+
strategy:
48+
matrix:
49+
ruby-version: ["2.4", "2.5", "2.6"]
50+
steps:
51+
- name: Checkout code
52+
uses: actions/checkout@v1
53+
- name: Build container
54+
run: docker build . --file Dockerfile --tag octocatalog-diff:ruby${{matrix.ruby-version}} --build-arg RUBY_VERSION=${{matrix.ruby-version}}-stretch
55+
- name: Tests
56+
run: docker run -e PUPPET_VERSION -e PUPPET_VERSIONS -e RSPEC_TEST -e RUBOCOP_TEST -e ENFORCE_COVERAGE octocatalog-diff:ruby${{matrix.ruby-version}} /app/script/cibuild
57+
- name: Rubocop and Coverage
58+
run: docker run -e PUPPET_VERSION -e PUPPET_VERSIONS -e RSPEC_TEST -e RUBOCOP_TEST -e ENFORCE_COVERAGE octocatalog-diff:ruby${{matrix.ruby-version}} /app/script/cibuild
59+
if: matrix.ruby-version == '2.6'
60+
env:
61+
RUBOCOP_TEST: true
62+
ENFORCE_COVERAGE: true

Dockerfile

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
ARG RUBY_VERSION="2.6"
2+
FROM ruby:${RUBY_VERSION} as ruby
3+
ARG RUBY_VERSION
4+
ENV RUBY_VERSION="${RUBY_VERSION}"
5+
RUN rm -rf $GEM_HOME $BUNDLE_PATH $BUNDLE_BIN $BUNDLE_APP_CONFIG
6+
RUN apt-get update && apt-get install -y cmake openssl libssl-dev
7+
RUN sed -i'' -e 's/CipherString = DEFAULT@SECLEVEL=2/CipherString = DEFAULT@SECLEVEL=1/g' /etc/ssl/openssl.cnf
8+
RUN sed -i'' -e 's/MinProtocol = TLSv1.2/MinProtocol = TLSv1/g' /etc/ssl/openssl.cnf
9+
10+
FROM scratch AS app
11+
COPY --from=ruby / /
12+
WORKDIR /app
13+
ENV LANG="C.UTF-8"
14+
COPY . .
15+
#RUN gem install bundler -v 1.17.2
16+
RUN script/bootstrap
17+
18+
CMD ["/app/script/cibuild"]

0 commit comments

Comments
 (0)