ci: try docker run commands #23
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test | |
# Workflow conditions | |
on: | |
push: | |
branches: | |
- '*' | |
pull_request: | |
branches: | |
- '*' | |
release: | |
types: [published] | |
env: | |
GITHUB_USERNAME: ${{ github.actor }} | |
GITHUB_TOKEN: ${{ github.token }} | |
DOCKER_IMAGE: "ghcr.io/${{ github.repository }}" | |
jobs: | |
# --------------------------------------------------------------------------- | |
# Build the docker container first | |
docker: | |
uses: ./.github/workflows/docker.yaml | |
# --------------------------------------------------------------------------- | |
test-docker: | |
needs: docker | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Download Docker Image | |
uses: actions/download-artifact@v3 | |
with: | |
name: pangonet-docker | |
path: . | |
# parse tag from load output, PR have unusual formats, also sometimes multiple tags | |
- name: Load Docker Image | |
run: | | |
load=$(docker load --input pangonet.tar | tee /dev/stderr) | |
echo -e $load | |
TAG=$(echo -e $load | sed 's/Loaded image: //g' | head -n 1 | cut -d ":" -f 2 | cut -d " " -f 1) | |
echo DOCKER_TAG="$TAG" >> $GITHUB_ENV | |
- name: Set Run Command | |
run: | | |
echo RUN_CMD="docker run -e GITHUB_USERNAME=${{ github.actor }} -e GITHUB_TOKEN=${{ github.token }} "$DOCKER_IMAGE:$DOCKER_TAG >> $GITHUB_ENV | |
- name: Check Run Command | |
run: echo ${{ env.RUN_CMD }} | |
- name: CLI Help | |
run: | | |
docker run -e GITHUB_TOKEN=${{ github.token }} $DOCKER_IMAGE:$DOCKER_TAG pangonet --help | |
# --------------------------------------------------------------------------- | |
test: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macos-latest, windows-latest] | |
python-version: ["3.10"] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout Repository | |
uses: actions/checkout@v3 | |
- name: Setup Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v3 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install | |
run: | | |
python -m pip install --upgrade pip | |
pip install -e .[test] | |
- name: Pytest | |
run: | | |
pytest -v | |
- name: CLI Help | |
run: | | |
pangonet --help | |
- name: CLI Run | |
run: | | |
pangonet --output-prefix output/pango --output-all |