name: e2e_ppo_trainer on: # Trigger the workflow on push or pull request, # but only for the main branch # For push, for now only anti-patterns are specified so it is more conservative # and achieves higher coverage. push: branches: - main - v0.* paths: - "**/*.py" # Other entrypoints - "!verl/trainer/fsdp_sft_trainer.py" # Recipes - "!recipe/**" # Megatron - "!verl/workers/**/megatron_*.py" pull_request: branches: - main - v0.* paths: - "**/*.py" # Other entrypoints - "!**/*.md" - "!docker/**" - "!examples/**" - "!tests/**" - "!verl/trainer/main_*.py" - "!verl/trainer/fsdp_sft_trainer.py" # Docs - "!docs/**" # Recipes - "!recipe/**" # Megatron - "!verl/workers/**/megatron_*.py" # Entrypoints - ".github/workflows/e2e_ppo_trainer.yml" - "examples/data_preprocess/gsm8k.py" - "examples/data_preprocess/geo3k.py" - "tests/special_e2e/ppo_trainer" - "verl/trainer/main_ppo.py" - "verl/trainer/config/ppo_trainer.yaml" # Cancel jobs on the same ref if a new one is triggered concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} # Declare permissions just read content. permissions: contents: read jobs: pre_commit_for_ppo: runs-on: ubuntu-latest strategy: matrix: python-version: ["3.12"] steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@0b93645e9fea7318ecaed2b359559ac225c90a2b # v5.3.0 with: python-version: ${{ matrix.python-version }} - name: Install the current repository run: | pip install -e . - name: Set ruff --output-format=github run: | sed -i 's/--output-format=full/--output-format=github/' .pre-commit-config.yaml git add .pre-commit-config.yaml - uses: pre-commit/action@v3.0.1 with: extra_args: "" # Overriding default "--all-files"