1.1. setup deploy key
$ ssh-keygen -t ed25519 -C "deploy_key_library" -f /tmp/deploy $ cat /tmp/deploy.pub
1.2. add deploy key to github https://github.com/hwmrocker/test_private_library/deploy_keys
2.1 add private key to github
$ cat /tmp/deploy
https://github.com/hwmrocker/test_action_build/settings/secrets/actions/new
as TEST_LIB_DEPLOY_KEY
2.2 add test
from test_private_library import random def test_random(): assert random() == 4
2.3 define the requirements.txt
git+ssh://[email protected]/hwmrocker/test_private_library.git#egg=test_private_library
pytest
2.4 add github action that installs the library
name: PyTest on: push jobs: test: runs-on: ubuntu-latest timeout-minutes: 10 steps: - name: Check out repository code uses: actions/checkout@v2 # Setup Python (faster than using Python container) - name: Setup Python uses: actions/setup-python@v2 with: python-version: "3.10" - name: Install dependencies env: DEPLOY_KEY: ${{secrets.TEST_LIB_DEPLOY_KEY}} run: | eval "$(ssh-agent -s)" echo "${DEPLOY_KEY}" | tr -d '\r' | ssh-add - mkdir -p ~/.ssh chmod 700 ~/.ssh pip install -r requirements.txt - name: Run tests run: | pytest
You can load the ssh key with those lines:
env: DEPLOY_KEY: ${{secrets.TEST_LIB_DEPLOY_KEY}} run: | eval "$(ssh-agent -s)" echo "${DEPLOY_KEY}" | tr -d '\r' | ssh-add - mkdir -p ~/.ssh chmod 700 ~/.ssh
You can't run it seperately, you need to run the whole thing in one action where you install the dependencies.