on: push: branches: - main - v*-branch pull_request: name: imgtool concurrency: group: imgtool-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: test: runs-on: ubuntu-latest strategy: matrix: python-version: ["3.x", "pypy3.9"] steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} cache: 'pipenv' cache-dependency-path: | scripts/setup.py - name: Install dependencies run: | pip install --user pipenv - name: Run tests run: | cd scripts pipenv run pip install pytest -e . pipenv run pytest --junitxml=../junit/pytest-results-${{ matrix.python-version }}.xml - name: Upload test results uses: actions/upload-artifact@v3 if: always() with: name: pytest-results-${{ matrix.python-version }} path: | junit/pytest-results-${{ matrix.python-version }}*.xml if-no-files-found: ignore environment: if: ${{ github.event_name == 'push' }} runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - name: Cache pip uses: actions/cache@v1 with: path: ~/.cache/pip key: ${{ runner.os }}-pip - name: Install packages run: | export PATH="$HOME/.local/bin:$PATH" ./ci/imgtool_install.sh - name: Publish env: TWINE_TOKEN: ${{ secrets.TWINE_TOKEN }} run: | export PATH="$HOME/.local/bin:$PATH" ./ci/imgtool_run.sh