CI: Add Github actions
This commit is contained in:
parent
5a07820472
commit
f4d85e439e
81
.github/workflows/ci.yml
vendored
Normal file
81
.github/workflows/ci.yml
vendored
Normal file
@ -0,0 +1,81 @@
|
||||
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
|
Reference in New Issue
Block a user