-
Notifications
You must be signed in to change notification settings - Fork 1
58 lines (52 loc) · 1.92 KB
/
publish.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
name: publish
on:
workflow_run:
workflows:
- ci
branches:
- main
types:
- completed
jobs:
publish:
if: github.event.workflow_run.conclusion == 'success' && startsWith(github.ref, 'refs/tags/v')
name: Publish Gem
runs-on: ubuntu-18.04
steps:
- uses: actions/checkout@v2
- name: Set up Ruby 2.6
uses: ruby/setup-ruby@v1
with:
ruby-version: 2.6
- run: bundle install
- name: Build and publish RubyGem
env:
GEM_HOST_API_KEY: ${{ secrets.RUBYGEMS_AUTH_TOKEN }}
run: |
mkdir -p $HOME/.gem && \
touch $HOME/.gem/credentials && \
chmod 0600 $HOME/.gem/credentials && \
printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials && \
gem build *.gemspec && \
gem push *.gem && \
echo "Gem published successfully!"
- name: Update version file on CloudWebManage/cwm-worker-logger
env:
DEPLOY_KEY: ${{ secrets.CWM_WORKER_LOGGER_DEPLOY_KEY }}
DEPLOY_KEY_FILE: cwm_worker_logger_deploy_key
GEM_NAME: fluent-plugin-http-cwm
run: |
version=$(ruby -e 'puts Gem::Specification::load("fluent-plugin-http-cwm.gemspec").version') && \
echo "Version: " $version && \
echo "$DEPLOY_KEY" > $DEPLOY_KEY_FILE && \
chmod 400 $DEPLOY_KEY_FILE && \
export GIT_SSH_COMMAND="ssh -i $(pwd)/$DEPLOY_KEY_FILE -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" && \
git clone [email protected]:CloudWebManage/cwm-worker-logger.git && \
cd cwm-worker-logger && \
git config user.name "$GEM_NAME CI" && \
git config user.email "$GEM_NAME-ci@localhost" && \
echo $version > $GEM_NAME.version && \
git add $GEM_NAME.version && \
git commit -m "Automatic version update for $GEM_NAME gem." && \
git push origin main && \
echo "Version updated successfully!"