diff --git a/.github/workflows/changesets_release.yml b/.github/workflows/changesets_release.yml index 46d76c9304..709ec14dc7 100644 --- a/.github/workflows/changesets_release.yml +++ b/.github/workflows/changesets_release.yml @@ -12,14 +12,14 @@ jobs: name: Make a PR or publish runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: ref: ${{ github.event.pull_request.head.sha }} fetch-depth: 0 - - uses: pnpm/action-setup@v2 + - uses: pnpm/action-setup@v4 with: version: 8 - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: 22 cache: pnpm diff --git a/.github/workflows/cli_tests.yml b/.github/workflows/cli_tests.yml index 65947aea79..32c6b3da99 100644 --- a/.github/workflows/cli_tests.yml +++ b/.github/workflows/cli_tests.yml @@ -7,9 +7,9 @@ on: - main pull_request: paths: - - 'pnpm-lock.yaml' - - 'components/cli/**' - - '!components/cli/**.md' + - "pnpm-lock.yaml" + - "components/cli/**" + - "!components/cli/**.md" defaults: run: @@ -24,11 +24,11 @@ jobs: name: Check formatting & linting runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: pnpm/action-setup@v2 with: version: 8 - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: 22 cache: pnpm @@ -38,11 +38,11 @@ jobs: name: Check types runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: pnpm/action-setup@v2 with: version: 8 - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: 22 cache: pnpm @@ -55,11 +55,11 @@ jobs: matrix: node-version: [18, 20, 22] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: pnpm/action-setup@v2 with: version: 8 - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} cache: pnpm @@ -74,11 +74,11 @@ jobs: needs: [test, check_types, verify_formatting] if: ${{ github.ref_name == 'main' }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: pnpm/action-setup@v2 with: version: 8 - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} cache: pnpm diff --git a/.github/workflows/clients_typescript_tests.yml b/.github/workflows/clients_typescript_tests.yml index 8499b19502..ee91e4f431 100644 --- a/.github/workflows/clients_typescript_tests.yml +++ b/.github/workflows/clients_typescript_tests.yml @@ -7,9 +7,9 @@ on: - main pull_request: paths: - - 'pnpm-lock.yaml' - - 'clients/typescript/**' - - '!clients/typescript/**.md' + - "pnpm-lock.yaml" + - "clients/typescript/**" + - "!clients/typescript/**.md" defaults: run: @@ -24,11 +24,11 @@ jobs: name: Check formatting & linting runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: pnpm/action-setup@v2 + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v4 with: version: 8 - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: 22 cache: pnpm @@ -38,11 +38,11 @@ jobs: name: Check types runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: pnpm/action-setup@v2 + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v4 with: version: 8 - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: 22 cache: pnpm @@ -55,11 +55,11 @@ jobs: matrix: node-version: [18, 20, 22] steps: - - uses: actions/checkout@v3 - - uses: pnpm/action-setup@v2 + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v4 with: version: 8 - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} cache: pnpm @@ -76,11 +76,11 @@ jobs: needs: [test, check_types, verify_formatting] if: ${{ github.ref_name == 'main' }} steps: - - uses: actions/checkout@v3 - - uses: pnpm/action-setup@v2 + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v4 with: version: 8 - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} cache: pnpm diff --git a/.github/workflows/components_electric_tests.yml b/.github/workflows/components_electric_tests.yml index 530b1bb329..887f544e2b 100644 --- a/.github/workflows/components_electric_tests.yml +++ b/.github/workflows/components_electric_tests.yml @@ -27,7 +27,7 @@ jobs: env: MIX_ENV: test steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: ref: ${{ github.event.pull_request.head.sha }} fetch-depth: 0 @@ -38,13 +38,13 @@ jobs: elixir-version: ${{ env.ELIXIR_VERSION }} - name: Restore dependencies - uses: actions/cache/restore@v3 + uses: actions/cache/restore@v4 with: path: components/electric/deps key: ${{ runner.os }}-mixdeps-${{ hashFiles('components/electric/**/mix.lock') }} restore-keys: ${{ runner.os }}-mixdeps- - name: Restore compiled code - uses: actions/cache/restore@v3 + uses: actions/cache/restore@v4 with: path: | components/electric/_build/*/lib @@ -52,12 +52,12 @@ jobs: key: ${{ runner.os }}-mixbuild-test-${{ env.OTP_VERSION }}-${{ env.ELIXIR_VERSION }}-${{ hashFiles('components/electric/**/mix.lock') }} - run: mix deps.get && mix deps.compile - name: Cache dependencies - uses: actions/cache/save@v3 + uses: actions/cache/save@v4 with: path: components/electric/deps key: ${{ runner.os }}-mixdeps-${{ hashFiles('components/electric/**/mix.lock') }} - name: Save compiled code - uses: actions/cache/save@v3 + uses: actions/cache/save@v4 with: path: | components/electric/_build/*/lib @@ -76,7 +76,7 @@ jobs: run: working-directory: components/electric steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: ref: ${{ github.event.pull_request.head.sha }} fetch-depth: 0 @@ -86,7 +86,7 @@ jobs: elixir-version: ${{ env.ELIXIR_VERSION }} - name: Cache dependencies id: cache-deps - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: components/electric/deps key: ${{ runner.os }}-mixdeps-${{ hashFiles('components/electric/**/mix.lock') }} @@ -102,7 +102,7 @@ jobs: env: MIX_ENV: dev steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: ref: ${{ github.event.pull_request.head.sha }} fetch-depth: 0 @@ -113,12 +113,12 @@ jobs: - name: Cache dependencies id: cache-deps - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: components/electric/deps key: ${{ runner.os }}-mixdeps-${{ hashFiles('components/electric/**/mix.lock') }} - name: Restore compiled code - uses: actions/cache/restore@v3 + uses: actions/cache/restore@v4 with: path: | components/electric/_build/*/lib @@ -126,7 +126,7 @@ jobs: key: ${{ runner.os }}-mixbuild-dev-${{ env.OTP_VERSION }}-${{ env.ELIXIR_VERSION }}-${{ hashFiles('components/electric/**/mix.lock') }} - run: mix deps.get && mix deps.compile - name: Save compiled code - uses: actions/cache/save@v3 + uses: actions/cache/save@v4 with: path: | components/electric/_build/*/lib @@ -134,7 +134,7 @@ jobs: key: ${{ runner.os }}-mixbuild-dev-${{ env.OTP_VERSION }}-${{ env.ELIXIR_VERSION }}-${{ hashFiles('components/electric/**/mix.lock') }} - run: mix compile --force --all-warnings --warnings-as-errors - name: Cache PLT - uses: actions/cache/restore@v3 + uses: actions/cache/restore@v4 with: path: components/electric/_build/*/*.plt key: ${{ runner.os }}-plt-${{ env.OTP_VERSION }}-${{ env.ELIXIR_VERSION }}-${{ github.ref_name }} @@ -145,7 +145,7 @@ jobs: - name: Cache PLT if: ${{ always() && steps.dialyzer.outcome != 'cancelled' }} - uses: actions/cache/save@v3 + uses: actions/cache/save@v4 with: path: components/electric/_build/*/*.plt key: ${{ runner.os }}-plt-${{ env.OTP_VERSION }}-${{ env.ELIXIR_VERSION }}-${{ github.ref_name }} diff --git a/.github/workflows/drivers_tests.yml b/.github/workflows/drivers_tests.yml index c2dccb8008..60ce3cf9cd 100644 --- a/.github/workflows/drivers_tests.yml +++ b/.github/workflows/drivers_tests.yml @@ -7,9 +7,9 @@ on: - main pull_request: paths: - - 'pnpm-lock.yaml' - - 'components/drivers/**' - - '!components/drivers/**.md' + - "pnpm-lock.yaml" + - "components/drivers/**" + - "!components/drivers/**.md" defaults: run: @@ -24,11 +24,11 @@ jobs: name: Check formatting & linting runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: pnpm/action-setup@v2 with: version: 8 - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: 22 cache: pnpm @@ -38,11 +38,11 @@ jobs: name: Check types runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: pnpm/action-setup@v2 with: version: 8 - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: 22 cache: pnpm @@ -55,11 +55,11 @@ jobs: matrix: node-version: [18, 20, 22] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: pnpm/action-setup@v2 with: version: 8 - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} cache: pnpm @@ -74,11 +74,11 @@ jobs: needs: [test, check_types, verify_formatting] if: ${{ github.ref_name == 'main' }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: pnpm/action-setup@v2 with: version: 8 - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} cache: pnpm diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index a1cf7e38d4..ddcb4c43a2 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -37,7 +37,7 @@ jobs: ELECTRIC_WRITE_TO_PG_MODE: ${{ matrix.write_to_pg_mode }} HONEYCOMB_API_KEY: ${{ secrets.HONEYCOMB_API_KEY }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: ref: ${{ github.event.pull_request.head.sha }} fetch-depth: 0 @@ -45,11 +45,11 @@ jobs: - name: Inject slug/short variables uses: rlespinasse/github-slug-action@v4 - name: Inject variables for `docker buildx` github actions caching - uses: crazy-max/ghaction-github-runtime@v2 + uses: crazy-max/ghaction-github-runtime@v3 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 + uses: docker/setup-buildx-action@v3 - name: Log in to the Container registry - uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 + uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.actor }} @@ -72,7 +72,7 @@ jobs: working-directory: components/electric - name: Cache built lux - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: | e2e/lux/bin @@ -128,7 +128,7 @@ jobs: DIALECT: ${{ matrix.dialect }} DAL: ${{ matrix.dal }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: ref: ${{ github.event.pull_request.head.sha }} fetch-depth: 0 @@ -136,11 +136,11 @@ jobs: - name: Inject slug/short variables uses: rlespinasse/github-slug-action@v4 - name: Inject variables for `docker buildx` github actions caching - uses: crazy-max/ghaction-github-runtime@v2 + uses: crazy-max/ghaction-github-runtime@v3 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 + uses: docker/setup-buildx-action@v3 - name: Log in to the Container registry - uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 + uses: docker/login-action@v3 with: registry: ghcr.io username: ${{ github.actor }} @@ -163,7 +163,7 @@ jobs: working-directory: components/electric - name: Cache built lux - uses: actions/cache@v3 + uses: actions/cache@v4 with: path: | e2e/lux/bin diff --git a/.github/workflows/generator_tests.yml b/.github/workflows/generator_tests.yml index 8339c9251a..9f7fe9f501 100644 --- a/.github/workflows/generator_tests.yml +++ b/.github/workflows/generator_tests.yml @@ -6,8 +6,8 @@ on: - main pull_request: paths: - - 'pnpm-lock.yaml' - - 'generator/**' + - "pnpm-lock.yaml" + - "generator/**" defaults: run: @@ -18,11 +18,11 @@ jobs: name: Check formatting & linting runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: pnpm/action-setup@v2 + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v4 with: version: 8 - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: 22 cache: pnpm @@ -32,11 +32,11 @@ jobs: name: Check types runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: pnpm/action-setup@v2 + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v4 with: version: 8 - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: 22 cache: pnpm @@ -49,11 +49,11 @@ jobs: matrix: node-version: [18, 20, 22] steps: - - uses: actions/checkout@v3 - - uses: pnpm/action-setup@v2 + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v4 with: version: 8 - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} cache: pnpm diff --git a/.github/workflows/satellite_proto.yml b/.github/workflows/satellite_proto.yml index 7def811b92..f0f79e4bd1 100644 --- a/.github/workflows/satellite_proto.yml +++ b/.github/workflows/satellite_proto.yml @@ -4,22 +4,22 @@ on: branches: - main paths: - - 'protocol/**' + - "protocol/**" pull_request: paths: - - 'protocol/**' + - "protocol/**" workflow_dispatch: env: - OTP_VERSION: '27.0' - ELIXIR_VERSION: '1.17.0-otp-27' + OTP_VERSION: "27.0" + ELIXIR_VERSION: "1.17.0-otp-27" jobs: verify_proto: name: Check if generated files are up-to-date runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: ref: ${{ github.event.pull_request.head.sha }} # Tags are required for proper version inference, and this is the only way to pull the tags in @@ -29,11 +29,11 @@ jobs: with: repo-token: ${{ secrets.GITHUB_TOKEN }} # keep this in sync with the version pinned in .tool-versions - version: '26.1' - - uses: pnpm/action-setup@v2 + version: "26.1" + - uses: pnpm/action-setup@v4 with: version: 8 - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: 22 cache: pnpm @@ -43,14 +43,14 @@ jobs: elixir-version: ${{ env.ELIXIR_VERSION }} - name: Restore dependencies id: cache-deps - uses: actions/cache/restore@v3 + uses: actions/cache/restore@v4 with: path: components/electric/deps key: ${{ runner.os }}-mixdeps-${{ hashFiles('components/electric/**/mix.lock') }} - name: Restore compiled code id: cache-build - uses: actions/cache/restore@v3 + uses: actions/cache/restore@v4 with: path: | components/electric/_build/*/lib diff --git a/.github/workflows/starter_cli_e2e.yml b/.github/workflows/starter_cli_e2e.yml index c2562f5016..976a0be52e 100644 --- a/.github/workflows/starter_cli_e2e.yml +++ b/.github/workflows/starter_cli_e2e.yml @@ -7,9 +7,9 @@ on: - main pull_request: paths: - - 'pnpm-lock.yaml' - - 'examples/**' - - '!examples/**/**.md' + - "pnpm-lock.yaml" + - "examples/**" + - "!examples/**/**.md" defaults: run: @@ -27,11 +27,11 @@ jobs: matrix: node-version: [20] steps: - - uses: actions/checkout@v3 - - uses: pnpm/action-setup@v2 + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v4 with: version: 8 - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} cache: pnpm diff --git a/.github/workflows/toolbar_tests.yml b/.github/workflows/toolbar_tests.yml index 0a1948b614..398ccaa16f 100644 --- a/.github/workflows/toolbar_tests.yml +++ b/.github/workflows/toolbar_tests.yml @@ -6,8 +6,8 @@ on: - main pull_request: paths: - - 'pnpm-lock.yaml' - - 'components/toolbar/**' + - "pnpm-lock.yaml" + - "components/toolbar/**" defaults: run: @@ -18,11 +18,11 @@ jobs: name: Check formatting & linting runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: pnpm/action-setup@v2 + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v4 with: version: 8 - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: 22 cache: pnpm @@ -32,11 +32,11 @@ jobs: name: Check types runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - uses: pnpm/action-setup@v2 + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v4 with: version: 8 - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: 22 cache: pnpm @@ -49,11 +49,11 @@ jobs: matrix: node-version: [18, 20, 22] steps: - - uses: actions/checkout@v3 - - uses: pnpm/action-setup@v2 + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v4 with: version: 8 - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} cache: pnpm @@ -66,11 +66,11 @@ jobs: needs: [test, check_types, verify_formatting] if: ${{ github.ref_name == 'main' }} steps: - - uses: actions/checkout@v3 - - uses: pnpm/action-setup@v2 + - uses: actions/checkout@v4 + - uses: pnpm/action-setup@v4 with: version: 8 - - uses: actions/setup-node@v3 + - uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} cache: pnpm diff --git a/.github/workflows/website_update_from_docs.yml b/.github/workflows/website_update_from_docs.yml index bb2f87597d..a7d53ad683 100644 --- a/.github/workflows/website_update_from_docs.yml +++ b/.github/workflows/website_update_from_docs.yml @@ -4,15 +4,15 @@ on: branches: - main paths: - - 'docs/**' - - 'examples/introduction/**' + - "docs/**" + - "examples/introduction/**" jobs: update_website_submodule: name: Update submodule to latest `main` commit runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: token: ${{ secrets.CROSSREPO_PAT }} repository: electric-sql/website @@ -29,5 +29,3 @@ jobs: git commit -am "updated docs submodule"; git push; fi - - diff --git a/components/electric/Dockerfile b/components/electric/Dockerfile index 8cd6ee6ee8..455038f60c 100644 --- a/components/electric/Dockerfile +++ b/components/electric/Dockerfile @@ -48,9 +48,9 @@ RUN apt-get update -y && \ # Set the locale RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && locale-gen -ENV LANG en_US.UTF-8 -ENV LANGUAGE en_US:en -ENV LC_ALL en_US.UTF-8 +ENV LANG=en_US.UTF-8 +ENV LANGUAGE=en_US:en +ENV LC_ALL=en_US.UTF-8 WORKDIR "/app" RUN chown nobody /app diff --git a/components/electric/config/runtime.exs b/components/electric/config/runtime.exs index b3b5fabb26..9382143802 100644 --- a/components/electric/config/runtime.exs +++ b/components/electric/config/runtime.exs @@ -359,6 +359,14 @@ case otel_export do traces_exporter: :none end +### +# TzData +### + +if env!("DISABLE_TZDATA_AUTOUPDATE", :boolean, nil) do + config :tzdata, :autoupdate, :disabled +end + ### if config_env() in [:dev, :test] do diff --git a/components/electric/config/runtime.test.exs b/components/electric/config/runtime.test.exs index 1d55a238b3..2b12a1c149 100644 --- a/components/electric/config/runtime.test.exs +++ b/components/electric/config/runtime.test.exs @@ -6,6 +6,8 @@ import Config # handle_otp_reports: true, # handle_sasl_reports: true +config :tzdata, :autoupdate, :disabled + config :electric, disable_listeners: true config :electric, Electric.Postgres.Proxy.Handler.Tracing, colour: false diff --git a/e2e/common.mk b/e2e/common.mk index dee189ba60..41c8f29401 100644 --- a/e2e/common.mk +++ b/e2e/common.mk @@ -41,6 +41,7 @@ else export ELECTRIC_CLIENT_IMAGE=${ELECTRIC_CLIENT_IMAGE_NAME}:${ELECTRIC_IMAGE_TAG} endif +export DISABLE_TZDATA_AUTOUPDATE=true lux: ${LUX_PATH} diff --git a/e2e/prisma_example/Dockerfile b/e2e/prisma_example/Dockerfile index c57e7209d6..f7d16cce67 100644 --- a/e2e/prisma_example/Dockerfile +++ b/e2e/prisma_example/Dockerfile @@ -1,6 +1,6 @@ FROM node:18-alpine AS workspace -RUN corepack enable && corepack prepare pnpm@8.6.0 --activate +RUN corepack enable && corepack prepare pnpm@9.4.0 --activate RUN mkdir /app WORKDIR /app diff --git a/e2e/satellite_client/Dockerfile b/e2e/satellite_client/Dockerfile index 7313a689b7..d22074154d 100644 --- a/e2e/satellite_client/Dockerfile +++ b/e2e/satellite_client/Dockerfile @@ -1,7 +1,7 @@ FROM node:18-alpine AS workspace RUN apk update && apk add git -RUN corepack enable && corepack prepare pnpm@8.15.3 --activate +RUN corepack enable && corepack prepare pnpm@9.4.0 --activate RUN mkdir /app WORKDIR /app