Use postgres 15.2 in docker-compose (same as production)

This commit is contained in:
Andrew Dryga
2023-10-06 15:47:56 -06:00
parent 4ada30b917
commit 0eeefa03c7
2 changed files with 95 additions and 50 deletions

View File

@@ -19,7 +19,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
services:
postgres:
image: postgres:16
image: postgres:15.2
ports:
- 5432:5432
env:
@@ -42,10 +42,13 @@ jobs:
with:
path: elixir/deps
key:
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
restore-keys:
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }} ${{
runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-
- uses: actions/cache/restore@v3
name: Restore Elixir Build Cache
env:
@@ -53,10 +56,13 @@ jobs:
with:
path: elixir/_build
key:
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
restore-keys:
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }} ${{
runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-
- name: Install Dependencies
run: mix deps.get --only $MIX_ENV
- name: Compile Dependencies
@@ -89,7 +95,8 @@ jobs:
with:
path: elixir/deps
key:
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
- uses: actions/cache/save@v3
if: ${{ github.ref == 'refs/heads/main' }}
name: Save Elixir Build Cache
@@ -98,7 +105,8 @@ jobs:
with:
path: elixir/_build
key:
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
type-check:
runs-on: ubuntu-latest
@@ -122,10 +130,13 @@ jobs:
with:
path: elixir/deps
key:
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
restore-keys:
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }} ${{
runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-
- uses: actions/cache/restore@v3
name: Restore Elixir Build Cache
env:
@@ -133,10 +144,13 @@ jobs:
with:
path: elixir/_build
key:
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
restore-keys:
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }} ${{
runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-
- name: Install Dependencies
run: mix deps.get --only $MIX_ENV
- name: Compile Dependencies
@@ -167,7 +181,8 @@ jobs:
with:
path: elixir/deps
key:
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
- uses: actions/cache/save@v3
if: ${{ github.ref == 'refs/heads/main' }}
name: Save Elixir Build Cache
@@ -176,7 +191,8 @@ jobs:
with:
path: elixir/_build
key:
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
- uses: actions/cache/save@v3
if: ${{ github.ref == 'refs/heads/main' }}
name: Save PLT cache
@@ -209,10 +225,13 @@ jobs:
with:
path: elixir/deps
key:
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
restore-keys:
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }} ${{
runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-
- uses: actions/cache/restore@v3
name: Restore Elixir Build Cache
env:
@@ -220,10 +239,13 @@ jobs:
with:
path: elixir/_build
key:
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
restore-keys:
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }} ${{
runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-
- name: Install Dependencies
run: mix deps.get --only $MIX_ENV
- name: Compile Dependencies
@@ -249,7 +271,8 @@ jobs:
with:
path: elixir/deps
key:
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
- uses: actions/cache/save@v3
if: ${{ github.ref == 'refs/heads/main' }}
name: Save Elixir Build Cache
@@ -258,7 +281,8 @@ jobs:
with:
path: elixir/_build
key:
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
migrations-and-seed-test:
runs-on: ubuntu-latest
@@ -272,7 +296,7 @@ jobs:
MAIN_BRANCH: main
services:
postgres:
image: postgres:16
image: postgres:15.2
ports:
- 5432:5432
env:
@@ -301,10 +325,13 @@ jobs:
with:
path: elixir/deps
key:
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
restore-keys:
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }} ${{
runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-
- uses: actions/cache/restore@v3
name: Restore Elixir Build Cache
env:
@@ -312,10 +339,13 @@ jobs:
with:
path: elixir/_build
key:
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
restore-keys:
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }} ${{
runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-
- name: Install Dependencies
run: mix deps.get --only $MIX_ENV
- name: Compile
@@ -370,7 +400,8 @@ jobs:
with:
path: elixir/deps
key:
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
- uses: actions/cache/save@v3
if: ${{ github.ref == 'refs/heads/main' }}
name: Save Elixir Build Cache
@@ -379,7 +410,8 @@ jobs:
with:
path: elixir/_build
key:
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
acceptance-test:
runs-on: ubuntu-latest
@@ -397,7 +429,7 @@ jobs:
MIX_TEST_PARTITION: [1]
services:
postgres:
image: postgres:16
image: postgres:15.2
ports:
- 5432:5432
env:
@@ -435,10 +467,13 @@ jobs:
with:
path: elixir/deps
key:
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
restore-keys:
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }} ${{
runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-
- uses: actions/cache/restore@v3
name: Restore Elixir Build Cache
env:
@@ -446,10 +481,13 @@ jobs:
with:
path: elixir/_build
key:
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
restore-keys:
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }} ${{
runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-
- uses: actions/cache/restore@v3
name: pnpm Deps Cache
env:
@@ -457,7 +495,8 @@ jobs:
with:
path: elixir/apps/web/assets/node_modules
key:
${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('**/pnpm-lock.yaml') }}
${{ runner.os }}-${{ env.cache-name }}-${{
hashFiles('**/pnpm-lock.yaml') }}
- uses: actions/cache/restore@v3
name: Assets Cache
env:
@@ -465,10 +504,12 @@ jobs:
with:
path: elixir/apps/web/priv/static/dist
key:
${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('**/pnpm-lock.yaml') }}
${{ runner.os }}-${{ env.cache-name }}-${{
hashFiles('**/pnpm-lock.yaml') }}
restore-keys:
${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('**/pnpm-lock.yaml') }}
${{ runner.os }}-${{ env.cache-name }}-
${{ runner.os }}-${{ env.cache-name }}-${{
hashFiles('**/pnpm-lock.yaml') }} ${{ runner.os }}-${{
env.cache-name }}-
- run: |
export DISPLAY=:99
chromedriver --url-base=/wd/hub &
@@ -530,7 +571,8 @@ jobs:
with:
path: elixir/deps
key:
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
- uses: actions/cache/save@v3
if: ${{ github.ref == 'refs/heads/main' }}
name: Save Elixir Build Cache
@@ -539,7 +581,8 @@ jobs:
with:
path: elixir/_build
key:
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{ env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
${{ runner.os }}-${{ steps.setup-beam.outputs.elixir-version }}-${{
env.cache-name }}-${{ hashFiles('**/elixir/mix.lock') }}
- uses: actions/cache/save@v3
if: ${{ github.ref == 'refs/heads/main' }}
name: Save pnpm Deps Cache
@@ -548,7 +591,8 @@ jobs:
with:
path: elixir/apps/web/assets/node_modules
key:
${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('**/pnpm-lock.yaml') }}
${{ runner.os }}-${{ env.cache-name }}-${{
hashFiles('**/pnpm-lock.yaml') }}
- uses: actions/cache/save@v3
if: ${{ github.ref == 'refs/heads/main' }}
name: Save Assets Cache
@@ -557,4 +601,5 @@ jobs:
with:
path: elixir/apps/web/priv/static/dist
key:
${{ runner.os }}-${{ env.cache-name }}-${{ hashFiles('**/pnpm-lock.yaml') }}
${{ runner.os }}-${{ env.cache-name }}-${{
hashFiles('**/pnpm-lock.yaml') }}

View File

@@ -3,7 +3,7 @@ version: "3.8"
services:
# Dependencies
postgres:
image: postgres:16
image: postgres:15.2
volumes:
- postgres-data:/var/lib/postgresql/data
environment: