## 📄 Summary
- Instead of relying on JWT for session management, we are adding another token system: opaque. This gives the benefits of expiration and revocation.
- We are now ensuring that emails are regex checked throughout the backend.
- Support has been added for OIDC protocol
71 lines
2.7 KiB
YAML
71 lines
2.7 KiB
YAML
name: integrationci
|
|
|
|
on:
|
|
pull_request:
|
|
types:
|
|
- labeled
|
|
pull_request_target:
|
|
types:
|
|
- labeled
|
|
|
|
jobs:
|
|
test:
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
src:
|
|
- bootstrap
|
|
- passwordauthn
|
|
- callbackauthn
|
|
- querier
|
|
- ttl
|
|
sqlstore-provider:
|
|
- postgres
|
|
- sqlite
|
|
clickhouse-version:
|
|
- 25.5.6
|
|
schema-migrator-version:
|
|
- v0.129.6
|
|
postgres-version:
|
|
- 15
|
|
if: |
|
|
((github.event_name == 'pull_request' && ! github.event.pull_request.head.repo.fork && github.event.pull_request.user.login != 'dependabot[bot]' && ! contains(github.event.pull_request.labels.*.name, 'safe-to-test')) ||
|
|
(github.event_name == 'pull_request_target' && contains(github.event.pull_request.labels.*.name, 'safe-to-test'))) && contains(github.event.pull_request.labels.*.name, 'safe-to-integrate')
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: checkout
|
|
uses: actions/checkout@v4
|
|
- name: python
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: 3.13
|
|
- name: poetry
|
|
run: |
|
|
python -m pip install poetry==2.1.2
|
|
python -m poetry config virtualenvs.in-project true
|
|
cd tests/integration && poetry install --no-root
|
|
- name: webdriver
|
|
run: |
|
|
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
|
|
echo "deb http://dl.google.com/linux/chrome/deb/ stable main" | sudo tee -a /etc/apt/sources.list.d/google-chrome.list
|
|
sudo apt-get update -qqy
|
|
sudo apt-get -qqy install google-chrome-stable
|
|
CHROME_VERSION=$(google-chrome-stable --version)
|
|
CHROME_FULL_VERSION=${CHROME_VERSION%%.*}
|
|
CHROME_MAJOR_VERSION=${CHROME_FULL_VERSION//[!0-9]}
|
|
sudo rm /etc/apt/sources.list.d/google-chrome.list
|
|
export CHROMEDRIVER_VERSION=`curl -s https://googlechromelabs.github.io/chrome-for-testing/LATEST_RELEASE_${CHROME_MAJOR_VERSION%%.*}`
|
|
curl -L -O "https://storage.googleapis.com/chrome-for-testing-public/${CHROMEDRIVER_VERSION}/linux64/chromedriver-linux64.zip"
|
|
unzip chromedriver-linux64.zip && chmod +x chromedriver && sudo mv chromedriver /usr/local/bin
|
|
chromedriver -version
|
|
- name: run
|
|
run: |
|
|
cd tests/integration && \
|
|
poetry run pytest \
|
|
--basetemp=./tmp/ \
|
|
src/${{matrix.src}} \
|
|
--sqlstore-provider ${{matrix.sqlstore-provider}} \
|
|
--postgres-version ${{matrix.postgres-version}} \
|
|
--clickhouse-version ${{matrix.clickhouse-version}} \
|
|
--schema-migrator-version ${{matrix.schema-migrator-version}}
|