diff --git a/.github/workflows/deploy-gitea-package.yml b/.github/workflows/deploy-gitea-package.yml new file mode 100644 index 0000000..0ea697e --- /dev/null +++ b/.github/workflows/deploy-gitea-package.yml @@ -0,0 +1,66 @@ +name: Build, Test and Deploy getBible Librarian + +on: + push: + branches: [ master ] + workflow_dispatch: + +jobs: + build-and-test: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ['3.7', '3.8', '3.9', '3.10'] + + steps: + - uses: actions/checkout@v2 + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + + - name: Install the package + run: | + pip install -e . + + - name: Run unittests + run: | + python -m unittest discover -s tests + + deploy: + needs: build-and-test + runs-on: ubuntu-latest + if: github.event_name == 'push' && github.ref == 'refs/heads/master' + + steps: + - uses: actions/checkout@v2 + + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: '3.10' + + - name: Install Twine + run: python -m pip install twine + + - name: Build Package + run: | + python setup.py sdist bdist_wheel + + - name: Configure .pypirc + run: | + echo "[distutils]" > ~/.pypirc + echo "index-servers = getbible" >> ~/.pypirc + echo "[getbible]" >> ~/.pypirc + echo "repository = https://${{ secrets.GITEA_URL }}/api/packages/${{ github.repository_owner }}/pypi" >> ~/.pypirc + echo "username = ${{ secrets.GITEA_USERNAME }}" >> ~/.pypirc + echo "password = ${{ secrets.GITEA_TOKEN }}" >> ~/.pypirc + + - name: Push to Gitea + run: python3 -m twine upload --repository gitea dist/* \ No newline at end of file diff --git a/.github/workflows/stable-librarian.yml b/.github/workflows/stable-librarian.yml index a3c34ef..207449f 100644 --- a/.github/workflows/stable-librarian.yml +++ b/.github/workflows/stable-librarian.yml @@ -2,9 +2,9 @@ name: Stable Librarian on: push: - branches: [ master ] + branches: [ staging ] pull_request: - branches: [ master ] + branches: [ master, staging ] workflow_dispatch: jobs: