From 374d929bfa8e140dbfa7c36c4e66cda25e8f67b9 Mon Sep 17 00:00:00 2001 From: Dave Huffman Date: Wed, 4 Sep 2024 09:16:10 -0400 Subject: [PATCH] Setup Github actions for use in SQM projects This replaces the Github actions used by the official Bootstrap repo with ones that allow us to maintain and publish the gem in the SQM package repo. The actions are the same as the ones we use for our own gems, with the following small differences: 1. Bootstrap uses "main" instead of "master" for its release branch. 2. Using Bootstrap's Rake task for building the gem. 3. Releasing the packaged gem from the `pkg` directory. This should ensure that the modified gem that we use is a close as possible to the official Bootstrap release. This also updates the gem's version number, using the fourth position to designate the custom SQM version. [1207966452799142](https://app.asana.com/0/0/1207966452799142/f) --- .github/workflows/ci.yml | 61 ------------------------- .github/workflows/gem-push.yml | 29 ++++++++++++ .github/workflows/gem-version-check.yml | 17 +++++++ lib/bootstrap5/version.rb | 2 +- 4 files changed, 47 insertions(+), 62 deletions(-) delete mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/gem-push.yml create mode 100644 .github/workflows/gem-version-check.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml deleted file mode 100644 index 64bb73a7..00000000 --- a/.github/workflows/ci.yml +++ /dev/null @@ -1,61 +0,0 @@ -name: CI - -on: - - push - - pull_request - - workflow_dispatch - -jobs: - test: - env: - BUNDLE_GEMFILE: ${{ matrix.gemfile }} - strategy: - fail-fast: false - matrix: - ruby_version: ['2.5', '2.6', '2.7', '3.0', '3.1'] - gemfile: - - test/gemfiles/rails_5_0.gemfile - - test/gemfiles/rails_5_1.gemfile - - test/gemfiles/rails_5_2.gemfile - - test/gemfiles/rails_6_0.gemfile - - test/gemfiles/rails_6_1.gemfile - - test/gemfiles/rails_7_0_sassc.gemfile - - test/gemfiles/rails_7_0_dartsass.gemfile - include: - - ruby_version: '2.5' - gemfile: test/gemfiles/rails_4_2.gemfile - - ruby_version: '2.6' - gemfile: test/gemfiles/rails_4_2.gemfile - exclude: - - ruby_version: '2.5' - gemfile: test/gemfiles/rails_7_0_sassc.gemfile - - ruby_version: '2.5' - gemfile: test/gemfiles/rails_7_0_dartsass.gemfile - - ruby_version: '2.6' - gemfile: test/gemfiles/rails_7_0_sassc.gemfile - - ruby_version: '2.6' - gemfile: test/gemfiles/rails_7_0_dartsass.gemfile - - ruby_version: '3.0' - gemfile: test/gemfiles/rails_5_0.gemfile - - ruby_version: '3.0' - gemfile: test/gemfiles/rails_5_1.gemfile - - ruby_version: '3.0' - gemfile: test/gemfiles/rails_5_2.gemfile - - ruby_version: '3.1' - gemfile: test/gemfiles/rails_5_0.gemfile - - ruby_version: '3.1' - gemfile: test/gemfiles/rails_5_1.gemfile - - ruby_version: '3.1' - gemfile: test/gemfiles/rails_5_2.gemfile - - ruby_version: '3.1' - gemfile: test/gemfiles/rails_6_0.gemfile - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v3 - - name: Set up Ruby - uses: ruby/setup-ruby@v1 - with: - ruby-version: ${{ matrix.ruby_version }} - bundler-cache: true # 'bundle install' and cache - - name: Build and test with Rake - run: bundle exec rake --trace diff --git a/.github/workflows/gem-push.yml b/.github/workflows/gem-push.yml new file mode 100644 index 00000000..f13e0cd3 --- /dev/null +++ b/.github/workflows/gem-push.yml @@ -0,0 +1,29 @@ +name: Build and Push Gem + +on: + push: + branches: [ main ] + +jobs: + build: + name: Build + Publish + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Set up Ruby 3.3 + uses: ruby/setup-ruby@v1 + with: + ruby-version: 3.3 + + - name: Publish to Github Package Registry + run: | + mkdir -p $HOME/.gem + touch $HOME/.gem/credentials + chmod 0600 $HOME/.gem/credentials + printf -- "---\n:github: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials + rake build + gem push --KEY github --host https://rubygems.pkg.github.com/${OWNER} pkg/*.gem + env: + GEM_HOST_API_KEY: "Bearer ${{secrets.GITHUB_TOKEN}}" + OWNER: ${{ github.repository_owner }} diff --git a/.github/workflows/gem-version-check.yml b/.github/workflows/gem-version-check.yml new file mode 100644 index 00000000..b5d90807 --- /dev/null +++ b/.github/workflows/gem-version-check.yml @@ -0,0 +1,17 @@ +name: Verify Gem Version Change + +on: + pull_request: + branches: [ main ] + +jobs: + build: + name: Version Check + runs-on: ubuntu-latest + + steps: + - name: Version Forget Me Not + uses: simplybusiness/version-forget-me-not@v2 + env: + ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }} + VERSION_FILE_PATH: "lib/bootstrap5/version.rb" diff --git a/lib/bootstrap5/version.rb b/lib/bootstrap5/version.rb index 9293c928..8d0a892c 100644 --- a/lib/bootstrap5/version.rb +++ b/lib/bootstrap5/version.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true module Bootstrap5 - VERSION = '5.3.3' + VERSION = '5.3.3.1' BOOTSTRAP_SHA = '6e1f75f420f68e1d52733b8e407fc7c3766c9dba' end