From 89b5ee63b8b5e040b453d5e3be09bcfe596ea3ba Mon Sep 17 00:00:00 2001 From: plaresmedima Date: Tue, 15 Aug 2023 17:57:00 +0100 Subject: [PATCH] add workflows --- .github/workflows/documentation.yaml | 46 +++++++++++++++++++++++++++ .github/workflows/pytest-actions.yaml | 42 ++++++++++++++++++++++++ 2 files changed, 88 insertions(+) create mode 100644 .github/workflows/documentation.yaml create mode 100644 .github/workflows/pytest-actions.yaml diff --git a/.github/workflows/documentation.yaml b/.github/workflows/documentation.yaml new file mode 100644 index 0000000..f736444 --- /dev/null +++ b/.github/workflows/documentation.yaml @@ -0,0 +1,46 @@ +name: Docs +run-name: "Updating Docs as ${{ github.actor }} has pushed changes to main" +on: + push: + branches: + - main + +jobs: + docs: + runs-on: ubuntu-latest + steps: + - run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event." + - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!" + - run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}." + + - name: Check out repository code + uses: actions/checkout@v3 + - run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner." + - run: echo "🖥️ The workflow is now ready to test your code on the runner." + + - name: Install Python 3.10 + uses: actions/setup-python@v4 + with: + python-version: '3.10' + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + python -m pip install -e .[tests,docs] + + - name: Update Sphinx htmls + run: | + make html + working-directory: docs + + - name: Publish to gh-pages + uses: peaceiris/actions-gh-pages@v3 + if: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} + with: + publish_branch: gh-pages # default: gh-pages + github_token: ${{ secrets.GITHUB_TOKEN }} + publish_dir: docs/build/html/ + force_orphan: true + + - run: echo "Status of job = ${{ job.status }}." + diff --git a/.github/workflows/pytest-actions.yaml b/.github/workflows/pytest-actions.yaml new file mode 100644 index 0000000..9500ac2 --- /dev/null +++ b/.github/workflows/pytest-actions.yaml @@ -0,0 +1,42 @@ +# GitHub Actions Configuration for integrated testing using pytest +name: Test osipi + +on: [push] + +jobs: + build: + + strategy: + matrix: + os: [windows-latest, macos-latest, ubuntu-latest] + fail-fast: false + + runs-on: ${{ matrix.os }} + + steps: + - uses: actions/checkout@v3 + - name: Set up Python 3.10 + uses: actions/setup-python@v4 + with: + python-version: '3.10' + - name: Set up Java + uses: actions/setup-java@v3 + with: + java-version: '11' + distribution: 'adopt' + architecture: x64 + - name: Install dependencies + run: | + python -m pip install --upgrade pip + python -m pip install -r requirements.txt + - name: Install osipi + run: | + python -m pip install -e .[docs] + python -m pip install -e .[tests] + - name: Test with pytest + run: | + python -m pip install pytest pytest-cov + pytest --junitxml=junit/test-results.xml --cov=dbdicom tests/ + - name: Upload coverage to Codecov + if: runner.os == 'Windows' + uses: codecov/codecov-action@v3