From 95b067795446a938708eeb95c0b41c6792b64277 Mon Sep 17 00:00:00 2001 From: joe-sharp Date: Tue, 13 Jan 2026 12:53:57 -0600 Subject: [PATCH 1/3] Update URL to reflect migration to Procore-OSS organization Signed-off-by: joe-sharp --- README.md | 2 +- migration-lock-timeout.gemspec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8e9e340..ad241b2 100644 --- a/README.md +++ b/README.md @@ -93,7 +93,7 @@ environment variables `POSTGRES_DB_USERNAME` and `POSTGRES_DB_PASSWORD` then run ## Contributing -Bug reports and pull requests are welcome on GitHub at https://github.com/procore/migration-lock-timeout. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct. +Bug reports and pull requests are welcome on GitHub at https://github.com/procore-oss/migration-lock-timeout. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct. ## License diff --git a/migration-lock-timeout.gemspec b/migration-lock-timeout.gemspec index 389e1c5..c2750d1 100644 --- a/migration-lock-timeout.gemspec +++ b/migration-lock-timeout.gemspec @@ -11,7 +11,7 @@ Gem::Specification.new do |spec| spec.summary = "Ruby gem that adds a lock timeout to Active Record migrations" spec.description = "Ruby gem that automatically adds a lock timeout to all Active Record migrations" - spec.homepage = "http://github.com/procore/migration-lock-timeout" + spec.homepage = "http://github.com/procore-oss/migration-lock-timeout" spec.license = "MIT" # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host' From d9a355e3ba665e27b24f6b95d361ad415783556d Mon Sep 17 00:00:00 2001 From: joe-sharp Date: Mon, 26 Jan 2026 14:59:12 -0600 Subject: [PATCH 2/3] Migrate to GitHub Actions Signed-off-by: joe-sharp --- .github/workflows/release.yml | 43 ++++++++++++++++++++++++++++++++ .github/workflows/test.yml | 46 +++++++++++++++++++++++++++++++++++ 2 files changed, 89 insertions(+) create mode 100644 .github/workflows/release.yml create mode 100644 .github/workflows/test.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..6a10824 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,43 @@ +name: Release +on: + workflow_run: + workflows: [Test] + types: [completed] + branches: [main] + workflow_dispatch: # allow manual deployment through GitHub Action UI +jobs: + version-check: + runs-on: ubuntu-latest + if: ${{ github.event_name == 'workflow_dispatch' || github.event.workflow_run.conclusion == 'success' }} + outputs: + changed: ${{ steps.check.outputs.any_changed }} + steps: + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4 + - name: Check if version has been updated + id: check + uses: tj-actions/changed-files@3c4bc6fa0ca4718d438e0a4bd3ea81fbb0e6e2be # v44 + with: + files: lib/migration_lock_timeout/version.rb + release: + runs-on: ubuntu-latest + needs: version-check + if: ${{ github.event_name == 'workflow_dispatch' || needs.version-check.outputs.changed == 'true' }} + steps: + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4 + - name: Set up Ruby + uses: ruby/setup-ruby@675dd7ba1b06c8786a1480d89c384f5620a42647 # v1 + with: + ruby-version: 3.2 + bundler-cache: true + - name: Installing dependencies + run: bundle check --path=vendor/bundle || bundle install --path=vendor/bundle + - name: Build gem file + run: bundle exec rake build + - uses: fac/ruby-gem-setup-credentials-action@5f62d5f2f56a11c7422a92f81fbb29af01e1c00f # v2 + with: + user: "" + key: rubygems + token: ${{secrets.RUBY_GEMS_API_KEY}} + - uses: fac/ruby-gem-push-action@81d77bf568ff6659d7fae0f0c5a036bb0aeacb1a # v2 + with: + key: rubygems diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..db86d64 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,46 @@ +name: Test +on: + push: + branches: [main] + pull_request: + branches: [main] +permissions: + contents: read +jobs: + test: + strategy: + matrix: + os: [ubuntu-latest] + ruby: ['3.1'] + postgres: ['15.1'] + runs-on: ${{ matrix.os }} + services: + postgres: + image: postgres:${{ matrix.postgres }} + env: + POSTGRES_PASSWORD: postgres + ports: + - 5432:5432 + options: >- + --health-cmd pg_isready + --health-interval 10s + --health-timeout 5s + --health-retries 5 + env: + POSTGRES_DB_HOST: postgres + POSTGRES_DB_USERNAME: postgres + POSTGRES_DB_DATABASE: postgres + POSTGRES_DB_PASSWORD: postgres + steps: + - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4 + - name: Set up Ruby ${{ matrix.ruby }} + uses: ruby/setup-ruby@675dd7ba1b06c8786a1480d89c384f5620a42647 # v1 + with: + ruby-version: ${{ matrix.ruby }} + bundler-cache: true + - name: Install Ruby Dependencies + run: bundle check || bundle install + - name: Install Appraisals Dependencies + run: bundle exec appraisal install + - name: Run Appraisals Tests + run: bundle exec appraisal rspec From b26f1edb81c51ef77137159f73c71b751724bf5e Mon Sep 17 00:00:00 2001 From: joe-sharp Date: Wed, 28 Jan 2026 13:26:43 -0600 Subject: [PATCH 3/3] Add CodeQL code scanning Signed-off-by: joe-sharp --- .github/workflows/codeql.yml | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 .github/workflows/codeql.yml diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml new file mode 100644 index 0000000..94385ce --- /dev/null +++ b/.github/workflows/codeql.yml @@ -0,0 +1,35 @@ +name: "Custom CodeQL" +on: + workflow_dispatch: + push: + branches: ["main"] + pull_request: + branches: ["main"] +permissions: + contents: read +jobs: + analyze: + name: Analyze + runs-on: Ubuntu-latest + timeout-minutes: ${{ (matrix.language == 'swift' && 120) || 360 }} + permissions: + actions: read + contents: read + security-events: write + strategy: + fail-fast: false + matrix: + language: ['ruby'] + steps: + - name: Checkout repository + uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4 + - name: Initialize CodeQL + uses: github/codeql-action/init@cdefb33c0f6224e58673d9004f47f7cb3e328b89 # v3 + with: + languages: ${{ matrix.language }} + - name: Autobuild + uses: github/codeql-action/autobuild@cdefb33c0f6224e58673d9004f47f7cb3e328b89 # v3 + - name: Perform CodeQL Analysis + uses: github/codeql-action/analyze@cdefb33c0f6224e58673d9004f47f7cb3e328b89 # v3 + with: + category: "/language:${{matrix.language}}"