mirror of
https://github.com/getsentry/self-hosted.git
synced 2025-12-08 19:46:14 +00:00
61 lines
1.7 KiB
YAML
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
|