diff --git a/.github/workflows/test-bootstrap.yml b/.github/workflows/test-bootstrap.yml index d137457..e931264 100644 --- a/.github/workflows/test-bootstrap.yml +++ b/.github/workflows/test-bootstrap.yml @@ -53,11 +53,11 @@ jobs: tag: v0.1.1 steps: - uses: actions/checkout@v4 - - name: Install curl on Alpine + - name: Install curl and sudo on Alpine shell: sh run: | apk update - apk add curl + apk add curl sudo if: matrix.platform.container != null - name: Run bootstrap script shell: sh @@ -65,18 +65,11 @@ jobs: set -e set -x - mkdir -p "$HOME/bin" - - UBI_DEBUG_BOOTSTRAP=1 TAG="${{ matrix.tag }}" ./bootstrap/${{ matrix.platform.script }} - if [ ! -x "$HOME/bin/ubi" ]; then - echo "Running ./bootstrap/${{ matrix.platform.script }} did not install ubi!" - exit 1 - fi - - "$HOME/bin/ubi" --project houseabsolute/precious --in "$HOME/bin" - if [ ! -x "$HOME/bin/precious" ]; then - echo "Running ubi did not install precious!" - exit 1 + if [ $( id -u ) -eq 0 ]; then + adduser -D github + sudo -u github ./bootstrap/test/test-bootstrap.sh "${{ matrix.platform.script }}" "${{ matrix.tag }}" + else + ./bootstrap/test/test-bootstrap.sh "${{ matrix.platform.script }}" "${{ matrix.tag }}" fi exit 0 diff --git a/bootstrap/test/test-bootstrap.sh b/bootstrap/test/test-bootstrap.sh new file mode 100755 index 0000000..fa0762c --- /dev/null +++ b/bootstrap/test/test-bootstrap.sh @@ -0,0 +1,24 @@ +#!/bin/sh + +set -e +set -x + +SCRIPT="$1" +# shellcheck disable=SC2034 # This is used by the bootstrap scripts. +TAG="$2" + +mkdir -p "$HOME/bin" + +UBI_DEBUG_BOOTSTRAP=1 "./bootstrap/$SCRIPT" +if [ ! -x "$HOME/bin/ubi" ]; then + echo "Running ./bootstrap/$SCRIPT did not install ubi!" + exit 1 +fi + +"$HOME/bin/ubi" --project houseabsolute/precious --in "$HOME/bin" +if [ ! -x "$HOME/bin/precious" ]; then + echo "Running ubi did not install precious!" + exit 1 +fi + +exit 0