Skip to content

Commit

Permalink
Change ci.yml workflow
Browse files Browse the repository at this point in the history
- Run docker in non-TTY mode.
- Remove pup-sub build (has been added to repo it lives in).
- Add authentication.
  • Loading branch information
Potherca committed Nov 11, 2022
1 parent 7199ce6 commit f354341
Show file tree
Hide file tree
Showing 3 changed files with 70 additions and 67 deletions.
119 changes: 59 additions & 60 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
# This workflow will do a clean install of node dependencies, build the source
# code and run tests across different versions of node
# For more information see:
# https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions

---
name: Solid Test Suites

on:
Expand All @@ -14,90 +10,93 @@ on:
branches: [ main ]

jobs:
docker-build-pub-sub:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3

- name: Build Pub-Sub Docker image
run: |
docker build -t pubsub-server https://github.com/pdsinterop/php-solid-pubsub-server.git#main
docker push ghcr.io/pdsinterop/solid-nextcloud:latest
docker-build-nextcloud:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3

- uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

# @FIXME: In stead of `latest` docker images need to be tagged with the MR/PR reference (or commit hash)
- name: Build Solid-Nextcloud Docker image
run: |
docker build -t solid-nextcloud .
docker push ghcr.io/pdsinterop/php-solid-pubsub-server:latest
docker build -t "ghcr.io/pdsinterop/solid-nextcloud:latest" .
docker push "ghcr.io/pdsinterop/solid-nextcloud:latest"
run-tests:
needs:
- docker-build-nextcloud
- docker-build-pub-sub

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3

- uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Run Solid webid-provider test suite
run: |
docker pull michielbdejong/nextcloud-cookie
docker pull solidtestsuite/webid-provider-tests:v2.1.0
docker pull ghcr.io/pdsinterop/solid-nextcloud:latest
docker pull ghcr.io/pdsinterop/php-solid-pubsub-server:latest
docker network create testnet
docker run --network=testnet -d --name pubsub ghcr.io/pdsinterop/php-solid-pubsub-server:latest
docker run -i --network=testnet -d --name 'pubsub' "ghcr.io/pdsinterop/php-solid-pubsub-server:latest"
source ./run-solid-test-suite.sh
startSolidNextcloud 'server' 'ghcr.io/pdsinterop/solid-nextcloud'
startSolidNextcloud 'thirdparty' 'ghcr.io/pdsinterop/solid-nextcloud'
startSolidNextcloud 'server' "ghcr.io/pdsinterop/solid-nextcloud:latest"
startSolidNextcloud 'thirdparty' "ghcr.io/pdsinterop/solid-nextcloud:latest"
docker run --rm --network=testnet \
docker run -i --rm --network=testnet \
--env COOKIE="$COOKIE_server" \
--env COOKIE_ALICE="$COOKIE_server" \
--env COOKIE_BOB="$COOKIE_thirdparty" \
--env-file ./env-vars-testers.list \
solidtestsuite/webid-provider-tests:v2.1.0
- name: Run Solid solid-crud test suite
run: |
docker pull michielbdejong/nextcloud-cookie
docker pull solidtestsuite/solid-crud-tests:v6.0.0
docker network create testnet
docker run --network=testnet -d --name pubsub ghcr.io/pdsinterop/php-solid-pubsub-server:latest
source ./run-solid-test-suite.sh
startSolidNextcloud 'server' 'ghcr.io/pdsinterop/solid-nextcloud'
startSolidNextcloud 'thirdparty' 'ghcr.io/pdsinterop/solid-nextcloud'
docker run --rm --network=testnet \
--env COOKIE="$COOKIE_server" \
--env COOKIE_ALICE="$COOKIE_server" \
--env COOKIE_BOB="$COOKIE_thirdparty" \
--env-file ./env-vars-testers.list \
solidtestsuite/solid-crud-tests:v6.0.0
- name: Run Solid web-access-control test suite
run: |
docker pull michielbdejong/nextcloud-cookie
docker pull solidtestsuite/web-access-control-tests:v7.1.0
docker network create testnet
docker run --network=testnet -d --name pubsub ghcr.io/pdsinterop/php-solid-pubsub-server:latest
source ./run-solid-test-suite.sh
startSolidNextcloud 'server' 'ghcr.io/pdsinterop/solid-nextcloud'
startSolidNextcloud 'thirdparty' 'ghcr.io/pdsinterop/solid-nextcloud'
docker run --rm --network=testnet \
--env COOKIE="$COOKIE_server" \
--env COOKIE_ALICE="$COOKIE_server" \
--env COOKIE_BOB="$COOKIE_thirdparty" \
--env-file ./env-vars-testers.list \
solidtestsuite/web-access-control-tests:v7.1.0
# - name: Run Solid solid-crud test suite
# run: |
# docker pull michielbdejong/nextcloud-cookie
# docker pull solidtestsuite/solid-crud-tests:v6.0.0
#
# docker network create testnet
# docker run -i --network=testnet -d --name pubsub ghcr.io/pdsinterop/php-solid-pubsub-server:latest
#
# source ./run-solid-test-suite.sh
# startSolidNextcloud 'server' "ghcr.io/pdsinterop/solid-nextcloud:latest"
# startSolidNextcloud 'thirdparty' "ghcr.io/pdsinterop/solid-nextcloud:latest"
#
# docker run -i --rm --network=testnet \
# --env COOKIE="$COOKIE_server" \
# --env COOKIE_ALICE="$COOKIE_server" \
# --env COOKIE_BOB="$COOKIE_thirdparty" \
# --env-file ./env-vars-testers.list \
# solidtestsuite/solid-crud-tests:v6.0.0
#
# - name: Run Solid web-access-control test suite
# run: |
# docker pull michielbdejong/nextcloud-cookie
# docker pull solidtestsuite/web-access-control-tests:v7.1.0
#
# docker network create testnet
# docker run -i --network=testnet -d --name 'pubsub' "ghcr.io/pdsinterop/php-solid-pubsub-server:latest"
#
# source ./run-solid-test-suite.sh
# startSolidNextcloud 'server' "ghcr.io/pdsinterop/solid-nextcloud:latest"
# startSolidNextcloud 'thirdparty' "ghcr.io/pdsinterop/solid-nextcloud:latest"
#
# docker run -i --rm --network=testnet \
# --env COOKIE="$COOKIE_server" \
# --env COOKIE_ALICE="$COOKIE_server" \
# --env COOKIE_BOB="$COOKIE_thirdparty" \
# --env-file ./env-vars-testers.list \
# solidtestsuite/web-access-control-tests:v7.1.0
1 change: 1 addition & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ RUN apt-get update && apt-get install -yq \
git \
sudo \
vim \
zip \
&& rm -rf /var/lib/apt/lists/* \
&& a2enmod ssl \
&& mkdir /tls \
Expand Down
17 changes: 10 additions & 7 deletions run-solid-test-suite.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,19 @@
set -e

function setup {
docker network create testnet
docker build -t solid-nextcloud .
docker build -t pubsub-server https://github.com/pdsinterop/php-solid-pubsub-server.git#main
docker build -t solid-nextcloud .

docker network create testnet

docker pull michielbdejong/nextcloud-cookie
docker pull solidtestsuite/webid-provider-tests:v2.1.0
docker tag solidtestsuite/webid-provider-tests:v2.1.0 webid-provider-tests
docker pull solidtestsuite/solid-crud-tests:v7.0.5
docker tag solidtestsuite/solid-crud-tests:v7.0.5 solid-crud-tests
docker pull solidtestsuite/web-access-control-tests:v7.1.0
docker pull solidtestsuite/webid-provider-tests:v2.1.0

docker tag solidtestsuite/solid-crud-tests:v7.0.5 solid-crud-tests
docker tag solidtestsuite/web-access-control-tests:v7.1.0 web-access-control-tests
docker tag solidtestsuite/webid-provider-tests:v2.1.0 webid-provider-tests
}

function teardown {
Expand All @@ -37,8 +40,8 @@ function startSolidNextcloud {

docker logs "$1"
echo "Running init script for Nextcloud $1 ..."
docker exec -u www-data -it -e SERVER_ROOT="https://$1" "$1" sh /init.sh
docker exec -u root -it "$1" service apache2 reload
docker exec -u www-data -i -e SERVER_ROOT="https://$1" "$1" sh /init.sh
docker exec -u root -i "$1" service apache2 reload
echo Getting cookie for "$1"...
export COOKIE_$1="$(docker run --cap-add=SYS_ADMIN --network=testnet --env-file "./env-vars-$1.list" michielbdejong/nextcloud-cookie)"
}
Expand Down

0 comments on commit f354341

Please sign in to comment.