should work now

This commit is contained in:
Abigail Gold 2020-02-26 18:01:04 -05:00 committed by GitHub
parent fc7403c208
commit f634489319
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 19 additions and 47 deletions

View File

@ -1,12 +1,11 @@
name: Docker
name: Docker Build and Push
on:
push:
# Publish `master` as Docker `dev` image.
branches:
- master
# Publish `v1.2.3` tags as releases and as `latest`.
# Publish `v*` tags as releases and as `latest`.
tags:
- v*
@ -14,58 +13,25 @@ env:
IMAGE_NAME: qrm2
jobs:
# Push image to GitHub Package Registry.
# See also https://docs.docker.com/docker-hub/builds/
push:
build-and-push:
runs-on: ubuntu-latest
if: github.event_name == 'push'
needs: flake8_py3
steps:
- uses: actions/checkout@v2
- name: Pull previous images
run: |
docker pull -a ${{ secrets.DOCKER_USERNAME }}/$IMAGE_NAME
# OR
[[ "${{ github.ref }}" == "refs/tags/"* ]] && docker pull ${{ secrets.DOCKER_USERNAME }}/$IMAGE_NAME:$(echo ${{ github.ref }} | sed -e 's,^refs/tags/v,,')
[[ "${{ github.ref }}" == "refs/heads/master" ]] && docker pull ${{ secrets.DOCKER_USERNAME }}/$IMAGE_NAME:dev
- name: Build image
run: docker build . --file Dockerfile
run: docker build . --file Dockerfile -t $IMAGE_NAME
- name: Log into Github Package Registry
run: echo "${{ secrets.GITHUB_TOKEN }}" | docker login docker.pkg.github.com -u ${{ github.actor }} --password-stdin
- name: Push image to Github Package Registry
run: |
IMAGE_ID=docker.pkg.github.com/${{ github.repository }}/$IMAGE_NAME
# Strip git ref prefix from version
VERSION=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,')
# Strip "v" prefix from tag name
[[ "${{ github.ref }}" == "refs/tags/"* ]] && VERSION=$(echo $VERSION | sed -e 's/^v//')
[ "$VERSION" == "master" ] && VERSION=dev
echo IMAGE_ID=$IMAGE_ID
echo VERSION=$VERSION
docker tag image $IMAGE_ID:$VERSION
# use Docker `latest` convention for versioned releases
[ "$VERSION" != "dev" ] && docker tag image $IMAGE_ID:latest
docker push $IMAGE_ID:$VERSION
- name: Log out of Github Package Registry
run: docker logout docker.pkg.github.com
- name: Log into Docker Hub
run: echo "${{ secrets.DOCKER_PASSWORD }}" | docker login -u ${{ secrets.DOCKER_USERNAME }} --password-stdin
- name: Push image to Docker Hub
- name: Push image to registries
run: |
IMAGE_ID=${{ secrets.DOCKER_USERNAME }}/$IMAGE_NAME
GITHUB_IMAGE_ID=docker.pkg.github.com/${{ github.repository }}/$IMAGE_NAME
DOCKER_IMAGE_ID=${{ secrets.DOCKER_USERNAME }}/$IMAGE_NAME
# Strip git ref prefix from version
VERSION=$(echo "${{ github.ref }}" | sed -e 's,.*/\(.*\),\1,')
@ -73,12 +39,18 @@ jobs:
# Strip "v" prefix from tag name
[[ "${{ github.ref }}" == "refs/tags/"* ]] && VERSION=$(echo $VERSION | sed -e 's/^v//')
[ "$VERSION" == "master" ] && VERSION=dev
[[ "$VERSION" == "master" ]] && VERSION=dev
echo IMAGE_ID=$IMAGE_ID
echo GITHUB_IMAGE_ID=$GITHUB_IMAGE_ID
echo DOCKER_IMAGE_ID=$DOCKER_IMAGE_ID
echo VERSION=$VERSION
docker tag image $IMAGE_ID:$VERSION
# use Docker `latest` convention for versioned releases
[[ "$VERSION" != "dev" ]] && docker tag image $IMAGE_ID:latest
docker push $IMAGE_ID:$VERSION
# tag for Github Registry
docker tag $IMAGE_NAME $GITHUB_IMAGE_ID:$VERSION
[[ "$VERSION" != "dev" ]] && docker tag $IMAGE_NAME $GITHUB_IMAGE_ID:latest
docker push $GITHUB_IMAGE_ID
# tag for Docker Hub
docker tag $IMAGE_NAME $DOCKER_IMAGE_ID:$VERSION
[[ "$VERSION" != "dev" ]] && docker tag $IMAGE_NAME $DOCKER_IMAGE_ID:latest
docker push $DOCKER_IMAGE_ID