Skip to content

Pytest Local Repo Devcontainer Across Versions #18

Pytest Local Repo Devcontainer Across Versions

Pytest Local Repo Devcontainer Across Versions #18

# 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 Repo Devcontainer Across Versions
on:
push:
branches: [ "main" ]
paths:
- 'ghidrecomp/**'
- 'tests/**'
- '.github/workflows/pytest-devcontainer-all.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",
"11.0ghidra3.12python-bookworm",
"11.0ghidra3.11python-bookworm",
"10.4ghidra3.11python-bookworm",
"10.4ghidra3.9python-bookworm",
"10.3.3ghidra3.10python-bookworm",
"10.2.3ghidra3.11python-bookworm",
"10.1.5ghidra3.11python-bookworm",
"11.0ghidra3.8python-bookworm"
]
steps:
- uses: actions/checkout@v3
- name: Overwrite original devcontainer with workflow devcontainer
run: |
cp .github/workflows/devcontainer.json .devcontainer/devcontainer.json
- 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
runCmd: |
env
ls /usr/local/include/
pip install --upgrade pip
# install package and testing
pip install -e ".[testing]"
pytest -rA