diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 85f836a68..7a5be858d 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -62,3 +62,4 @@ redbot/setup.py @tekulvw # Others .travis.yml @Kowlin crowdin.yml @Kowlin +.github/workflows/* @Kowlin diff --git a/.github/workflows/publish_crowdin.yml b/.github/workflows/publish_crowdin.yml new file mode 100644 index 000000000..f4a8f8519 --- /dev/null +++ b/.github/workflows/publish_crowdin.yml @@ -0,0 +1,28 @@ +name: Publish to Crowdin +on: + push: + tags: + - "*" + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Python + uses: actions/setup-python@v1 + with: + python-version: '3.8' + - name: Install dependencies + run: | + curl https://artifacts.crowdin.com/repo/GPG-KEY-crowdin | sudo apt-key add - + echo "deb https://artifacts.crowdin.com/repo/deb/ /" | sudo tee -a /etc/apt/sources.list + sudo apt-get update -qq + sudo apt-get install -y crowdin + pip install redgettext==3.1 + - name: Publish + env: + CROWDIN_API_KEY: ${{ secrets.crowdin_token}} + CROWDIN_PROJECT_ID: ${{ secrets.crowdin_identifier }} + run: | + make upload_translations diff --git a/.github/workflows/publish_pypi.yml b/.github/workflows/publish_pypi.yml new file mode 100644 index 000000000..780326e6d --- /dev/null +++ b/.github/workflows/publish_pypi.yml @@ -0,0 +1,26 @@ +name: Publish to PyPI +on: + push: + tags: + - "*" + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set up Python + uses: actions/setup-python@v1 + with: + python-version: '3.8' + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install setuptools wheel twine + - name: Build and publish + env: + TWINE_USERNAME: __token__ + TWINE_PASSWORD: ${{ secrets.pypi_token }} + run: | + python setup.py sdist bdist_wheel + twine upload dist/* diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 000000000..261b58d61 --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,73 @@ +name: Tests +on: [push, pull_request] + +jobs: + tox: + runs-on: ubuntu-latest + strategy: + matrix: + python_version: + - "3.8" + tox_env: + - py + - style + - docs + include: + - tox_env: py + friendly_name: Tests + - tox_env: style + friendly_name: Style + - tox_env: docs + friendly_name: Docs + fail-fast: false + name: Tox - ${{ matrix.friendly_name }} + steps: + - uses: actions/checkout@v2 + - name: Set up Python + uses: actions/setup-python@v1 + with: + python-version: ${{ matrix.python_version }} + - name: Install tox + run: | + python -m pip install --upgrade pip + pip install tox + - name: Tox test + env: + TOXENV: ${{ matrix.tox_env }} + run: tox + + tox-postgres: + runs-on: ubuntu-latest + strategy: + matrix: + python_version: + - "3.8" + fail-fast: false + name: Tox - Postgres + services: + postgresql: + image: postgres:10 + ports: + - 5432:5432 + env: + POSTGRES_DB: red_db + POSTGRES_PASSWORD: postgres + POSTGRES_USER: postgres + steps: + - uses: actions/checkout@v2 + - name: Set up Python + uses: actions/setup-python@v1 + with: + python-version: ${{ matrix.python_version }} + - name: Install tox + run: | + python -m pip install --upgrade pip + pip install tox + - name: Tox test + env: + TOXENV: postgres + PGDATABASE: red_db + PGUSER: postgres + PGPASSWORD: postgres + PGPORT: 5432 + run: tox