diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..e8b9a99 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,17 @@ +name: RubyGems release + +on: + push: + branches: [ master ] + +jobs: + build: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v1 + + - name: Publish gem + uses: dawidd6/action-publish-gem@v1 + with: + api_key: ${{secrets.RUBYGEMS_API_KEY}} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..712b889 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,61 @@ +name: Release + +on: + pull_request: + types: [ labeled ] + branches: + - master + +jobs: + prepare-release: + name: Prepare release + runs-on: ubuntu-latest + + steps: + - name: Set major release + if: ${{ github.event.label.name == 'release-major' }} + run: echo "RELEASE=major" >> $GITHUB_ENV + - name: Set minor release + if: ${{ github.event.label.name == 'release-minor' }} + run: echo "RELEASE=minor" >> $GITHUB_ENV + - name: Set patch release + if: ${{ github.event.label.name == 'release-patch' }} + run: echo "RELEASE=patch" >> $GITHUB_ENV + - name: Check release env + run: | + if [[ -z "${{ env.RELEASE }}" ]]; + then + echo "You need to set a release label on PRs to the main branch" + exit 1 + else + exit 0 + fi + - name: Install semver-tool + run: | + export DIR=$(mktemp -d) + cd $DIR + curl https://github.com/fsaintjacques/semver-tool/archive/3.2.0.tar.gz -L -o semver.tar.gz + tar -xvf semver.tar.gz + sudo cp semver-tool-3.2.0/src/semver /usr/local/bin + - name: Bump version + run: | + export CURRENT=$(gem info messagebird-rest --remote --exact | grep -o "messagebird-rest ([0-9]*\.[0-9]*\.[0-9]*)" | awk -F '[()]' '{print $2}') + export NEW_VERSION=$(semver bump ${{ env.RELEASE }} $CURRENT) + echo "VERSION=$NEW_VERSION" >> $GITHUB_ENV + - name: Checkout code + uses: actions/checkout@v2 + - name: Setup git + run: | + git config user.email "developers@messagebird.com" + git config user.name "MessageBird CI" + git fetch + git checkout ${{ github.event.pull_request.head.ref }} + - name: Prepare version.rb + run: | + sed -i "s|STRING = '[^']*'|STRING = '${{ env.VERSION }}'|" lib/messagebird/version.rb + - name: Commit changes + run: | + git add lib/messagebird/version.rb + git commit -m "Bump to version ${{ env.VERSION }}" + - name: Push + run: git push diff --git a/.github/workflows/ruby_ci.yml b/.github/workflows/test.yml similarity index 88% rename from .github/workflows/ruby_ci.yml rename to .github/workflows/test.yml index 0f59808..5ca8d1c 100644 --- a/.github/workflows/ruby_ci.yml +++ b/.github/workflows/test.yml @@ -1,6 +1,9 @@ -name: Ruby CI +name: Tests -on: [ push, pull_request ] +on: + pull_request: + push: + branches: [master, main] jobs: ci: diff --git a/lib/messagebird/version.rb b/lib/messagebird/version.rb index 35dc232..9c5850a 100644 --- a/lib/messagebird/version.rb +++ b/lib/messagebird/version.rb @@ -2,6 +2,6 @@ module MessageBird module Version - STRING = '3.0.0' + STRING = '3.1.0' end end