Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Code (extension and the core) changes needed to be used with the expl…#376

Code (extension and the core) changes needed to be used with the expl…

Code (extension and the core) changes needed to be used with the expl… #376

Workflow file for this run

name:"InstallChecks"
env:
# Use it just for a report
BRANCH_NAME:${{ github.head_ref || github.ref_name }}
# Trigger it each timeon push or pull request. Honestly, it will be redundant
# most of the time, but external pull-request checks don't be missed out.
on:
push:
pull_request:
jobs:
build:
runs-on:ubuntu-latest
steps:
-uses:actions/checkout@v3
-name:"Define PostreSQL major version and set basic environment"
run:|
echo "The action workflow is triggered by the $BRANCH_NAME"
sudo apt install libipc-run-perl
git config --global user.email "ci@postgrespro.ru"
git config --global user.name "CI PgPro admin"
patch_name=$(ls aqo_*.patch|tail -1)
echo "CORE_PATCH_NAME=$patch_name" >> $GITHUB_ENV
# we can get number, otherwise set up master
vers_number=$(echo "$patch_name"|tr -d -c 0-9)
echo "PG_MAJOR_VERSION=$vers_number" >> $GITHUB_ENV
branch_name="REL_${vers_number}_STABLE"
echo "PG_BRANCH=$branch_name" >> $GITHUB_ENV
-name:"Set master branch name, if needed"
if:env.PG_MAJOR_VERSION == ''
run:|
branch_name="master"
echo "PG_BRANCH=$branch_name" >> $GITHUB_ENV
# Create workspace directory and environment variable.
# It is the second step because on the first we define versions and branches
-name:"Initial dir"
run:|
git clone -b $PG_BRANCH --depth=1 --single-branch https://github.com/postgres/postgres.git $GITHUB_WORKSPACE/../pg
# Invent variable with full path to PG directory just because github
# actions don't like relative paths ...
cd $GITHUB_WORKSPACE/../pg
echo PG_DIR=`pwd` >> $GITHUB_ENV
-name:"Prepare PG directory"
run:|
cd $PG_DIR
cp -r ../aqo contrib/aqo
patch -p1 --no-backup-if-mismatch < contrib/aqo/$CORE_PATCH_NAME
echo "COPT=-Werror" >> $GITHUB_ENV
echo "CONFIGURE_OPTS=--prefix=`pwd`/tmp_install --enable-tap-tests --enable-cassert" >> $GITHUB_ENV
# Instance-related environment
echo "$PG_DIR/tmp_install/bin" >> $GITHUB_PATH
echo "LD_LIBRARY_PATH=$PG_DIR/tmp_install/lib" >> $GITHUB_ENV
echo `pwd`/contrib/aqo/.github/scripts/job >> $GITHUB_PATH
# Just for debug
-name:"Environment (debug output)"
if:${{ always() }}
run:|
echo "PG_MAJOR_VERSION: $PG_MAJOR_VERSION"
echo "PG_DIR: $PG_DIR"
echo "PG_BRANCH: $PG_BRANCH"
echo "CORE_PATCH_NAME: $CORE_PATCH_NAME"
# See these paths to understand correctness of the instance initialization
echo "PATHs: $PATH"
echo "PG Libs: $LD_LIBRARY_PATH"
-name:"Compilation"
run:|
cd $PG_DIR
echo "COPT: $COPT"
echo "CONFIGURE_OPTS: $CONFIGURE_OPTS"
./configure $CONFIGURE_OPTS CFLAGS="-O2" > /dev/null
make -j4 > /dev/null && make -j4 -C contrib > /dev/null
make install >> make.log && make -C contrib install > /dev/null
-name:"Launch AQO instance"
run:|
cd $PG_DIR
# Launch an instance with AQO extension
aqo_instance_launch.sh
AQO_VERSION=$(psql -t -c "SELECT extversion FROM pg_extension WHERE extname='aqo'")
echo "AQO_VERSION=$AQO_VERSION" >> $GITHUB_ENV
echo "Use AQO v.$AQO_VERSION"
# Pass installcheck in disabled mode
-name:installcheck_disabled
run:|
cd $PG_DIR
psql -c "ALTER SYSTEM SET aqo.force_collect_stat = 'off'"
psql -c "SELECT pg_reload_conf()"
make installcheck-world
-name:installcheck_disabled_forced_stat
run:|
cd $PG_DIR
psql -c "ALTER SYSTEM SET aqo.force_collect_stat = 'on'"
psql -c "SELECT pg_reload_conf()"
make installcheck-world
-name:installcheck_frozen
run:|
cd $PG_DIR
psql -c "ALTER SYSTEM SET aqo.mode = 'frozen'"
psql -c "ALTER SYSTEM SET aqo.force_collect_stat = 'on'"
psql -c "SELECT pg_reload_conf()"
make installcheck-world
-name:installcheck_controlled
run:|
cd $PG_DIR
psql -c "ALTER SYSTEM SET aqo.mode = 'controlled'"
psql -c "ALTER SYSTEM SET aqo.force_collect_stat = 'on'"
psql -c "SELECT pg_reload_conf()"
make installcheck-world
-name:installcheck_learn
continue-on-error:true
run:|
cd $PG_DIR
psql -c "ALTER SYSTEM SET aqo.mode = 'learn'"
psql -c "ALTER SYSTEM SET aqo.force_collect_stat = 'on'"
psql -c "SELECT pg_reload_conf()"
learn_result=$(make -k installcheck-world)
-name:installcheck_intelligent
continue-on-error:true
run:|
cd $PG_DIR
psql -c "ALTER SYSTEM SET aqo.mode = 'intelligent'"
psql -c "ALTER SYSTEM SET aqo.force_collect_stat = 'on'"
psql -c "SELECT pg_reload_conf()"
make -k installcheck-world
-name:installcheck_forced
continue-on-error:true
run:|
cd $PG_DIR
psql -c "ALTER SYSTEM SET aqo.mode = 'forced'"
psql -c "ALTER SYSTEM SET aqo.force_collect_stat = 'on'"
psql -c "SELECT pg_reload_conf()"
make -k installcheck-world
# Save Artifacts
-name:Archive artifacts
if:${{ always() }}
uses:actions/upload-artifact@v3
with:
name:${{ env.AQO_VERSION }}-${{ env.PG_BRANCH }}-${{ env.CORE_PATCH_NAME }}-artifacts
path:|
${{ env.PG_DIR }}/src/test/regress/regression.diffs
${{ env.PG_DIR }}/logfile.log
${{ env.PG_DIR }}/contrib/aqo/tmp_check/log
retention-days:2

[8]ページ先頭

©2009-2025 Movatter.jp