zammad/zammad

View on GitHub
.github/workflows/ci.yaml

Summary

Maintainability
Test Coverage
name: CI

on:
  pull_request:
  schedule:
    # Run every on Friday to ensure everything works as expected.
    - cron:  '0 6 * * 5'

jobs:
  CI:
    runs-on: ubuntu-latest
    container:
      image: zammad/zammad-ci:latest
    services:
      postgresql:
        image: postgres:16
        env:
          POSTGRES_USER: zammad
          POSTGRES_PASSWORD: zammad
      redis:
        # Use Redis 5 which is shipped in Debian 10.
        image: redis:5
    env:
      RAILS_ENV: test
      Z_LOCALES: "en-us:de-de"
      TZ: 'Europe/London'
      REDIS_URL: redis://redis:6379
      # Compile assets only once.
      CI_SKIP_ASSETS_PRECOMPILE: 'true'
      # Avoid unnecessary DB resets.
      CI_SKIP_DB_RESET: 'true'
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Cache node modules
        id: cache-npm
        uses: actions/cache@v4
        with:
          path: .yarn/cache
          key: ${{ runner.os }}-cache-npm-${{ hashFiles('yarn.lock') }}
      - name: Cache Rubygems
        id: cache-bundler
        uses: actions/cache@v4
        with:
          path: vendor/ruby
          key: ${{ runner.os }}-cache-bundler-${{ hashFiles('Gemfile.lock') }}
      - name: Pre
        run: .github/workflows/ci/pre.sh
      - name: Lint
        run: .github/workflows/ci/lint.sh
      - name: Test
        run: .github/workflows/ci/test.sh