name: CI on: push: branches: - main pull_request: workflow_dispatch: concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} cancel-in-progress: true jobs: run-pre-commit: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - id: run-pre-commit run: pipx run pre-commit run --all-files - id: generate-token if: ${{ !cancelled() && steps.run-pre-commit.conclusion == 'failure' }} uses: tibdex/github-app-token@v2 with: app_id: ${{ secrets.APP_ID }} private_key: ${{ secrets.PRIVATE_KEY }} - if: ${{ !cancelled() && steps.generate-token.conclusion == 'success' }} uses: peter-evans/create-pull-request@v6 with: token: ${{ steps.generate-token.outputs.token }} commit-message: Run pre-commit committer: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> branch: pre-commit/${{ github.ref_name }} delete-branch: true title: Run pre-commmit body: build: strategy: matrix: os: - ubuntu - macos - windows fail-fast: false runs-on: ${{ matrix.os }}-latest steps: - uses: actions/checkout@v4 - run: pipx install poetry - uses: actions/setup-python@v5 with: python-version: "3.11" cache: poetry check-latest: true - run: poetry install --only=main,nuitka --sync --no-root --extras=non-termux --no-interaction - run: poetry run --no-interaction python -m nuitka --onefile --python-flag='-m' --prefer-source-code --assume-yes-for-downloads proxy_scraper_checker - uses: actions/upload-artifact@v4 with: name: artifact-${{ matrix.os }} path: | config.toml proxy_scraper_checker.bin proxy_scraper_checker.exe if-no-files-found: error