mirror of
https://github.com/superseriousbusiness/gotosocial
synced 2025-06-05 21:59:39 +02:00
[experiment] add alternative wasm sqlite3 implementation available via build-tag (#2863)
This allows for building GoToSocial with [SQLite transpiled to WASM](https://github.com/ncruces/go-sqlite3) and accessed through [Wazero](https://wazero.io/).
This commit is contained in:
@ -2,6 +2,11 @@
|
||||
|
||||
set -e
|
||||
|
||||
# Determine available docker binary
|
||||
_docker=$(command -v 'podman') || \
|
||||
_docker=$(command -v 'docker') || \
|
||||
{ echo 'docker not found'; exit 1; }
|
||||
|
||||
# Ensure test args are set.
|
||||
ARGS=${@}; [ -z "$ARGS" ] && \
|
||||
ARGS='./...'
|
||||
@ -10,33 +15,32 @@ ARGS='./...'
|
||||
DB_NAME='postgres'
|
||||
DB_USER='postgres'
|
||||
DB_PASS='postgres'
|
||||
DB_IP='127.0.0.1'
|
||||
DB_PORT=5432
|
||||
|
||||
# Start postgres container
|
||||
CID=$(docker run --detach \
|
||||
CID=$($_docker run --detach \
|
||||
--publish "${DB_IP}:${DB_PORT}:${DB_PORT}" \
|
||||
--env "POSTGRES_DB=${DB_NAME}" \
|
||||
--env "POSTGRES_USER=${DB_USER}" \
|
||||
--env "POSTGRES_PASSWORD=${DB_PASS}" \
|
||||
--env "POSTGRES_HOST_AUTH_METHOD=trust" \
|
||||
--env "PGHOST=0.0.0.0" \
|
||||
--env "PGPORT=${DB_PORT}" \
|
||||
'postgres:latest')
|
||||
'docker.io/postgres:latest')
|
||||
|
||||
# On exit kill the container
|
||||
trap "docker kill ${CID}" exit
|
||||
trap "$_docker kill ${CID}" exit
|
||||
|
||||
sleep 5
|
||||
#docker exec "$CID" psql --user "$DB_USER" --password "$DB_PASS" -c "CREATE DATABASE \"${DB_NAME}\" WITH LOCALE \"C.UTF-8\" TEMPLATE \"template0\";"
|
||||
docker exec "$CID" psql --user "$DB_USER" --password "$DB_PASS" -c "GRANT ALL PRIVILEGES ON DATABASE \"${DB_NAME}\" TO \"${DB_USER}\";"
|
||||
|
||||
# Get running container IP
|
||||
IP=$(docker container inspect "${CID}" \
|
||||
--format '{{ .NetworkSettings.IPAddress }}')
|
||||
$_docker exec "$CID" psql --user "$DB_USER" --password "$DB_PASS" -c "GRANT ALL PRIVILEGES ON DATABASE \"${DB_NAME}\" TO \"${DB_USER}\";"
|
||||
|
||||
env \
|
||||
GTS_DB_TYPE=postgres \
|
||||
GTS_DB_ADDRESS=${IP} \
|
||||
GTS_DB_ADDRESS=${DB_IP} \
|
||||
GTS_DB_PORT=${DB_PORT} \
|
||||
GTS_DB_USER=${DB_USER} \
|
||||
GTS_DB_PASSWORD=${DB_PASS} \
|
||||
GTS_DB_DATABASE=${DB_NAME} \
|
||||
go test ./... -p 1 ${ARGS}
|
||||
go test -p 1 ${ARGS}
|
Reference in New Issue
Block a user