Bump ecto_sql from 3.11.3 to 3.12.1 #1403
Workflow file for this run
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
on: [push] | |
name: build | |
jobs: | |
build: | |
# PostgreSQL setup according to [postgres-setup]. | |
# | |
# [postgres-setup]: https://help.github.com/en/actions/configuring-and-managing-workflows/creating-postgresql-service-containers | |
runs-on: ubuntu-20.04 | |
services: | |
postgres: | |
image: postgres | |
env: | |
POSTGRES_USER: ex_rss_test | |
POSTGRES_PASSWORD: ex_rss_test | |
# We prefer to explicitly set `POSTGRES_DB`. | |
# | |
# “If it is not specified, then the value of POSTGRES_USER will be | |
# used.” | |
# | |
# https://hub.docker.com/_/postgres | |
POSTGRES_DB: ex_rss_test | |
options: >- | |
--health-cmd pg_isready | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 5 | |
ports: | |
- 5432:5432 | |
strategy: | |
matrix: | |
otp: [ '26.1' ] | |
elixir: [ '1.16.0', '1.17' ] | |
node: [ '20.x', '21.x' ] | |
name: OTP ${{matrix.otp}}, Elixir ${{matrix.elixir}}, Node.js ${{ matrix.node }} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Elixir [OTP ${{ matrix.otp }}, Elixir ${{ matrix.elixir }}] | |
uses: erlef/setup-beam@v1 | |
with: | |
otp-version: ${{ matrix.otp }} | |
elixir-version: ${{ matrix.elixir }} | |
- name: Set up Node.js ${{ matrix.node }} | |
uses: actions/setup-node@v4 | |
with: | |
node-version: ${{ matrix.node }} | |
- name: Copy test configuration | |
run: | | |
cp config/test.ci.exs config/test.exs | |
- run: mix deps.get | |
- run: npm ci | |
working-directory: assets | |
- name: Run tests | |
run: mix test | |
- run: mix format --check-formatted | |
- run: | | |
npx prettier --check "js/**/*.js" "*.mjs" | |
npx elm-format --elm-version=0.19 --validate elm | |
working-directory: assets | |
- name: Install Elm | |
run: | | |
curl -L -o elm.gz https://github.com/elm/compiler/releases/download/0.19.1/binary-for-linux-64-bit.gz | |
rm elm | |
gunzip elm.gz | |
chmod +x elm | |
working-directory: assets/node_modules/elm/bin | |
- name: Precompile Elm entry points | |
run: | | |
# By compiling `NewFeed.elm`, we make sure all intermediate files are | |
# present before `npm run deploy` runs. | |
# | |
# Otherwise, webpack would compile files in parallel which can lead | |
# to data races and let one of the compiler processes fail with an | |
# error about corrupt files. | |
# | |
# 2024-12-18 | |
# This is probably not necessary anymore, but since the Elm parts | |
# will soon be completely removed, this doesn’t really matter and we | |
# can leave this step in place, just in case it is still necessary. | |
npx elm make app/App/NewFeed.elm --output /dev/null | |
working-directory: assets/elm | |
- name: Build [Node.js ${{ matrix.node }}] | |
run: | | |
npm run deploy | |
working-directory: assets | |
- name: Build release [OTP ${{ matrix.otp }}, Elixir ${{ matrix.elixir }}] | |
run: | | |
env MIX_ENV=prod mix assets.deploy | |
env MIX_ENV=prod mix release |