diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 205b5f7..0c4c453 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,93 +1,9 @@ jobs: - complete_coveralls: - needs: test-multi-python - runs-on: ubuntu-latest - steps: - - name: Coveralls Finished - uses: coverallsapp/github-action@master - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - parallel-finished: true - lint-multi-os: - name: Lint ${{ matrix.os }} - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-python@v2 - with: - python-version: 3.x - - uses: actions/cache@v1 - with: - key: v0-${{ runner.os }}-pip-lint-${{ hashFiles('setup.py') }} - path: ~/.cache/pip - restore-keys: | - v0-${{ runner.os }}-pip-lint- - v0-${{ runner.os }}-pip- - - name: Install dependencies - run: | - # Pin pip to 21.x for now to avoid error in pre-commit action on Win - python -m pip install --upgrade pip==21.* setuptools wheel - pip install .[lint] - - name: Run pre-commit hooks - uses: pre-commit/action@v2.0.3 - strategy: - matrix: - os: [macOS-latest, ubuntu-latest, windows-latest] - test-multi-os: - name: Test ${{ matrix.os }} - runs-on: ${{ matrix.os }} - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-python@v2 - with: - python-version: 3.x - - uses: actions/cache@v1 - with: - key: v0-${{ runner.os }}-pip-test-${{ hashFiles('setup.py') }} - path: ~/.cache/pip - restore-keys: | - v0-${{ runner.os }}-pip-test- - v0-${{ runner.os }}-pip- - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install .[test] - - name: Test with pytest - run: pytest - strategy: - matrix: - os: [macOS-latest, ubuntu-latest, windows-latest] - test-multi-python: - name: Test Python ${{ matrix.python-version }} - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-python@v2 - with: - python-version: ${{ matrix.python-version }} - - uses: actions/cache@v1 - with: - key: v0-${{ runner.os }}-pip-test-${{ hashFiles('setup.py') }} - path: ~/.cache/pip - restore-keys: | - v0-${{ runner.os }}-pip-test- - v0-${{ runner.os }}-pip- - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install .[test] - pip install .[ci] - - name: Test with pytest - run: coverage run --source prawcore --module pytest - - env: - COVERALLS_PARALLEL: true - COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }} - name: Submit to coveralls - run: coveralls --service=github - - name: Check coverage - run: coverage report -m --fail-under=100 - strategy: - matrix: - python-version: [3.7, 3.8, 3.9, '3.10'] + ci: + name: CI + secrets: inherit + uses: praw-dev/.github/.github/workflows/ci.yml@main + with: + package: prawcore name: CI -on: [pull_request, push] +on: [ pull_request, push ] diff --git a/.github/workflows/manual_tag_release.yml b/.github/workflows/manual_tag_release.yml new file mode 100644 index 0000000..6b6a190 --- /dev/null +++ b/.github/workflows/manual_tag_release.yml @@ -0,0 +1,13 @@ +jobs: + manual_tag_release: + secrets: inherit + uses: praw-dev/.github/.github/workflows/manual_tag_release.yml@main + with: + commit: ${{ inputs.commit }} +name: Manual Tag Release +on: + workflow_dispatch: + inputs: + commit: + description: The commit the version bump occurred + required: true diff --git a/.github/workflows/pre-commit_autoupdate.yml b/.github/workflows/pre-commit_autoupdate.yml new file mode 100644 index 0000000..973000a --- /dev/null +++ b/.github/workflows/pre-commit_autoupdate.yml @@ -0,0 +1,9 @@ +jobs: + pre-commit_autoupdate: + secrets: inherit + uses: praw-dev/.github/.github/workflows/pre-commit_autoupdate.yml@main +name: Update pre-commit hooks +on: + schedule: + - cron: 0 15 * * 1 + workflow_dispatch: diff --git a/.github/workflows/prepare_release.yml b/.github/workflows/prepare_release.yml new file mode 100644 index 0000000..b4845c4 --- /dev/null +++ b/.github/workflows/prepare_release.yml @@ -0,0 +1,13 @@ +jobs: + prepare_release: + secrets: inherit + uses: praw-dev/.github/.github/workflows/prepare_release.yml@main + with: + commit: ${{ inputs.version }} +name: Prepare Release +on: + workflow_dispatch: + inputs: + version: + description: The version to prepare for release + required: true diff --git a/.github/workflows/pypi.yml b/.github/workflows/pypi.yml new file mode 100644 index 0000000..9f3357f --- /dev/null +++ b/.github/workflows/pypi.yml @@ -0,0 +1,8 @@ +jobs: + pypi: + secrets: inherit + uses: praw-dev/.github/.github/workflows/pypi.yml@main +name: Upload Python Package +on: + release: + types: [ published ] diff --git a/.github/workflows/scorecards-analysis.yml b/.github/workflows/scorecards-analysis.yml new file mode 100644 index 0000000..00cc8bd --- /dev/null +++ b/.github/workflows/scorecards-analysis.yml @@ -0,0 +1,11 @@ +jobs: + scorecards-analysis: + secrets: inherit + uses: praw-dev/.github/.github/workflows/scorecards-analysis.yml@main +name: Scorecards supply-chain security +on: + branch_protection_rule: + push: + branches: [ main ] + schedule: + - cron: 30 1 * * 6 diff --git a/.github/workflows/set_active_docs.yml b/.github/workflows/set_active_docs.yml new file mode 100644 index 0000000..ed9087b --- /dev/null +++ b/.github/workflows/set_active_docs.yml @@ -0,0 +1,8 @@ +jobs: + set_active_docs: + secrets: inherit + uses: praw-dev/.github/.github/workflows/set_active_docs.yml@main +name: Set Active Docs +on: + release: + types: [ published ] diff --git a/.github/workflows/stale_action.yml b/.github/workflows/stale_action.yml new file mode 100644 index 0000000..6c164ca --- /dev/null +++ b/.github/workflows/stale_action.yml @@ -0,0 +1,9 @@ +jobs: + stale_action: + secrets: inherit + uses: praw-dev/.github/.github/workflows/stale_action.yml@main +name: Close stale issues and PRs +on: + schedule: + - cron: 0 */6 * * * + workflow_dispatch: diff --git a/.github/workflows/tag_release.yml b/.github/workflows/tag_release.yml new file mode 100644 index 0000000..cc3b81c --- /dev/null +++ b/.github/workflows/tag_release.yml @@ -0,0 +1,8 @@ +jobs: + tag_release: + secrets: inherit + uses: praw-dev/.github/.github/workflows/tag_release.yml@main +name: Tag Release +on: + push: + branches: [ main, release_test ]