2021-08-04 19:44:35 +00:00

61 lines
1.7 KiB
YAML

name: Test
on:
# Run CI on all pushes to the master and release/** branches, and on all new
# pull requests, and on all pushes to pull requests (even if a pull request
# is not against master).
push:
branches:
- "master"
- "release/**"
pull_request:
env:
DOCKER_COMPOSE_VERSION: 1.29.2
defaults:
run:
shell: bash
jobs:
unit-test:
runs-on: ubuntu-20.04
name: "unit tests"
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Unit Tests
working-directory: install
run: find ./ -type f -name "*-test.sh" -exec "./{}" \;
integration-test:
runs-on: ubuntu-20.04
name: "integration test"
steps:
- name: Pin docker-compose
run: |
sudo rm /usr/local/bin/docker-compose
curl -L https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-`uname -s`-`uname -m` > docker-compose
chmod +x docker-compose
sudo mv docker-compose /usr/local/bin
- name: Checkout
uses: actions/checkout@v2
- name: Integration Test
run: |
echo "Testing initial install"
# Create ./certificates here because install.sh will create it with root:root
# and then run.sh (-> setup.sh) won't be able to write to it.
mkdir certificates
./install.sh
./_integration-test/run.sh
echo "Testing in-place upgrade"
# Also test plugin installation here
echo "sentry-auth-oidc" >> sentry/requirements.txt
./install.sh --minimize-downtime
./_integration-test/run.sh
- name: Inspect failure
if: failure()
run: |
docker-compose ps
docker-compose logs