Skip to content

Add read_file and write_file #144

Add read_file and write_file

Add read_file and write_file #144

Workflow file for this run

# Copyright (c) 2023-2024 Contributors to the Eclipse Foundation
#
# This program and the accompanying materials are made available under the
# terms of the Apache License, Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0.
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
# SPDX-License-Identifier: Apache-2.0
name: CI
concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
on:
workflow_dispatch:
push:
# Run only on branches/commits and not tags
branches:
- main
pull_request:
branches:
- main
jobs:
lint-job:
name: "Run linters"
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install mypy
run: |
pip install mypy
pip install types-requests
- name: Run Linters
uses: pre-commit/action@v3.0.0
unit-test:
name: "Run unit tests"
runs-on: ubuntu-22.04
container: ghcr.io/eclipse-velocitas/devcontainer-base-images/python:v0.3
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Install required packages
run: |
pip install -e .
pip install -r ./tests/requirements.txt
- name: unit tests
shell: bash
run: |
pytest --ignore-glob='*integration*' --override-ini junit_family=xunit1 --junit-xml=./results/UnitTest/junit.xml \
--cov . \
--cov-report=xml:results/CodeCoverage/cobertura-coverage.xml \
--cov-branch ./tests
- name: Publish Unit Test Results
uses: mikepenz/action-junit-report@v4
if: always()
with:
report_paths: ./results/UnitTest/junit.xml
summary: true
update_check: true
annotate_only: true
- uses: irongut/CodeCoverageSummary@v1.3.0
with:
filename: results/CodeCoverage/cobertura-coverage.xml
badge: true
format: markdown
hide_complexity: true
indicators: true
output: both
- run: |
cat code-coverage-results.md >> $GITHUB_STEP_SUMMARY
ensure-docs-up2date:
name: Ensure docs are up2date
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: (Re-) Build Pydoc Markdown
shell: bash
run: |
./update-api-docs.sh
- name: Has Changes
id: changes
run: |
RESULT=$(git status --porcelain .)
echo $RESULT
if [[ -z "$(git status --porcelain .)" ]];
then
echo "changed=0" >> $GITHUB_OUTPUT
else
echo "changed=1" >> $GITHUB_OUTPUT
fi
- name: Fail if there are changes
if: steps.changes.outputs.changed == 1
run: exit 1