diff --git a/.github/workflows/build-and-publish.yml b/.github/workflows/build-and-publish.yml index 4a38ff6..ab52227 100644 --- a/.github/workflows/build-and-publish.yml +++ b/.github/workflows/build-and-publish.yml @@ -1,11 +1,11 @@ name: Publish Desktop Environment on: [push] -env: - DOCKER_BUILDKIT: 1 jobs: build: runs-on: ubuntu-latest + steps: + - name: Check out repository uses: actions/checkout@v2 @@ -15,15 +15,14 @@ jobs: - name: Sanitise Repository Owner run: echo ::set-env name=REPOSITORY_OWNER::$(echo ${{ github.repository_owner }} | tr '[:upper:]' '[:lower:]') - - name: Push to GitHub Container Registry - uses: docker/build-push-action@v1 + - name: Build and Push to GitHub Container Registry + uses: whoan/docker-build-with-cache-action@master with: - build_args: BUILDKIT_INLINE_CACHE=1,DESKTOP_ENVIRONMENT_USER=${{ env.REPOSITORY_OWNER }} - cache_froms: docker.pkg.github.com/${{ env.GITHUB_REPOSITORY }}/desktop-environment:${{ github.ref }} + build_extra_args: --build-arg=DESKTOP_ENVIRONMENT_USER=${{ env.REPOSITORY_OWNER }} dockerfile: docker/Dockerfile + image_name: desktop-environment + push_git_tag: true registry: docker.pkg.github.com/${{ env.GITHUB_REPOSITORY }} - repository: desktop-environment - tag_with_ref: true username: ${{ env.REPOSITORY_OWNER }} password: ${{ secrets.GITHUB_TOKEN }} diff --git a/docker/Dockerfile b/docker/Dockerfile index bda27c6..99721d6 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -316,7 +316,7 @@ RUN wget -O skype.deb -q https://go.skype.com/skypeforlinux-64.deb && \ rm skype.deb # Install slack -RUN wget -O slack.deb -nv https://downloads.slack-edge.com/linux_releases/slack-desktop-4.9.1-amd64.deb && \ +RUN wget -O slack.deb -nv https://downloads.slack-edge.com/linux_releases/slack-desktop-4.1.1-amd64.deb && \ dpkg -i slack.deb || apt-get install -qq --fix-broken && \ rm slack.deb @@ -427,10 +427,11 @@ ARG DOTFILES_CACHEBUST RUN DOTFILES_CACHEBUST=$DOTFILES_CACHEBUST echo "Building from dotfiles..." # Clone user dotfiles -RUN vcsh clone https://github.com/sabrehagen/dotfiles.git && \ +RUN vcsh clone https://github.com/$DESKTOP_ENVIRONMENT_USER/dotfiles.git && \ $HOME/.dotfiles-bootstrap.sh # Record container build information ARG DESKTOP_CONTAINER_GIT_SHA ENV CONTAINER_GIT_SHA $DESKTOP_CONTAINER_GIT_SHA -ENV CONTAINER_IMAGE_NAME sabrehagen/desktop-environment +ARG DESKTOP_ENVIRONMENT_CONTAINER_IMAGE_NAME +ENV DESKTOP_ENVIRONMENT_CONTAINER_IMAGE_NAME $DESKTOP_ENVIRONMENT_CONTAINER_IMAGE_NAME diff --git a/docker/scripts/build.sh b/docker/scripts/build.sh index be6b6b9..074fd61 100755 --- a/docker/scripts/build.sh +++ b/docker/scripts/build.sh @@ -8,6 +8,7 @@ DESKTOP_ENVIRONMENT_HOST_USER_PASSWORD=$(sudo cat /etc/shadow | grep $DESKTOP_EN docker build \ --build-arg DESKTOP_CONTAINER_GIT_SHA=$(git --git-dir $REPO_ROOT/.git rev-parse HEAD | cut -b 1-7) \ + --build-arg DESKTOP_ENVIRONMENT_CONTAINER_IMAGE_NAME="$DESKTOP_ENVIRONMENT_REGISTRY/$DESKTOP_ENVIRONMENT_CONTAINER_IMAGE" \ --build-arg DESKTOP_ENVIRONMENT_HOST_USER_PASSWORD="$DESKTOP_ENVIRONMENT_HOST_USER_PASSWORD" \ --build-arg DESKTOP_ENVIRONMENT_USER="$DESKTOP_ENVIRONMENT_USER" \ --build-arg DOTFILES_CACHEBUST=$(cat $REPO_ROOT/.dotfiles-cachebust 2>/dev/null) \