diff --git a/.github/workflows/dev.yml b/.github/workflows/dev.yml index ad337ee..39c33fb 100644 --- a/.github/workflows/dev.yml +++ b/.github/workflows/dev.yml @@ -6,9 +6,37 @@ on: - master jobs: + build-baselayer: - build: + runs-on: ubuntu-latest + steps: + - + name: Checkout + uses: actions/checkout@v2 + - + name: Login to Docker Hub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_HUB_USERNAME }} + password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + - + name: Pull old base image + run: | + docker image pull webmultimedia/http-streaming-server-baseimage:dev + - + name: Build and export to Docker + uses: docker/build-push-action@v3 + with: + context: . + file: ./backend/Dockerfile.baseimage + push: true + tags: webmultimedia/http-streaming-server-baseimage:dev + build-app: + needs: build-baselayer runs-on: ubuntu-latest steps: diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index 6753ba0..5688d86 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -7,9 +7,50 @@ on: branches: [ "master" ] jobs: + build-baselayer: - build: + runs-on: ubuntu-latest + steps: + - + name: Checkout + uses: actions/checkout@v2 + - + name: Login to Docker Hub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_HUB_USERNAME }} + password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} + - + name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + - + name: Pull old base image + run: | + docker image pull webmultimedia/http-streaming-server-baseimage:master + - + name: Build and export to Docker + uses: docker/build-push-action@v3 + with: + context: . + file: ./backend/Dockerfile.baseimage + push: true + tags: webmultimedia/http-streaming-server-baseimage:master + - + name: Test Backend + run: | + cp -r tests/* Videos/ + docker-compose -f docker-compose-prod.yml run --rm web ./wait-for-it.sh db:5432 -- python3 manage.py test + - + name: Build and push + uses: docker/build-push-action@v3 + with: + context: . + file: ./backend/Dockerfile.prod + push: true + tags: webmultimedia/http-streaming-server:master + build-app: + needs: build-baselayer runs-on: ubuntu-latest steps: diff --git a/backend/Dockerfile b/backend/Dockerfile index 2314e49..83788b3 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -1,5 +1,5 @@ #See Dockerfile.baseimage to see how the baseimage is build. -FROM webmultimedia/http-streaming-server-baseimage:1.0.4 +FROM webmultimedia/http-streaming-server-baseimage:master ENV PYTHONUNBUFFERED 1 diff --git a/backend/Dockerfile.prod b/backend/Dockerfile.prod index 47d4c88..129ef28 100644 --- a/backend/Dockerfile.prod +++ b/backend/Dockerfile.prod @@ -15,8 +15,7 @@ RUN npm run build #Build the backend #See Dockerfile.baseimage to see how the baseimage is build. -FROM webmultimedia/http-streaming-server-baseimage:1.0.4 - +FROM webmultimedia/http-streaming-server-baseimage:master ENV PYTHONUNBUFFERED 1 COPY --from=0 /usr/src/frontend/build/ /usr/src/frontend/build/