diff --git a/.github/release.yml b/.github/release.yml new file mode 100644 index 0000000..ec17fe6 --- /dev/null +++ b/.github/release.yml @@ -0,0 +1,29 @@ +changelog: + categories: + - title: Features 🎉 + labels: + - feature + - title: Bug Fixes 🐛 + labels: + - fix + - title: Polish 💅🏻 + labels: + - polish + - title: Breaking Changes 💥 + labels: + - breaking-change + - title: Tests 🏭 + labels: + - tests + - title: Dependencies 📦 + labels: + - dependencies + - title: Misc 🧰 + labels: + - CI + - title: Documentation 📑 + labels: + - documentation + - title: Other changes + labels: + - "*" diff --git a/.github/workflows/rubocop.yml b/.github/workflows/rubocop.yml new file mode 100644 index 0000000..7d29a66 --- /dev/null +++ b/.github/workflows/rubocop.yml @@ -0,0 +1,49 @@ +name: RuboCop + +on: + push: + branches: + - main + pull_request: + # The branches below must be a subset of the branches above + branches: + - main + +jobs: + rubocop: + runs-on: ubuntu-latest + strategy: + fail-fast: false + permissions: + # required for all workflows + security-events: write + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + # If running on a self-hosted runner, check it meets the requirements + # listed at https://github.com/ruby/setup-ruby#using-self-hosted-runners + - name: Set up Ruby + uses: ruby/setup-ruby@f26937343756480a8cb3ae1f623b9c8d89ed6984 # v1.196.0 + with: + ruby-version: 3.3 + + # This step is not necessary if you add the gem to your Gemfile + - name: Install Code Scanning integration + run: bundle add code-scanning-rubocop --version 0.6.1 --skip-install + + - name: Install dependencies + run: bundle install + + - name: RuboCop run + run: | + bash -c " + bundle exec rubocop --require code_scanning --format CodeScanning::SarifFormatter -o rubocop.sarif + [[ $? -ne 2 ]] + " + + - name: Upload Sarif output + uses: github/codeql-action/upload-sarif@v2 + with: + sarif_file: rubocop.sarif diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..fdfba76 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,35 @@ +name: Test + +on: + push: + branches: + - main + pull_request: + branches: + - main + workflow_dispatch: + +# permissions: +# contents: read + +jobs: + rspec: + name: Ruby ${{matrix.ruby-version}} + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + ruby-version: + - "3.3" + + steps: + - uses: actions/checkout@v4 + + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby-version }} + bundler-cache: true + + - name: RSpec + run: bundle exec rspec