diff --git a/.github/workflows/lint_and_test.yml b/.github/workflows/lint_and_test.yml index 71e4ac8..08d1b22 100644 --- a/.github/workflows/lint_and_test.yml +++ b/.github/workflows/lint_and_test.yml @@ -43,13 +43,11 @@ jobs: # See https://github.com/actions/runner/issues/241 and https://github.com/docker/compose/issues/8537 - name: Install Elixir and JS deps run: | - docker compose exec -T phx yarn install && cd assets && yarn install && cd .. - docker compose exec -T phx mix deps.get + docker compose exec -T phx phx mix deps.get && yarn install && cd assets && yarn install && cd .. - name: Create and Migrate database run: | - docker compose exec -T phx mix ecto.create - docker compose exec -T phx mix ecto.migrate + docker compose exec -T phx mix ecto.create && mix ecto.migrate - name: Run code checks run: docker compose exec -T phx mix check --no-fix --no-retry diff --git a/docker/dev.Dockerfile b/docker/dev.Dockerfile index e7c54d4..4312c03 100644 --- a/docker/dev.Dockerfile +++ b/docker/dev.Dockerfile @@ -9,10 +9,10 @@ ARG TARGETPLATFORM RUN echo "Building for ${TARGETPLATFORM:?}" # Install debian packages -RUN apt-get update -qq -RUN apt-get install -y inotify-tools curl git openssh-client jq \ - python3 python3-setuptools python3-wheel python3-dev pipx \ - python3-mutagen locales procps build-essential graphviz +RUN apt-get update -qq && \ + apt-get install -y inotify-tools curl git openssh-client jq \ + python3 python3-setuptools python3-wheel python3-dev pipx \ + python3-mutagen locales procps build-essential graphviz # Install ffmpeg RUN export FFMPEG_DOWNLOAD=$(case ${TARGETPLATFORM:-linux/amd64} in \ @@ -23,25 +23,25 @@ RUN export FFMPEG_DOWNLOAD=$(case ${TARGETPLATFORM:-linux/amd64} in \ tar -xf /tmp/ffmpeg.tar.xz --strip-components=2 --no-anchored -C /usr/bin/ "ffmpeg" && \ tar -xf /tmp/ffmpeg.tar.xz --strip-components=2 --no-anchored -C /usr/bin/ "ffprobe" -# Install nodejs -RUN curl -sL https://deb.nodesource.com/setup_20.x -o nodesource_setup.sh -RUN bash nodesource_setup.sh -RUN apt-get install nodejs -RUN npm install -g yarn +# Install nodejs and Yarn +RUN curl -sL https://deb.nodesource.com/setup_20.x -o nodesource_setup.sh && \ + bash nodesource_setup.sh && \ + apt-get install -y nodejs && \ + npm install -g yarn # Install baseline Elixir packages -RUN mix local.hex --force -RUN mix local.rebar --force +RUN mix local.hex --force && \ + mix local.rebar --force # Download and update YT-DLP -RUN curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp -RUN chmod a+rx /usr/local/bin/yt-dlp -RUN yt-dlp -U +RUN curl -L https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -o /usr/local/bin/yt-dlp && \ + chmod a+rx /usr/local/bin/yt-dlp && \ + yt-dlp -U # Install Apprise RUN export PIPX_HOME=/opt/pipx && \ - export PIPX_BIN_DIR=/usr/local/bin && \ - pipx install apprise + export PIPX_BIN_DIR=/usr/local/bin && \ + pipx install apprise # Set the locale RUN sed -i '/en_US.UTF-8/s/^# //g' /etc/locale.gen && locale-gen