tubesync/.github/workflows/ci.yaml

54 lines
1.5 KiB
YAML
Raw Normal View History

2020-12-13 05:42:28 +00:00
name: Run Django tests for TubeSync
2020-12-13 06:39:04 +00:00
2020-12-13 07:10:32 +00:00
env:
IMAGE_NAME: tubesync
2020-12-13 05:42:28 +00:00
on:
push:
branches:
2020-12-13 05:49:10 +00:00
- main
2020-12-13 05:42:28 +00:00
pull_request:
branches:
2020-12-13 05:49:10 +00:00
- main
2020-12-13 05:42:28 +00:00
jobs:
2020-12-13 07:02:34 +00:00
test:
2020-12-13 05:42:28 +00:00
runs-on: ubuntu-latest
strategy:
matrix:
python-version: [3.7, 3.8, 3.9]
steps:
- uses: actions/checkout@v2
- name: Install 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 pipenv
pipenv install --system
- name: Set up Django environment
run: cp tubesync/tubesync/local_settings.py.example tubesync/tubesync/local_settings.py
2020-12-13 05:42:28 +00:00
- name: Run Django tests
2020-12-13 05:54:08 +00:00
run: cd tubesync && python3 manage.py test --verbosity=2
2020-12-13 07:04:14 +00:00
containerise:
runs-on: ubuntu-latest
steps:
2021-05-27 10:26:11 +00:00
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
2020-12-13 07:04:14 +00:00
- name: Log into GitHub Container Registry
run: echo "${{ secrets.REGISTRY_ACCESS_TOKEN }}" | docker login https://ghcr.io -u ${{ github.actor }} --password-stdin
2021-05-27 10:26:11 +00:00
- name: Build and push
uses: docker/build-push-action@v2
with:
platforms: linux/amd64
push: true
2021-05-27 10:49:48 +00:00
tags: ghcr.io/meeb/${{ env.IMAGE_NAME }}:latest
cache-from: type=registry,ref=ghcr.io/meeb/${{ env.IMAGE_NAME }}:latest
2021-05-27 10:26:11 +00:00
cache-to: type=inline
2021-05-27 10:49:48 +00:00
build-args: |
IMAGE_NAME=${{ env.IMAGE_NAME }}