Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: corgibytes/ruby-debug-ide
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: lemonade-hq/ruby-debug-ide
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Can’t automatically merge. Don’t worry, you can still create the pull request.
  • 4 commits
  • 7 files changed
  • 3 contributors

Commits on Jan 2, 2023

  1. Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    f1c73c8 View commit details
  2. change env var name

    raz-ezra-lmnd authored Jan 2, 2023
    Copy the full SHA
    b671a1c View commit details

Commits on Mar 12, 2024

  1. Get rid of 12-year-old hack to add dynamic gem dependencies

    The hack, which acts as a C-extensions which ain't one:
    https://en.wikibooks.org/wiki/Ruby_Programming/RubyGems#How_to_install_different_versions_of_gems_depending_on_which_version_of_ruby_the_installee_is_using
    
    The problem with this hack is:
    
    * it cannot pass build flags to depdent gems from bundler, i.e.
      ruby-debug-ide won't pass build.debase flags even though it triggers
      debase C-extension build as a dynamic dependency
    
      build.debase
        Set for the current user (/Users/kaka.dudu/.bundle/config): "--with-cflags=-Wno-error=incompatible-function-pointer-types"
    
    * it's 2024 and LMND does not make Ruby IDEs, for application scope
      we don't need this hack, it's drawbacks and static dependencies for a
      narrower scope of Ruby runtimes is super fine, especially when it
      reduces vast amount of problems that developers may experience
    
    TL;DR
    
    * don't add dynamic dependencies, monolith already specifies them
      explicitly
    
      group :development do
        gem 'debase', '0.2.5.beta2'
        gem 'ruby-debug-ide', github: 'lemonade-hq/ruby-debug-ide', branch: 'master'
      end
    
    Co-authored-by: Szymon Fiedler <[email protected]>
    mostlyobvious and fidel committed Mar 12, 2024
    Copy the full SHA
    b9e9ab3 View commit details
  2. Merge pull request #2 from lemonade-hq/get-rid-of-12-year-old-hack

    Get rid of 12-year-old hack to add dynamic gem dependencies
    mostlyobvious authored Mar 12, 2024
    Copy the full SHA
    f5e5bfe View commit details
Showing with 210 additions and 255 deletions.
  1. +40 −40 .github/actions/calculate-version/action.yml
  2. +106 −106 .github/workflows/ci.yml
  3. +49 −49 .github/workflows/release-notes.yml
  4. +9 −9 README.md
  5. +0 −44 ext/mkrf_conf.rb
  6. +4 −2 lib/ruby-debug-ide.rb
  7. +2 −5 ruby-debug-ide.gemspec
80 changes: 40 additions & 40 deletions .github/actions/calculate-version/action.yml
Original file line number Diff line number Diff line change
@@ -1,42 +1,42 @@
# Calculates the next version number. Assumes
# that the code has already been checked out and that
# the fetch-depth is zero:
## Calculates the next version number. Assumes
## that the code has already been checked out and that
## the fetch-depth is zero:
##
## uses: actions/checkout@v2
## with:
## fetch-depth: 0
##
## More details: https://gitversion.net/docs/reference/requirements
#
# uses: actions/checkout@v2
# with:
# fetch-depth: 0
#name: 'Calculate Version'
#description: 'Calculate the next version number using GitVersion.'
#
# More details: https://gitversion.net/docs/reference/requirements

name: 'Calculate Version'
description: 'Calculate the next version number using GitVersion.'

outputs:
version_formats:
description: 'The various formats for the version. See GitVersion for more details.'
value: ${{ steps.random-number-generator.outputs }}

runs:
using: "composite"
steps:
- name: Install .NET Core 6
uses: actions/setup-dotnet@v1
with:
dotnet-version: '6.0.x'

- name: Install GitVersion
uses: gittools/actions/gitversion/setup@v0.9.13
with:
versionSpec: '5.10.3'

- name: GitVersion Config
uses: gittools/actions/gitversion/execute@v0.9.13
with:
useConfigFile: true
additionalArguments: '/showConfig'

- name: Determine Version
uses: gittools/actions/gitversion/execute@v0.9.13
id: gitversion
with:
useConfigFile: true
#outputs:
# version_formats:
# description: 'The various formats for the version. See GitVersion for more details.'
# value: ${{ steps.random-number-generator.outputs }}
#
#runs:
# using: "composite"
# steps:
# - name: Install .NET Core 6
# uses: actions/setup-dotnet@v1
# with:
# dotnet-version: '6.0.x'
#
# - name: Install GitVersion
# uses: gittools/actions/gitversion/setup@v0.9.13
# with:
# versionSpec: '5.10.3'
#
# - name: GitVersion Config
# uses: gittools/actions/gitversion/execute@v0.9.13
# with:
# useConfigFile: true
# additionalArguments: '/showConfig'
#
# - name: Determine Version
# uses: gittools/actions/gitversion/execute@v0.9.13
# id: gitversion
# with:
# useConfigFile: true
212 changes: 106 additions & 106 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,106 +1,106 @@
name: CI
on:
push:
branches: [ master, release* ]
tags: [v*]
pull_request:
branches: [ master, release* ]

defaults:
run:
shell: bash

jobs:
build:
name: Build job
runs-on: ubuntu-20.04

strategy:
fail-fast: false
matrix:
include:
- ruby-version: 1.9.3-p551
bundler-version: 1.17.3
run-linter: false

- ruby-version: 2.0.0-p648
bundler-version: 1.17.3
run-linter: false

- ruby-version: 2.1.10
bundler-version: 1.17.3
run-linter: false

- ruby-version: 2.2.10
bundler-version: 1.17.3
run-linter: false

- ruby-version: 2.3.8
bundler-version: 2.2.32
run-linter: false

- ruby-version: 2.4.10
bundler-version: 2.2.32
run-linter: false

- ruby-version: 2.5.8
bundler-version: 2.2.32
run-linter: false

- ruby-version: 2.6.6
bundler-version: 2.2.32
run-linter: true

- ruby-version: 3.0.0
bundler-version: 2.2.32
run-linter: true

container: ruby:${{ matrix.ruby-version }}

steps:
- name: Checkout
uses: actions/checkout@v2

- name: Install Bundler and gems
run: |
gem install bundler -v ${{ matrix.bundler-version }}
bundle install
- name: Linting
if: ${{ matrix.run-linter }}
run: bundle exec standardrb

- name: Unit Tests
run: bundle exec rake


package:
name: Package the Gem
runs-on: ubuntu-20.04

steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0 # Required for Calculate Version step (e.g. GitVersion)

- name: Calculate Version
id: calculate_version
uses: ./.github/actions/calculate-version

- name: Update the Version
run: |
sed -i 's/.*IDE_VERSION=.*/IDE_VERSION="${{ steps.calculate_version.outputs.semver }}"/' lib/ruby-debug-ide/version.rb
cat lib/ruby-debug-ide/version.rb
- name: Create Gem
run: |
gem build ruby-debug-ide.gemspec -o ruby-debug-ide-${{ steps.calculate_version.outputs.semver }}.gem
- name: Upload GitHub Workflow Artifacts
uses: actions/upload-artifact@v2
with:
name: corigbytes-ruby-debug-ide-${{ steps.calculate_version.outputs.semver }}.gem
path: corigbytes-ruby-debug-ide-${{ steps.calculate_version.outputs.semver }}.gem
#name: CI
#on:
# push:
# branches: [ master, release* ]
# tags: [v*]
# pull_request:
# branches: [ master, release* ]
#
#defaults:
# run:
# shell: bash
#
#jobs:
# build:
# name: Build job
# runs-on: ubuntu-20.04
#
# strategy:
# fail-fast: false
# matrix:
# include:
# - ruby-version: 1.9.3-p551
# bundler-version: 1.17.3
# run-linter: false
#
# - ruby-version: 2.0.0-p648
# bundler-version: 1.17.3
# run-linter: false
#
# - ruby-version: 2.1.10
# bundler-version: 1.17.3
# run-linter: false
#
# - ruby-version: 2.2.10
# bundler-version: 1.17.3
# run-linter: false
#
# - ruby-version: 2.3.8
# bundler-version: 2.2.32
# run-linter: false
#
# - ruby-version: 2.4.10
# bundler-version: 2.2.32
# run-linter: false
#
# - ruby-version: 2.5.8
# bundler-version: 2.2.32
# run-linter: false
#
# - ruby-version: 2.6.6
# bundler-version: 2.2.32
# run-linter: true
#
# - ruby-version: 3.0.0
# bundler-version: 2.2.32
# run-linter: true
#
# container: ruby:${{ matrix.ruby-version }}
#
# steps:
# - name: Checkout
# uses: actions/checkout@v2
#
# - name: Install Bundler and gems
# run: |
# gem install bundler -v ${{ matrix.bundler-version }}
# bundle install
#
# - name: Linting
# if: ${{ matrix.run-linter }}
# run: bundle exec standardrb
#
# - name: Unit Tests
# run: bundle exec rake
#
#
# package:
# name: Package the Gem
# runs-on: ubuntu-20.04
#
# steps:
# - name: Checkout
# uses: actions/checkout@v2
# with:
# fetch-depth: 0 # Required for Calculate Version step (e.g. GitVersion)
#
# - name: Calculate Version
# id: calculate_version
# uses: ./.github/actions/calculate-version
#
# - name: Update the Version
# run: |
# sed -i 's/.*IDE_VERSION=.*/IDE_VERSION="${{ steps.calculate_version.outputs.semver }}"/' lib/ruby-debug-ide/version.rb
# cat lib/ruby-debug-ide/version.rb
#
# - name: Create Gem
# run: |
# gem build ruby-debug-ide.gemspec -o ruby-debug-ide-${{ steps.calculate_version.outputs.semver }}.gem
#
# - name: Upload GitHub Workflow Artifacts
# uses: actions/upload-artifact@v2
# with:
# name: lemonade-hq-ruby-debug-ide-${{ steps.calculate_version.outputs.semver }}.gem
# path: lemonade-hq-ruby-debug-ide-${{ steps.calculate_version.outputs.semver }}.gem
#
#
Loading