Skip to content

Pytest Local Repo Devcontainer #54

Pytest Local Repo Devcontainer

Pytest Local Repo Devcontainer #54

# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python
name: Pytest Python Package In Devcontainer
on:
push:
branches: [ "main", "fix-workflows" ]
paths:
- 'ghidriff/**'
- 'tests/**'
- '.github/workflows/pytest-devcontainer.yml'
pull_request:
branches: [ "main" ]
workflow_dispatch:
jobs:
test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
# cover the latest and all versions of all subreleases
image: ["latest", "10.4ghidra3.9python-bookworm", "10.3.3ghidra3.10python-bookworm", "10.2.3ghidra3.11python-bookworm", "10.1.5ghidra3.11python-bookworm" ]
steps:
- uses: actions/checkout@v3
- name: Test with pytest on devcontainer
env:
# this will set the imageName in the base docker container .github/workflows/.devcontainer/devcontainer.json
# (which is needed because imageName for devcontainers/ci@0.3 doesn't affect which image you use!
DC_IMAGE_TAG : ${{matrix.image}}
uses: devcontainers/ci@v0.3
with:
# this is not the image name used for building the dev container.
imageName: ghcr.io/clearbluejar/ghidra-python
cacheFrom: ghcr.io/clearbluejar/ghidra-python
imageTag: ${{matrix.image}}
push: never
#platform: linux/amd64,linux/arm64
# this is why to get the coverage across, we need to
subFolder: .github/workflows/
runCmd: |
env
ls /usr/local/include/
pip install --upgrade pip
# install package and testing
pip install -e ".[testing]"
# download data to shared test data
if [ ! -d "tests/data" ]; then git clone https://github.com/clearbluejar/ghidriff-test-data.git tests/data; fi
pytest -rA