Skip to content

Build(deps): Update libsqlite3-sys requirement from 0.26.0 to 0.27.0 #97

Build(deps): Update libsqlite3-sys requirement from 0.26.0 to 0.27.0

Build(deps): Update libsqlite3-sys requirement from 0.26.0 to 0.27.0 #97

Workflow file for this run

name: CI
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
build:
name: Auto Build CI
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ ubuntu-latest, windows-latest, macOS-latest ]
rust: [ stable, beta, nightly ]
steps:
- name: Checkout Repository
uses: actions/checkout@master
- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: ${{ matrix.rust }}
components: rustfmt, clippy
override: true
- name: Setup PostgreSQL & MySQL & SQLite (for ubuntu)
if: matrix.os == 'ubuntu-latest'
run: |
sudo apt-get update
sudo apt-get install -y libpq-dev postgresql libsqlite3-dev sqlite3 libmysqlclient-dev
echo "host all all 127.0.0.1/32 md5" > sudo tee -a /etc/postgresql/10/main/pg_hba.conf
sudo service postgresql restart && sleep 3
sudo -u postgres createuser casbin_rs
sudo -u postgres createdb casbin
sudo -u postgres psql -c "alter user casbin_rs with encrypted password 'casbin_rs'; grant all privileges on database casbin to casbin_rs;"
sudo service postgresql restart && sleep 3
sudo systemctl start mysql.service
sudo apt-get update
sudo apt-get -y install libmysqlclient-dev
mysql -e "create user 'casbin_rs'@'localhost' identified by 'casbin_rs'; create database casbin; grant all on \`casbin\`.* to 'casbin_rs'@'localhost';" -uroot -proot
- name: Setup PostgreSQL & MySQL & SQLite (for macOS)
if: matrix.os == 'macOS-latest'
run: |
brew update
brew install [email protected] sqlite
mkdir -p /usr/local/var/postgres
initdb /usr/local/var/postgres
pg_ctl -D /usr/local/var/postgres start
sleep 3
createuser casbin_rs
createdb casbin
psql postgres -c "alter user casbin_rs with encrypted password 'casbin_rs'; grant all privileges on database casbin to casbin_rs;"
/usr/local/opt/[email protected]/bin/mysql_install_db
/usr/local/opt/[email protected]/bin/mysql.server start
sleep 3
/usr/local/opt/[email protected]/bin/mysql -e "create user 'casbin_rs'@'localhost' identified by 'casbin_rs'; create database casbin; grant all on \`casbin\`.* to 'casbin_rs'@'localhost';" -urunner
echo "MYSQLCLIENT_LIB_DIR=/usr/local/opt/[email protected]/lib" >> $GITHUB_ENV
- name: Setup PostgreSQL & MySQL & SQLite (for windows)
if: matrix.os == 'windows-latest'
shell: cmd
run: |
choco install postgresql11 --force --params '/Password:root'
choco install mysql sqlite
"C:\Program Files\PostgreSQL\11\bin\createuser" casbin_rs
"C:\Program Files\PostgreSQL\11\bin\createdb" casbin
"C:\Program Files\PostgreSQL\11\bin\psql" -c "alter user casbin_rs with encrypted password 'casbin_rs'; grant all privileges on database casbin to casbin_rs;"
"C:\tools\mysql\current\bin\mysql" -e "create user 'casbin_rs'@'localhost' identified by 'casbin_rs'; create database casbin; grant all on `casbin`.* to 'casbin_rs'@'localhost';" -uroot
cd /D C:\ProgramData\chocolatey\lib\SQLite\tools
dir "C:\Program Files\Microsoft Visual Studio"
dir "C:\Program Files\Microsoft Visual Studio\2022"
dir "C:\Program Files\Microsoft Visual Studio\2022\Enterprise"
dir "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC"
dir "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary"
dir "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build"
call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
lib /machine:x64 /def:sqlite3.def /out:sqlite3.lib
- name: Set environment variables (for windows)
if: matrix.os == 'windows-latest'
shell: bash
run: |
echo "PQ_LIB_DIR=C:\Program Files\PostgreSQL\11\lib" >> $GITHUB_ENV
echo "MYSQLCLIENT_LIB_DIR=C:\tools\mysql\current\lib" >> $GITHUB_ENV
echo "SQLITE3_LIB_DIR=C:\ProgramData\chocolatey\lib\SQLite\tools" >> $GITHUB_ENV
- name: Cargo Build
uses: actions-rs/cargo@v1
with:
command: build
- name: Cargo Test For PostgreSQL,async-std
uses: actions-rs/cargo@v1
with:
command: test
args: --no-default-features --features postgres,runtime-async-std
- name: Cargo Test For PostgreSQL,tokio
uses: actions-rs/cargo@v1
with:
command: test
args: --no-default-features --features postgres,runtime-tokio
- name: Cargo Test For MySQL,async-std
uses: actions-rs/cargo@v1
with:
command: test
args: --no-default-features --features mysql,runtime-async-std
- name: Cargo Test For MySQL,tokio
uses: actions-rs/cargo@v1
with:
command: test
args: --no-default-features --features mysql,runtime-tokio
- name: Cargo Test For SQLite,async-std
uses: actions-rs/cargo@v1
with:
command: test
args: --no-default-features --features sqlite,runtime-async-std
- name: Cargo Test For SQLite,tokio
uses: actions-rs/cargo@v1
with:
command: test
args: --no-default-features --features sqlite,runtime-tokio
- name: Cargo Clippy
uses: actions-rs/cargo@v1
with:
command: clippy
args: -- -D warnings
- name: Cargo Fmt Check
uses: actions-rs/cargo@v1
with:
command: fmt
args: --all -- --check