-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[ENH] add pre-commit workflows (#44)
* add pre-commit workflows * Update .github/workflows/update_precommit_hooks.yml Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci * change yml formatting * cancel previous test runs --------- Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com> Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
- Loading branch information
1 parent
e8449fe
commit b625032
Showing
11 changed files
with
248 additions
and
174 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -11,64 +11,69 @@ name: 'MATLAB: test and coverage' | |
# If tests pass, uploads coverage to codecov | ||
|
||
on: | ||
push: | ||
branches: [main] | ||
pull_request: | ||
branches: ['*'] | ||
push: | ||
branches: [main] | ||
pull_request: | ||
branches: ['*'] | ||
|
||
# cancel previous run on that branch | ||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.ref }} | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
matlab_tests: | ||
matlab_tests: | ||
|
||
strategy: | ||
matrix: | ||
os: [ubuntu-latest, windows-latest] | ||
version: [R2021a, R2023b] | ||
include: | ||
- os: macos-latest | ||
version: R2023b | ||
fail-fast: false # Don't cancel all jobs if one fails | ||
strategy: | ||
matrix: | ||
os: [ubuntu-latest, windows-latest] | ||
version: [R2021a, R2023b] | ||
include: | ||
- os: macos-latest | ||
version: R2023b | ||
fail-fast: false # Don't cancel all jobs if one fails | ||
|
||
runs-on: ${{ matrix.os }} | ||
runs-on: ${{ matrix.os }} | ||
|
||
steps: | ||
- name: Install MATLAB | ||
uses: matlab-actions/[email protected] | ||
with: | ||
release: ${{ matrix.version }} | ||
steps: | ||
- name: Install MATLAB | ||
uses: matlab-actions/[email protected] | ||
with: | ||
release: ${{ matrix.version }} | ||
|
||
- uses: actions/checkout@v4 | ||
with: | ||
submodules: true | ||
fetch-depth: 1 | ||
- uses: actions/checkout@v4 | ||
with: | ||
submodules: true | ||
fetch-depth: 1 | ||
|
||
- name: Install Moxunit and MOcov | ||
run: | | ||
git clone https://github.com/MOxUnit/MOxUnit.git --depth 1 | ||
git clone https://github.com/MOcov/MOcov.git --depth 1 | ||
- name: Install Moxunit and MOcov | ||
run: | | ||
git clone https://github.com/MOxUnit/MOxUnit.git --depth 1 | ||
git clone https://github.com/MOcov/MOcov.git --depth 1 | ||
- name: Run tests | ||
uses: matlab-actions/[email protected] | ||
with: | ||
command: cd(fullfile(getenv('GITHUB_WORKSPACE'), '.github', 'workflows')); run run_tests_ci; | ||
- name: Run tests | ||
uses: matlab-actions/[email protected] | ||
with: | ||
command: cd(fullfile(getenv('GITHUB_WORKSPACE'), '.github', 'workflows')); run run_tests_ci; | ||
|
||
- name: Check logs unix | ||
if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest' | ||
run: grep -q 0 test_report.log || { echo "Some tests failed. Check the 'Run tests' step to know which ones." >&2; exit 1; } | ||
- name: Check logs windows | ||
if: matrix.os == 'windows-latest' | ||
run: | | ||
if (-not (Get-Content test_report.log | Select-String -Pattern "0")) { | ||
throw "Some tests failed. Check the 'Run tests' step to know which ones." | ||
} | ||
- name: Check logs unix | ||
if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest' | ||
run: grep -q 0 test_report.log || { echo "Some tests failed. Check the 'Run tests' step to know which ones." >&2; exit 1; } | ||
- name: Check logs windows | ||
if: matrix.os == 'windows-latest' | ||
run: | | ||
if (-not (Get-Content test_report.log | Select-String -Pattern "0")) { | ||
throw "Some tests failed. Check the 'Run tests' step to know which ones." | ||
} | ||
- name: Code coverage | ||
if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest' | ||
- name: Code coverage | ||
if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest' | ||
# no coverage on windows as long as MOcov does not support it | ||
# see https://github.com/MOcov/MOcov/issues/28 | ||
uses: codecov/codecov-action@v4 | ||
with: | ||
file: coverage.xml # optional | ||
flags: ${{ matrix.os }}_matlab-${{ matrix.version }} | ||
name: codecov-umbrella # optional | ||
fail_ci_if_error: false # optional (default = false) | ||
token: ${{ secrets.CODECOV_TOKEN }} | ||
uses: codecov/codecov-action@v4 | ||
with: | ||
file: coverage.xml # optional | ||
flags: ${{ matrix.os }}_matlab-${{ matrix.version }} | ||
name: codecov-umbrella # optional | ||
fail_ci_if_error: false # optional (default = false) | ||
token: ${{ secrets.CODECOV_TOKEN }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,34 +2,39 @@ | |
name: 'Octave: test and coverage' | ||
|
||
on: | ||
push: | ||
branches: [main] | ||
pull_request: | ||
branches: ['*'] | ||
push: | ||
branches: [main] | ||
pull_request: | ||
branches: ['*'] | ||
|
||
# cancel previous run on that branch | ||
concurrency: | ||
group: ${{ github.workflow }}-${{ github.ref }} | ||
cancel-in-progress: true | ||
|
||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
build: | ||
runs-on: ubuntu-latest | ||
|
||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
submodules: true | ||
fetch-depth: 1 | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
submodules: true | ||
fetch-depth: 1 | ||
|
||
- name: MOxUnit Action | ||
uses: joergbrech/[email protected] | ||
with: | ||
tests: tests | ||
src: src | ||
with_coverage: true | ||
cover_xml_file: coverage.xml | ||
- name: MOxUnit Action | ||
uses: joergbrech/[email protected] | ||
with: | ||
tests: tests | ||
src: src | ||
with_coverage: true | ||
cover_xml_file: coverage.xml | ||
|
||
- name: Code coverage | ||
uses: codecov/codecov-action@v4 | ||
with: | ||
token: ${{ secrets.CODECOV_TOKEN }} # not required for public repos | ||
file: coverage.xml # optional | ||
flags: octave # optional | ||
name: codecov-umbrella # optional | ||
fail_ci_if_error: false # optional (default = false) | ||
- name: Code coverage | ||
uses: codecov/codecov-action@v4 | ||
with: | ||
token: ${{ secrets.CODECOV_TOKEN }} # not required for public repos | ||
file: coverage.xml # optional | ||
flags: octave # optional | ||
name: codecov-umbrella # optional | ||
fail_ci_if_error: false # optional (default = false) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
--- | ||
name: pre-commit | ||
|
||
on: | ||
pull_request: | ||
push: | ||
branches: [main] | ||
|
||
jobs: | ||
pre-commit: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions/setup-python@v5 | ||
- uses: pre-commit/[email protected] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,48 @@ | ||
--- | ||
name: Update precommit hooks | ||
|
||
|
||
on: | ||
|
||
# Uses the cron schedule for github actions | ||
# | ||
# https://docs.github.com/en/free-pro-team@latest/actions/reference/events-that-trigger-workflows#scheduled-events | ||
# | ||
# ┌───────────── minute (0 - 59) | ||
# │ ┌───────────── hour (0 - 23) | ||
# │ │ ┌───────────── day of the month (1 - 31) | ||
# │ │ │ ┌───────────── month (1 - 12 or JAN-DEC) | ||
# │ │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT) | ||
# │ │ │ │ │ | ||
# │ │ │ │ │ | ||
# │ │ │ │ │ | ||
# * * * * * | ||
schedule: | ||
- cron: 0 0 * * 1 | ||
|
||
# Allows you to run this workflow manually from the Actions tab | ||
workflow_dispatch: | ||
|
||
jobs: | ||
update_precommit_hooks: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Checkout repo | ||
uses: actions/checkout@v4 | ||
- name: Set up Python | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: '3.12' | ||
- name: Install pre-commit | ||
run: pip install pre-commit | ||
- name: Update pre-commit hooks | ||
run: pre-commit autoupdate | ||
- name: Create Pull Request | ||
uses: peter-evans/create-pull-request@v6 | ||
with: | ||
commit-message: pre-commit hooks auto-update | ||
base: main | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
delete-branch: true | ||
title: '[BOT] update pre-commit hooks' | ||
body: update pre-commit hooks |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.