name: Run Django tests for 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: Build the container image run: docker build . --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 DATED_TAG=ghcr.io/meeb/$IMAGE_NAME:$(date +%s) docker tag $IMAGE_NAME $LATEST_TAG docker tag $IMAGE_NAME $DATED_TAG docker push $LATEST_TAG docker push $DATED_TAG