mirror of
https://github.com/getsentry/self-hosted.git
synced 2026-01-18 15:12:42 +00:00
77 lines
2.5 KiB
YAML
77 lines
2.5 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:
|
|
schedule:
|
|
- cron: "0 0,12 * * *"
|
|
|
|
concurrency:
|
|
group: ${{ github.ref_name || github.sha }}
|
|
cancel-in-progress: true
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
jobs:
|
|
unit-test:
|
|
if: github.repository_owner == 'getsentry'
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
os: [ubuntu-24.04, ubuntu-24.04-arm]
|
|
name: ${{ matrix.os == 'ubuntu-24.04-arm' && 'unit tests (arm64)' || 'unit tests' }}
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v5
|
|
|
|
- name: Get Compose
|
|
uses: ./get-compose-action
|
|
|
|
- name: Unit Tests
|
|
run: ./unit-test.sh
|
|
|
|
integration-test:
|
|
if: github.repository_owner == 'getsentry'
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [ubuntu-24.04, ubuntu-24.04-arm]
|
|
container_engine: ['docker'] # TODO: add 'podman' into the list
|
|
compose_profiles: ['feature-complete', 'errors-only']
|
|
name: ${{ format('integration test{0}{1}{2}', matrix.os == 'ubuntu-24.04-arm' && ' (arm64)' || '', matrix.container_engine == 'podman' && ' (podman)' || '', matrix.compose_profiles == 'errors-only' && ' (errors-only)' || '') }}
|
|
env:
|
|
REPORT_SELF_HOSTED_ISSUES: 0
|
|
SELF_HOSTED_TESTING_DSN: ${{ vars.SELF_HOSTED_TESTING_DSN }}
|
|
CONTAINER_ENGINE_PODMAN: ${{ matrix.container_engine == 'podman' && '1' || '0' }}
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v5
|
|
|
|
- name: Install Podman
|
|
if: matrix.container_engine == 'podman'
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y --no-install-recommends podman
|
|
# TODO: Replace below with podman-compose
|
|
# We need this commit to be able to work: https://github.com/containers/podman-compose/commit/8206cc3ea277eee6c2e87d4cd66eba8eae3d44eb
|
|
pip3 install --user https://github.com/containers/podman-compose/archive/main.tar.gz
|
|
echo "PODMAN_COMPOSE_PROVIDER=podman-compose" >> $GITHUB_ENV
|
|
echo "PODMAN_COMPOSE_WARNING_LOGS=false" >> $GITHUB_ENV
|
|
|
|
- name: Use action from local checkout
|
|
uses: './'
|
|
with:
|
|
compose_profiles: ${{ matrix.compose_profiles }}
|
|
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|