Skip to content

Alpha release (Account management API 1/2) (#51) #221

Alpha release (Account management API 1/2) (#51)

Alpha release (Account management API 1/2) (#51) #221

Workflow file for this run

name: Continuous Integration
on:
push:
branches:
- main
pull_request:
branches: [main]
paths:
- "**"
- "!/*.md"
- "!/**.md"
concurrency:
group: "${{ github.workflow }} @ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}"
cancel-in-progress: true
jobs:
ci:
name: CI
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Rust Toolchain
uses: actions-rs/toolchain@v1
with:
profile: minimal
toolchain: stable
- name: Setup Rust Cache
uses: Swatinem/rust-cache@v2
- name: Check formatting
run: cargo fmt --check
- name: Check clippy
run: cargo clippy --workspace -- -D warnings
- name: Unit Tests
run: cargo test -p matrix
- name: Install Just
uses: extractions/setup-just@v1
with:
just-version: '1.13.0'
- name: Retrieve User Permissions
run: |
echo DOCKER_USER=$(id -u):$(id -g) >> $GITHUB_ENV
- name: Create Homeserver Configuration For Synapse
run: just gen_synapse_conf
- name: Use Test Homeserver
run: |
cp ./crates/test/fixtures/synapse/* ./docker/synapse
cat ./docker/synapse/homeserver.yaml
- name: Build Docker Containers
run: |
just backend --no-start
- name: Run Docker Containers
run: |
just backend -d
- name: Wait for Healthy Container
uses: raschmitt/[email protected]
with:
container-name: commune-rs-synapse-1
timeout: 30
- name: Create Admin User
env:
DOCKER_USER: ${{ env.DOCKER_USER }}
run: just gen_synapse_admin
- name: Retrieve Admin Access Token
run: |
just get_access_token
grep 'COMMUNE_SYNAPSE_ADMIN_TOKEN' .env | sed "s/'//g" >> $GITHUB_ENV
- name: E2E Tests
env:
COMMUNE_SYNAPSE_ADMIN_TOKEN: ${{ env.COMMUNE_SYNAPSE_ADMIN_TOKEN }}
run: |
just e2e -- --show-output
- name: Print Logs
if: always()
run: |
docker-compose logs --no-color --tail=1000 synapse > synapse.log
cat ./synapse.log
docker compose down
docker ps