name: CI on: pull_request: types: - opened - synchronize branches: - master push: branches: - master concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} cancel-in-progress: true permissions: contents: read # to fetch code (actions/checkout) jobs: tests: name: Run tests runs-on: ubuntu-latest if: github.repository == 'ohmyzsh/ohmyzsh' steps: - name: Set up git repository uses: actions/checkout@v4 - name: Install zsh run: sudo apt-get update; sudo apt-get install zsh - name: Check syntax run: | for file in ./oh-my-zsh.sh \ ./lib/*.zsh \ ./plugins/*/*.plugin.zsh \ ./plugins/*/_* \ ./themes/*.zsh-theme; do zsh -n "$file" || return 1 done collisions: name: Check alias collisions runs-on: ubuntu-latest steps: - name: Set up git repository uses: actions/checkout@v3 - name: Set up Python uses: actions/setup-python@v4 with: python-version: '3.10' - name: Check for alias collisions run: python tools/alias_collision/check_alias_collision.py plugins - name: Install dependencies run: | python -m pip install --upgrade pip pip install -r tools/alias_collision/requirements.txt - name: Run unit tests run: | cd tools/alias_collision/ python -m pytest