Bump to next version #62
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: ci | |
on: | |
push: | |
branches: | |
- main | |
- v* | |
# Publish `v1.2.3` tags as releases. | |
tags: | |
- v* | |
# Run tests for PRs | |
pull_request: | |
env: | |
VAULT_ADDR: https://vault.eng.aserto.com/ | |
GO_VERSION: "1.19" | |
RAILS_ENV: test | |
jobs: | |
lint: | |
name: Lint | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Setup Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: 3.1 | |
bundler-cache: true | |
- name: Run linter | |
run: bundle exec rubocop | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
ruby: ['3.0'] | |
gemfile: ['gemfiles/rails_6.0.0.gemfile', 'gemfiles/rails_6.1.0.gemfile', 'gemfiles/rails_main.gemfile'] | |
include: | |
- gemfile: 'gemfiles/rails_7.0.0.gemfile' | |
ruby: '3.2' | |
- gemfile: 'gemfiles/rails_7.0.0.gemfile' | |
ruby: '3.1' | |
- gemfile: 'gemfiles/rails_7.0.0.gemfile' | |
ruby: '3.0' | |
- gemfile: 'gemfiles/rails_6.1.0.gemfile' | |
ruby: '3.1' | |
- gemfile: 'gemfiles/rails_6.1.0.gemfile' | |
ruby: '3.0' | |
env: | |
BUNDLE_GEMFILE: ${{ matrix.gemfile }} | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ matrix.ruby }} | |
bundler-cache: true | |
- name: run RSpec | |
run: | | |
bundle exec rake spec | |
release: | |
runs-on: ubuntu-latest | |
needs: [test] | |
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') | |
name: Release to rubygems | |
steps: | |
- name: Read Configuration | |
uses: hashicorp/[email protected] | |
id: vault | |
with: | |
url: ${{ env.VAULT_ADDR }} | |
token: ${{ secrets.VAULT_TOKEN }} | |
secrets: | | |
kv/data/github "SSH_PRIVATE_KEY" | SSH_PRIVATE_KEY; | |
kv/data/rubygems "RUBYGEMS_API_KEY" | GEM_HOST_API_KEY; | |
- name: Checkout | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Setup Go | |
uses: actions/setup-go@v2 | |
with: | |
go-version: ${{ env.GO_VERSION }} | |
- name: Setup caching | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/.cache/go-build | |
~/go/pkg/mod | |
.ext | |
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum', 'Depfile') }} | |
restore-keys: | | |
${{ runner.os }}-go- | |
- name: Install dependencies | |
run: | | |
mkdir -p $HOME/.ssh | |
umask 0077 && echo -e "${SSH_PRIVATE_KEY}" > $HOME/.ssh/id_rsa | |
ssh-keyscan github.com >> $HOME/.ssh/known_hosts | |
git config --global url."[email protected]:".insteadOf https://github.com/ | |
git config --global user.email "[email protected]" | |
git config --global user.name "Aserto Bot" | |
eval `ssh-agent` | |
ssh-add $HOME/.ssh/id_rsa | |
go run mage.go deps | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: 3.1 | |
- name: Build and push the gem | |
run: go run mage.go release | |
- name: Bump to the next version | |
run: go run mage.go bump patch | |
- name: Commit changes | |
uses: EndBug/add-and-commit@v9 | |
with: | |
default_author: github_actions | |
message: 'Bump to next version' | |
add: 'VERSION' | |
push: origin HEAD:main |