File: python-package.yml

package info (click to toggle)
rdflib-sqlalchemy 0.5.4%2Bgit99f4689-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 10,544 kB
  • sloc: python: 2,418; sh: 20; makefile: 3
file content (96 lines) | stat: -rw-r--r-- 2,866 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions

name: Python package

on:
  push:
    branches: [ develop, release/* ]
  pull_request:
    branches: [ develop ]
  schedule:
    - cron:  '27 19 * * *'

jobs:
  build:

    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version: [3.7, 3.8, 3.9, '3.10']
        database:
        - pgsql
        - mysql
        - sqlite
    # There's some recursion error here (See #76)
    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
        python -m pip install -r test-requirements.txt
        python -m pip install tox-gh-actions coveralls
        python -m pip install --upgrade wheel # stop pip complaining about a setup.py install
        sudo apt-get install python3-dev
        pip install .
    - name: Test with tox
      env:
        DB: ${{ matrix.database }}
        GA_PYTHON_VERSION: ${{ matrix.python-version }}
      run: |
        . ./github-ci.sh
        tox --workdir=.
    services:
      # Label used to access the service container
      postgres:
        # Docker Hub image
        image: postgres
        # Provide the password for postgres
        env:
          POSTGRES_PASSWORD: postgres
        # Set health checks to wait until postgres has started
        options: >-
          --health-cmd pg_isready
          --health-interval 10s
          --health-timeout 5s
          --health-retries 5
        ports:
          # Maps tcp port 5432 on service container to the host
          - 5432:5432
      mysql:
        # Docker Hub image
        image: mysql
        # Provide the password for mysql
        env:
          MYSQL_ALLOW_EMPTY_PASSWORD: 1
          MYSQL_USER: test
          MYSQL_PASSWORD: mysql
          MYSQL_DATABASE: test
        ports:
          # Maps tcp port 3306 on service container to the host
          - 3306:3306

  dev-deploy:
    name: Deploy Dev Package to PyPI
    needs: build
    if: github.event_name == 'push'
      && (github.ref == 'refs/heads/develop'
          || startsWith(github.ref, 'refs/heads/release/'))
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Set up Python 3
        uses: actions/setup-python@v2
        with:
          python-version: 3
      - name: Install Deploy Dependencies
        run: pip install wheel twine
      - name: Deploy
        run: ./deploy.sh
        env:
          TWINE_USERNAME: __token__
          TWINE_PASSWORD: ${{ secrets.TWINE_PASSWORD }}