name: Run Django tests for TubeSync env: IMAGE_NAME: tubesync on: push: branches: - main pull_request: branches: - main jobs: test: 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 - name: Run Django tests run: cd tubesync && python3 manage.py test --verbosity=2 containerise: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Create a new container builder run: docker buildx create --name builder && docker buildx use builder - name: Build the container image run: docker buildx build --platform linux/arm/v7,linux/arm64,linux/amd64 --tag $IMAGE_NAME . - name: Log into GitHub Container Registry run: echo "${{ secrets.REGISTRY_ACCESS_TOKEN }}" | docker login https://ghcr.io -u ${{ github.actor }} --password-stdin - name: Push image to GitHub Container Registry run: | LATEST_TAG=ghcr.io/meeb/$IMAGE_NAME:latest docker tag $IMAGE_NAME $LATEST_TAG docker push $LATEST_TAG