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:17 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: Install pnpm uses: pnpm/action-setup@v4 - name: Use Node.js 20 uses: actions/setup-node@v4 with: node-version: 20 cache: 'pnpm' - name: Cache Rubygems id: cache-bundler uses: actions/cache@v4 with: path: vendor/bundle 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