diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 0deca68a42..ef731e26c6 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -35,6 +35,10 @@ jobs: name: Build and publish docker images needs: compile runs-on: ubuntu-latest + env: + DOCKER_REGISTRY: quay.io/nushell + DOCKER_PASSWORD: ${{ secrets.DOCKER_REGISTRY }} + DOCKER_USER: nushell+action # TBD strategy: matrix: tag: @@ -63,19 +67,16 @@ jobs: with: { name: '${{ matrix.arch }}', path: target/release } - name: Build and publish exact version run: |- - REGISTRY=${REGISTRY,,}; export TAG=${GITHUB_REF##*/}-${{ matrix.tag }} + export DOCKER_TAG=${GITHUB_REF##*/}-${{ matrix.tag }} export NU_BINS=target/release/$( [ ${{ matrix.plugin }} = true ] && echo nu* || echo nu ) export PATCH=$([ ${{ matrix.use-patch }} = true ] && echo .${{ matrix.tag }} || echo '') chmod +x $NU_BINS - echo ${{ secrets.DOCKER_REGISTRY }} | docker login ${REGISTRY%/*} -u ${USER,,} --password-stdin + echo ${DOCKER_PASSWORD} | docker login ${DOCKER_REGISTRY} -u ${DOCKER_USER} --password-stdin docker-compose --file docker/docker-compose.package.yml build docker-compose --file docker/docker-compose.package.yml push # exact version env: BASE_IMAGE: ${{ matrix.base-image }} - # REGISTRY: docker.pkg.github.com/${{ github.repository }} #TODO: waiting support for GITHUB_TOKEN for docker.pkg.github.com - USER: ${{ github.actor }}+action - REGISTRY: quay.io/${{ github.actor }} #region semantics tagging - name: Retag and push with suffixed version @@ -90,16 +91,14 @@ jobs: tags=( ${latest_version} ${latest_feature} ${latest_patch} ${exact_version} ) for tag in ${tags[@]}; do - docker tag ${REGISTRY,,}/nu:${VERSION}-${{ matrix.tag }} ${REGISTRY,,}/nu:${tag} - docker push ${REGISTRY,,}/nu:${tag} + docker tag ${DOCKER_REGISTRY}/nu:${VERSION}-${{ matrix.tag }} ${DOCKER_REGISTRY}/nu:${tag} + docker push ${DOCKER_REGISTRY}/nu:${tag} done # latest version - docker tag ${REGISTRY,,}/nu:${VERSION}-${{ matrix.tag }} ${REGISTRY,,}/nu:${{ matrix.tag }} - docker push ${REGISTRY,,}/nu:${{ matrix.tag }} - env: - # REGISTRY: 'docker.pkg.github.com/${{ github.repository }}' #TODO: waiting support for GITHUB_TOKEN for docker.pkg.github.com - REGISTRY: quay.io/${{ github.actor }} + docker tag ${DOCKER_REGISTRY}/nu:${VERSION}-${{ matrix.tag }} ${DOCKER_REGISTRY}/nu:${{ matrix.tag }} + docker push ${DOCKER_REGISTRY}/nu:${{ matrix.tag }} + - name: Retag and push debian as latest if: matrix.tag == 'debian' run: |- @@ -109,14 +108,11 @@ jobs: tags=( ${VERSION%%.*} ${VERSION%.*} ${VERSION} ) for tag in ${tags[@]}; do - docker tag ${REGISTRY,,}/nu:${VERSION}-${{ matrix.tag }} ${REGISTRY,,}/nu:${tag} - docker push ${REGISTRY,,}/nu:${tag} + docker tag ${DOCKER_REGISTRY}/nu:${VERSION}-${{ matrix.tag }} ${DOCKER_REGISTRY}/nu:${tag} + docker push ${DOCKER_REGISTRY}/nu:${tag} done # latest version - docker tag ${REGISTRY,,}/nu:${{ matrix.tag }} ${REGISTRY,,}/nu:latest - docker push ${REGISTRY,,}/nu:latest - env: - # REGISTRY: 'docker.pkg.github.com/${{ github.repository }}' #TODO: waiting support for GITHUB_TOKEN for docker.pkg.github.com - REGISTRY: quay.io/${{ github.actor }} + docker tag ${DOCKER_REGISTRY}/nu:${{ matrix.tag }} ${DOCKER_REGISTRY}/nu:latest + docker push ${DOCKER_REGISTRY}/nu:latest #endregion semantics tagging diff --git a/docker/docker-compose.package.yml b/docker/docker-compose.package.yml index 9be36544eb..a2ad90b6bb 100644 --- a/docker/docker-compose.package.yml +++ b/docker/docker-compose.package.yml @@ -2,7 +2,7 @@ version: '3' services: nushell: - image: ${REGISTRY}/nu:${TAG} + image: ${DOCKER_REGISTRY}/nu:${DOCKER_TAG} build: context: .. dockerfile: docker/Package${PATCH}.Dockerfile