Skip to content

Commit 2c46dd8

Browse files
author
Mattia Roccoberton
committed
chore: update CI for MSSQL
1 parent a01a6fd commit 2c46dd8

9 files changed

Lines changed: 777 additions & 2 deletions

File tree

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
---
2+
name: Specs Rails 6.1 MSSQL
3+
4+
on:
5+
pull_request:
6+
branches: [main]
7+
push:
8+
branches: [main]
9+
10+
jobs:
11+
tests:
12+
runs-on: ubuntu-latest
13+
14+
strategy:
15+
matrix:
16+
ruby: ['3.0', '3.1', '3.2']
17+
gemfile: ['rails_6_1_mssql']
18+
19+
env:
20+
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile
21+
DB_TEST: mssql
22+
MSSQL_DB_HOST: 127.0.0.1
23+
MSSQL_DB_USERNAME: sa
24+
MSSQL_DB_PASSWORD: Pa%%w0rd
25+
RAILS: '6.1'
26+
27+
services:
28+
postgres:
29+
image: mcr.microsoft.com/mssql/server:2022-latest
30+
env:
31+
ACCEPT_EULA: 'Y'
32+
SA_PASSWORD: Pa%%w0rd
33+
ports:
34+
- 1433:1433
35+
36+
steps:
37+
- name: Install FreeTDS
38+
run: sudo apt-get install -y freetds-dev freetds-bin
39+
40+
- name: Checkout repository
41+
uses: actions/checkout@v4
42+
43+
- name: Set up Ruby
44+
uses: ruby/setup-ruby@v1
45+
with:
46+
ruby-version: ${{ matrix.ruby }}
47+
bundler-cache: true
48+
49+
- name: Database setup
50+
run: bundle exec rails db:create db:migrate
51+
52+
- name: Run tests
53+
run: bundle exec rspec --profile
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
---
2+
name: Specs Rails 7.0 MSSQL
3+
4+
on:
5+
pull_request:
6+
branches: [main]
7+
push:
8+
branches: [main]
9+
10+
jobs:
11+
tests:
12+
runs-on: ubuntu-latest
13+
14+
strategy:
15+
matrix:
16+
ruby: ['3.0', '3.1', '3.2']
17+
gemfile: ['rails_7_0_mssql']
18+
19+
env:
20+
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile
21+
DB_TEST: mssql
22+
MSSQL_DB_HOST: 127.0.0.1
23+
MSSQL_DB_USERNAME: sa
24+
MSSQL_DB_PASSWORD: Pa%%w0rd
25+
RAILS: '7.0'
26+
27+
services:
28+
postgres:
29+
image: mcr.microsoft.com/mssql/server:2022-latest
30+
env:
31+
ACCEPT_EULA: 'Y'
32+
SA_PASSWORD: Pa%%w0rd
33+
ports:
34+
- 1433:1433
35+
36+
steps:
37+
- name: Install FreeTDS
38+
run: sudo apt-get install -y freetds-dev freetds-bin
39+
40+
- name: Checkout repository
41+
uses: actions/checkout@v4
42+
43+
- name: Set up Ruby
44+
uses: ruby/setup-ruby@v1
45+
with:
46+
ruby-version: ${{ matrix.ruby }}
47+
bundler-cache: true
48+
49+
- name: Database setup
50+
run: bundle exec rails db:create db:migrate
51+
52+
- name: Run tests
53+
run: bundle exec rspec --profile

Appraisals

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,3 +29,15 @@ appraise 'rails-7_1-mysql' do
2929
gem 'mysql2'
3030
gem 'rails', '~> 7.1.0'
3131
end
32+
33+
appraise 'rails-6_1-mssql' do
34+
gem 'activerecord-sqlserver-adapter', '~> 6.1.0'
35+
gem 'rails', '~> 6.1.0'
36+
gem 'tiny_tds'
37+
end
38+
39+
appraise 'rails-7_0-mssql' do
40+
gem 'activerecord-sqlserver-adapter', '7.0.3.0'
41+
gem 'rails', '~> 7.0.0'
42+
gem 'tiny_tds'
43+
end

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
[![specs Postgres](https://github.com/blocknotes/active_storage_db/actions/workflows/specs_postgres_71.yml/badge.svg)](https://github.com/blocknotes/active_storage_db/actions/workflows/specs_postgres_71.yml)
99
[![specs MySQL](https://github.com/blocknotes/active_storage_db/actions/workflows/specs_mysql_71.yml/badge.svg)](https://github.com/blocknotes/active_storage_db/actions/workflows/specs_mysql_71.yml)
1010

11-
An Active Storage service upload/download plugin that stores files in a PostgreSQL or MySQL database.
11+
An Active Storage service upload/download plugin that stores files in a PostgreSQL or MySQL database. Experimental support also for MSSQL.
1212

1313
Main features:
1414
- attachment data stored in a binary field (or blob);

gemfiles/rails_6_1_mssql.gemfile

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# This file was generated by Appraisal
2+
3+
source "https://rubygems.org"
4+
5+
gem "activerecord-sqlserver-adapter", "~> 6.1.0"
6+
gem "rails", "~> 6.1.0"
7+
gem "tiny_tds"
8+
9+
group :development, :test do
10+
gem "simplecov"
11+
gem "simplecov-lcov"
12+
gem "capybara"
13+
gem "rspec_junit_formatter"
14+
gem "rspec-rails"
15+
gem "selenium-webdriver"
16+
gem "brakeman"
17+
gem "fasterer"
18+
gem "rubocop"
19+
gem "rubocop-packaging"
20+
gem "rubocop-performance"
21+
gem "rubocop-rails"
22+
gem "rubocop-rspec"
23+
gem "pry-rails"
24+
end
25+
26+
gemspec path: "../"

0 commit comments

Comments
 (0)