diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index a42c1c3301..5c37e85e05 100755 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -140,7 +140,7 @@ jobs: - name: Install system deps & tools run: | - chmod +x deps-debian.sh && ./deps-debian.sh + chmod +x deps-debian-build.sh && ./deps-debian-build.sh echo "$HOME/.local/share/mise/shims" >> $GITHUB_PATH - name: Check tools @@ -277,11 +277,11 @@ jobs: # export TERM=${{ env.TERM }} # case "${{ matrix.distro }}" in # ubuntu*|jessie|stretch|buster|bullseye) - # # chmod +x deps-debian.sh && ./deps-debian.sh + # # chmod +x deps-debian-build.sh && ./deps-debian-build.sh # # TODO ^ how to use the script here? (checked out files not available in install step) # ;; # alpine*) - # # chmod +x deps-alpine.sh && ./deps-alpine.sh + # # chmod +x deps-alpine-build.sh && ./deps-alpine-build.sh # ;; # esac @@ -291,11 +291,11 @@ jobs: # echo "Run!..." # case "${{ matrix.distro }}" in # ubuntu*|jessie|stretch|buster|bullseye) - # chmod +x deps-debian.sh && ./deps-debian.sh + # chmod +x deps-debian-build.sh && ./deps-debian-build.sh # # TODO ^ do in install step instead # ;; # alpine*) - # chmod +x deps-alpine.sh && ./deps-alpine.sh + # chmod +x deps-alpine-build.sh && ./deps-alpine-build.sh # ;; # esac # # . "/opt/asdf/asdf.sh" diff --git a/Dockerfile.release b/Dockerfile.release index f7d47d18f9..1f386abafe 100755 --- a/Dockerfile.release +++ b/Dockerfile.release @@ -164,7 +164,7 @@ RUN apk add --update --no-cache \ openssl-dev \ # ^ for HTTPS, etc git \ - build-base \ + # build-base \ # ^ required by tree_magic tzdata \ gettext \ diff --git a/deps-alpine-extra.sh b/deps-alpine-extra.sh new file mode 100644 index 0000000000..2e03b7e6d8 --- /dev/null +++ b/deps-alpine-extra.sh @@ -0,0 +1,4 @@ +apk add bash git tar file build-base gcc sqlite npm mailcap ca-certificates openssl-dev tzdata gettext curl rust cargo just libc-dev elixir + +mix local.hex --force +mix local.rebar --force diff --git a/deps-debian-build.sh b/deps-debian-build.sh new file mode 100644 index 0000000000..c3b3c30557 --- /dev/null +++ b/deps-debian-build.sh @@ -0,0 +1,31 @@ +#!/bin/bash + +apt-get update -q -y + +# runtime deps +chmod +x ./deps-debian.sh +./deps-debian.sh + +# dev deps +apt-get install -q -y --no-install-recommends gcc sqlite3 npm rustc cargo + +# deps of tools +apt-get install -q -y --no-install-recommends autoconf dpkg-dev gcc g++ make libncurses-dev unixodbc-dev libssl-dev libsctp-dev libodbc1 libssl1.1 libsctp1 + +# tools +# NOTE: using mise because bullseye elixir version is too old +curl https://mise.run | sh +PATH="~/.local/share/mise/shims:~/.local/bin/:$PATH" +echo 'export PATH="~/.local/share/mise/shims:~/.local/bin/:$PATH"' >> ~/.bash_profile +mise plugin-add erlang +mise plugin-add elixir +mise plugin-add just + +mise install + +# FYI: uses .tool-versions instead of the below +# which erl || (mise install erlang latest && asdf global erlang latest) +# elixir -v || (asdf install elixir latest && asdf global elixir latest) #|| apt-get install -y elixir +# just --version || (asdf install just latest && asdf global just latest) || cargo install just #|| apt-get install -y just +# npm install --global yarn + diff --git a/deps-debian.sh b/deps-debian.sh index 5f257cd736..9c75c35836 100644 --- a/deps-debian.sh +++ b/deps-debian.sh @@ -3,24 +3,8 @@ apt-get update -q -y # deps -apt-get install -q -y --no-install-recommends git tar file gcc sqlite3 npm mailcap ca-certificates libssl-dev tzdata gettext curl rustc cargo wget gnupg sudo unzip - -# deps of tools -apt-get install -q -y --no-install-recommends autoconf dpkg-dev gcc g++ make libncurses-dev unixodbc-dev libssl-dev libsctp-dev libodbc1 libssl1.1 libsctp1 - -# NOTE: using mise because bullseye elixir version is too old -curl https://mise.run | sh -PATH="~/.local/share/mise/shims:~/.local/bin/:$PATH" -echo 'export PATH="~/.local/share/mise/shims:~/.local/bin/:$PATH"' >> ~/.bash_profile -mise plugin-add erlang -mise plugin-add elixir -mise plugin-add just - -mise install - -# FYI: uses .tool-versions instead of the below -# which erl || (mise install erlang latest && asdf global erlang latest) -# elixir -v || (asdf install elixir latest && asdf global elixir latest) #|| apt-get install -y elixir -# just --version || (asdf install just latest && asdf global just latest) || cargo install just #|| apt-get install -y just -# npm install --global yarn +apt-get install -q -y --no-install-recommends git tar unzip curl wget file mailcap bash \ +ca-certificates openssh-client libgcrypt20-dev libssl-dev gnupg \ +tzdata gettext \ +imagemagick libvips-tools poppler-utils diff --git a/justfile b/justfile index a062bc2ba5..681efc25a6 100644 --- a/justfile +++ b/justfile @@ -903,9 +903,6 @@ nix-db-init: (nix-db "start") createdb ${PGDATABASE} createuser -dlsw ${PGUSERNAME} -sys-deps-debian: - ./deps-debian.sh - # to test federation locally you can use `just dev-federate` or `just test-federation-live-DRAGONS` # and run this in seperate terminal to start the above tunnel: `just tunnel`