-
Notifications
You must be signed in to change notification settings - Fork 2
82 lines (78 loc) · 1.97 KB
/
release.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
name: Release Gem
on:
release:
types: [published]
jobs:
build:
name: Build Gem
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
bundler-cache: true
- name: Build gem
run: bundle exec rails tailwind_engine_build app:assets:precompile build
- name: List gem
run: |
find pkg
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
path: pkg/*.gem
test:
runs-on: ubuntu-latest
name: Test gem
needs:
- build
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Download artifact
uses: actions/download-artifact@v4
with:
path: 'pkg'
- name: List gem
run: |
find pkg
- name: Set up Ruby
uses: ruby/setup-ruby@v1
- name: Install gem
run: |
gem install pkg/artifact/*.gem
push:
name: Push Gem to Server
runs-on: ubuntu-latest
needs:
- test
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Ruby
uses: ruby/setup-ruby@v1
- name: Download artifact
uses: actions/download-artifact@v4
with:
path: pkg
- name: List gems
run: |
find pkg
- name: Set up GitHub Packages authentication
run: |
mkdir -p ~/.gem
cat > ~/.gem/credentials <<'CREDENTIALS'
---
:github: Bearer ${{ secrets.GITHUB_TOKEN }}
CREDENTIALS
chmod 0600 ~/.gem/credentials
- name: Push gem
run: |
find pkg/artifact -name '*.gem' | while read -r gem; do
echo "=== pushing '${gem}'"
gem push --key github --host https://rubygems.pkg.github.com/hedgeyedev "${gem}"
done
- name: Clean up credentials
run: |
rm -rvf ~/.gem/credentials