|
1 | | -name: Build Probackup |
2 | | - |
3 | | -on: |
4 | | - push: |
5 | | - branches: |
6 | | - - "**" |
7 | | - # Runs triggered by pull requests are disabled to prevent executing potentially unsafe code from public pull requests |
8 | | - # pull_request: |
9 | | - # branches: |
10 | | - # - main |
11 | | - |
12 | | - # Allows you to run this workflow manually from the Actions tab |
13 | | - workflow_dispatch: |
| 1 | +name: regression |
| 2 | +on: [push] |
14 | 3 |
|
15 | 4 | jobs: |
16 | | - |
17 | | - build-win2019: |
18 | | - |
19 | | - runs-on: |
20 | | - - windows-2019 |
21 | | - |
| 5 | + pg-10: |
| 6 | + runs-on: ubuntu-18.04 |
22 | 7 | env: |
23 | | - zlib_dir: C:\dep\zlib |
24 | | - |
| 8 | + PG_TAG: REL_10_20 |
| 9 | + PG_VERSION: 10 |
25 | 10 | steps: |
| 11 | + - name: Checkout |
| 12 | + uses: actions/checkout@v3 |
26 | 13 |
|
27 | | - - uses: actions/checkout@v2 |
28 | | - |
29 | | - - name: Install pacman packages |
30 | | - run: | |
31 | | - $env:PATH += ";C:\msys64\usr\bin" |
32 | | - pacman -S --noconfirm --needed bison flex |
33 | | -
|
34 | | - - name: Make zlib |
35 | | - run: | |
36 | | - git clone -b v1.2.11 --depth 1 https://github.com/madler/zlib.git |
37 | | - cd zlib |
38 | | - cmake -DCMAKE_INSTALL_PREFIX:PATH=C:\dep\zlib -G "Visual Studio 16 2019" . |
39 | | - cmake --build . --config Release --target ALL_BUILD |
40 | | - cmake --build . --config Release --target INSTALL |
41 | | - copy C:\dep\zlib\lib\zlibstatic.lib C:\dep\zlib\lib\zdll.lib |
42 | | - copy C:\dep\zlib\bin\zlib.dll C:\dep\zlib\lib |
43 | | -
|
44 | | - - name: Get Postgres sources |
45 | | - run: git clone -b REL_14_STABLE https://github.com/postgres/postgres.git |
46 | | - |
47 | | - # Copy ptrack to contrib to build the ptrack extension |
48 | | - # Convert line breaks in the patch file to LF otherwise the patch doesn't apply |
49 | | - - name: Get Ptrack sources |
50 | | - run: | |
51 | | - git clone -b master --depth 1 https://github.com/postgrespro/ptrack.git |
52 | | - Copy-Item -Path ptrack -Destination postgres\contrib -Recurse |
53 | | - (Get-Content ptrack\patches\REL_14_STABLE-ptrack-core.diff -Raw).Replace("`r`n","`n") | Set-Content ptrack\patches\REL_14_STABLE-ptrack-core.diff -Force -NoNewline |
54 | | - cd postgres |
55 | | - git apply -3 ../ptrack/patches/REL_14_STABLE-ptrack-core.diff |
56 | | -
|
57 | | - - name: Build Postgres |
58 | | - run: | |
59 | | - $env:PATH += ";C:\msys64\usr\bin" |
60 | | - cd postgres\src\tools\msvc |
61 | | - (Get-Content config_default.pl) -Replace "zlib *=>(.*?)(?=,? *#)", "zlib => '${{ env.zlib_dir }}'" | Set-Content config.pl |
62 | | - cmd.exe /s /c "`"C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat`" amd64 && .\build.bat" |
63 | | -
|
64 | | - - name: Build Probackup |
65 | | - run: cmd.exe /s /c "`"C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat`" amd64 && perl .\gen_probackup_project.pl `"${{ github.workspace }}`"\postgres" |
66 | | - |
67 | | - - name: Install Postgres |
68 | | - run: | |
69 | | - cd postgres |
70 | | - src\tools\msvc\install.bat postgres_install |
71 | | -
|
72 | | - - name: Install Testgres |
73 | | - run: | |
74 | | - git clone -b no-port-for --single-branch --depth 1 https://github.com/postgrespro/testgres.git |
75 | | - cd testgres |
76 | | - python setup.py install |
77 | | -
|
78 | | - # Grant the Github runner user full control of the workspace for initdb to successfully process the data folder |
79 | | - - name: Test Probackup |
80 | | - run: | |
81 | | - icacls.exe "${{ github.workspace }}" /grant "${env:USERNAME}:(OI)(CI)F" |
82 | | - $env:PATH += ";${{ github.workspace }}\postgres\postgres_install\lib;${{ env.zlib_dir }}\lib" |
83 | | - $Env:LC_MESSAGES = "English" |
84 | | - $Env:PG_CONFIG = "${{ github.workspace }}\postgres\postgres_install\bin\pg_config.exe" |
85 | | - $Env:PGPROBACKUPBIN = "${{ github.workspace }}\postgres\Release\pg_probackup\pg_probackup.exe" |
86 | | - $Env:PG_PROBACKUP_PTRACK = "ON" |
87 | | - If (!$Env:MODE -Or $Env:MODE -Eq "basic") { |
88 | | - $Env:PG_PROBACKUP_TEST_BASIC = "ON" |
89 | | - python -m unittest -v tests |
90 | | - python -m unittest -v tests.init_test |
91 | | - } else { |
92 | | - python -m unittest -v tests.$Env:MODE |
93 | | - } |
| 14 | + - name: Setup |
| 15 | + run: .github/scripts/setup.sh |
94 | 16 |
|
| 17 | + - name: Test |
| 18 | + run: .github/scripts/regression.sh |
0 commit comments