82 lines
2.8 KiB
YAML
82 lines
2.8 KiB
YAML
name: CI
|
|
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
job_test_gem:
|
|
name: Test built gem
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
- os: windows
|
|
ruby: "head"
|
|
PGVERSION: 15.1-1-windows-x64
|
|
PGVER: "15"
|
|
- os: windows
|
|
ruby: "2.4"
|
|
PGVERSION: 9.4.26-1-windows-x64
|
|
PGVER: "9.4"
|
|
- os: ubuntu
|
|
ruby: "head"
|
|
PGVER: "15"
|
|
- os: ubuntu
|
|
os_ver: "20.04"
|
|
ruby: "2.3"
|
|
PGVER: "9.3"
|
|
- os: macos
|
|
ruby: "head"
|
|
PGVERSION: 15.1-1-osx
|
|
PGVER: "15"
|
|
|
|
runs-on: ${{ matrix.os }}-${{ matrix.os_ver || 'latest' }}
|
|
env:
|
|
PGVERSION: ${{ matrix.PGVERSION }}
|
|
PGVER: ${{ matrix.PGVER }}
|
|
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Set up Ruby
|
|
uses: ruby/setup-ruby@v1
|
|
with:
|
|
ruby-version: ${{ matrix.ruby }}
|
|
|
|
- name: Download PostgreSQL Windows
|
|
if: matrix.os == 'windows'
|
|
run: |
|
|
Add-Type -AssemblyName System.IO.Compression.FileSystem
|
|
function Unzip {
|
|
param([string]$zipfile, [string]$outpath)
|
|
[System.IO.Compression.ZipFile]::ExtractToDirectory($zipfile, $outpath)
|
|
}
|
|
|
|
$(new-object net.webclient).DownloadFile("http://get.enterprisedb.com/postgresql/postgresql-$env:PGVERSION-binaries.zip", "postgresql-binaries.zip")
|
|
Unzip "postgresql-binaries.zip" "."
|
|
echo "$pwd/pgsql/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
|
|
echo "PGUSER=$env:USERNAME" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
|
|
echo "PGPASSWORD=" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
|
|
md temp
|
|
icacls temp /grant "Everyone:(OI)(CI)F" /T
|
|
|
|
- name: Download PostgreSQL Ubuntu
|
|
if: matrix.os == 'ubuntu'
|
|
run: |
|
|
echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main $PGVER" | sudo tee -a /etc/apt/sources.list.d/pgdg.list
|
|
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
|
|
sudo apt-get -y update
|
|
sudo apt-get -y --allow-downgrades install postgresql-$PGVER libpq5=$PGVER* libpq-dev=$PGVER*
|
|
echo /usr/lib/postgresql/$PGVER/bin >> $GITHUB_PATH
|
|
|
|
- name: Download PostgreSQL Macos
|
|
if: matrix.os == 'macos'
|
|
run: |
|
|
wget https://get.enterprisedb.com/postgresql/postgresql-$PGVERSION-binaries.zip && \
|
|
sudo mkdir -p /Library/PostgreSQL && \
|
|
sudo unzip postgresql-$PGVERSION-binaries.zip -d /Library/PostgreSQL/$PGVER && \
|
|
echo /Library/PostgreSQL/$PGVER/bin >> $GITHUB_PATH
|
|
|
|
- run: bundle install
|
|
|
|
- name: Run specs
|
|
run: bundle exec rake test
|