CI #69
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| workflow_dispatch: | |
| schedule: | |
| - cron: "0 1 2 * *" # At 01:00 on the second day of each month - https://crontab.guru/#0_1_2_*_* | |
| push: | |
| branches: | |
| - master | |
| tags: | |
| - "*.*.*" | |
| pull_request: | |
| types: [opened, synchronize] | |
| branches: | |
| - "*" | |
| jobs: | |
| job_test_gem: | |
| name: Test built gem | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - os: windows | |
| ruby: "head" | |
| PGVERSION: 17.0-1-windows-x64 | |
| PGVER: "17" | |
| - os: windows | |
| ruby: "2.4" | |
| PGVERSION: 9.4.26-1-windows-x64 | |
| PGVER: "9.4" | |
| - os: ubuntu | |
| ruby: "head" | |
| PGVER: "17" | |
| - os: ubuntu | |
| os_ver: "22.04" | |
| ruby: "2.3" | |
| PGVER: "9.3" | |
| - os: macos | |
| ruby: "head" | |
| PGVERSION: 17.0-1-osx | |
| PGVER: "17" | |
| 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 "$env:RI_DEVKIT$env:MINGW_PREFIX/bin;$env:RI_DEVKIT/usr/bin;$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 && \ | |
| sudo mv /Library/PostgreSQL/$PGVER/pgsql/* /Library/PostgreSQL/$PGVER/ && \ | |
| echo /Library/PostgreSQL/$PGVER/bin >> $GITHUB_PATH | |
| - run: bundle install | |
| - name: Run specs | |
| run: bundle exec rake test |