Skip to content

Commit 59ad81c

Browse files
committed
Github Actions in favor of travis.
1 parent 2926327 commit 59ad81c

File tree

3 files changed

+124
-0
lines changed

3 files changed

+124
-0
lines changed

.github/workflows/integration.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Integration
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- master
7+
workflow_call:
8+
9+
jobs:
10+
tests:
11+
runs-on: ubuntu-latest
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
# Due to https://github.com/actions/runner/issues/849, we have to use quotes for '3.0'
16+
ruby: [2.4, 2.5, 2.6, 2.7]
17+
env:
18+
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
19+
steps:
20+
- uses: act10ns/slack@v1
21+
with:
22+
status: starting
23+
channel: '#opensource-cicd'
24+
25+
- uses: actions/checkout@v2
26+
27+
- uses: ruby/setup-ruby@v1
28+
with:
29+
ruby-version: ${{ matrix.ruby }}
30+
bundler-cache: true
31+
32+
- run: make tests
33+
id: tests
34+
35+
- uses: act10ns/slack@v1
36+
with:
37+
status: ${{ job.status }}
38+
steps: ${{ toJson(steps) }}
39+
channel: '#opensource-cicd'
40+
if: always()

.github/workflows/releases.yml

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
name: Publish gem to Rubygem
2+
3+
on:
4+
push:
5+
tags:
6+
- '*'
7+
8+
env:
9+
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
10+
11+
jobs:
12+
ci:
13+
uses: enspirit/finitio-rb/.github/workflows/integration.yml@master
14+
15+
rubygem:
16+
needs: ci
17+
runs-on: ubuntu-latest
18+
steps:
19+
- uses: act10ns/slack@v1
20+
with:
21+
status: starting
22+
channel: '#opensource-cicd'
23+
24+
- uses: actions/checkout@v2
25+
26+
- uses: ruby/setup-ruby@v1
27+
with:
28+
ruby-version: 2.4
29+
bundler-cache: true
30+
31+
- run: make package
32+
33+
- name: Release Gem
34+
uses: cadwallion/publish-rubygems-action@master
35+
id: gem-push
36+
env:
37+
RUBYGEMS_API_KEY: ${{ secrets.RUBYGEMS_API_KEY }}
38+
RELEASE_COMMAND: make gem.push
39+
40+
- uses: act10ns/slack@v1
41+
with:
42+
status: ${{ job.status }}
43+
steps: ${{ toJson(steps) }}
44+
channel: '#opensource-cicd'
45+
if: always()
46+
47+
github:
48+
needs: ci
49+
runs-on: ubuntu-latest
50+
steps:
51+
- uses: act10ns/slack@v1
52+
with:
53+
status: starting
54+
channel: '#opensource-cicd'
55+
56+
- uses: actions/checkout@v2
57+
58+
- uses: ruby/setup-ruby@v1
59+
with:
60+
ruby-version: 2.4
61+
bundler-cache: true
62+
63+
- run: make package
64+
65+
- uses: ncipollo/release-action@v1
66+
id: create-release
67+
with:
68+
artifacts: "pkg/*"
69+
token: ${{ secrets.GITHUB_TOKEN }}
70+
71+
- uses: act10ns/slack@v1
72+
with:
73+
status: ${{ job.status }}
74+
steps: ${{ toJson(steps) }}
75+
channel: '#opensource-cicd'
76+
if: always()

Makefile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package:
2+
bundle exec rake package
3+
4+
tests:
5+
bundle exec rake test
6+
7+
gem.push:
8+
ls pkg/*.gem | xargs gem push

0 commit comments

Comments
 (0)