Use GitHub Container Registry (#19297)

pull/19349/head
Diego Sampaio 5 years ago committed by GitHub
parent 2e8b55a69c
commit 3b06de0781
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 46
      .github/workflows/build_and_test.yml

@ -265,6 +265,13 @@ jobs:
steps:
- uses: actions/checkout@v2
- name: Login to GitHub Container Registry
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ secrets.CR_USER }}
password: ${{ secrets.CR_PAT }}
- name: Free disk space
run: |
sudo swapoff -a
@ -346,23 +353,15 @@ jobs:
meteor build --server-only --directory /tmp/build-pr
- name: Build Docker image for PRs
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
VERSION: pr-${{ github.event.number }}
run: |
cd /tmp/build-pr
docker login docker.pkg.github.com -u "${GITHUB_ACTOR}" -p "${GITHUB_TOKEN}"
cp $GITHUB_WORKSPACE/.docker/Dockerfile .
export LOWERCASE_REPOSITORY=$(echo "$GITHUB_REPOSITORY" | tr "[:upper:]" "[:lower:]")
export IMAGE_NAME="docker.pkg.github.com/${LOWERCASE_REPOSITORY}/rocket.chat:${VERSION}"
LOWERCASE_REPOSITORY=$(echo "${{ github.repository_owner }}" | tr "[:upper:]" "[:lower:]")
IMAGE_NAME="ghcr.io/${LOWERCASE_REPOSITORY}/rocket.chat:pr-${{ github.event.number }}"
echo "Build official Docker image ${IMAGE_NAME}"
docker build -t $IMAGE_NAME .
docker build -f $GITHUB_WORKSPACE/.docker/Dockerfile -t $IMAGE_NAME .
docker push $IMAGE_NAME
deploy:
@ -426,6 +425,12 @@ jobs:
steps:
- uses: actions/checkout@v2
- name: Login to DockerHub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASS }}
- name: Restore build
uses: actions/download-artifact@v1
with:
@ -433,17 +438,14 @@ jobs:
path: /tmp/build
- name: Unpack build
env:
DOCKER_USER: ${{ secrets.DOCKER_USER }}
DOCKER_PASS: ${{ secrets.DOCKER_PASS }}
run: |
cd /tmp/build
tar xzf Rocket.Chat.tar.gz
rm Rocket.Chat.tar.gz
export DOCKER_PATH="${GITHUB_WORKSPACE}/.docker"
DOCKER_PATH="${GITHUB_WORKSPACE}/.docker"
if [[ '${{ matrix.release }}' = 'preview' ]]; then
export DOCKER_PATH="${DOCKER_PATH}-mongo"
DOCKER_PATH="${DOCKER_PATH}-mongo"
fi;
echo "Build ${{ matrix.release }} Docker image"
@ -452,25 +454,23 @@ jobs:
cp ${DOCKER_PATH}/entrypoint.sh .
fi;
docker login -u $DOCKER_USER -p $DOCKER_PASS
- name: Build Docker image for tag
if: github.event_name == 'release'
run: |
cd /tmp/build
export CIRCLE_TAG="${GITHUB_REF#*tags/}"
CIRCLE_TAG="${GITHUB_REF#*tags/}"
if [[ '${{ matrix.release }}' = 'preview' ]]; then
export IMAGE="${IMAGE}.preview"
IMAGE="${IMAGE}.preview"
fi;
docker build -t ${IMAGE}:$CIRCLE_TAG .
docker push ${IMAGE}:$CIRCLE_TAG
if echo "$CIRCLE_TAG" | grep -Eq '^[0-9]+\.[0-9]+\.[0-9]+$' ; then
export RELEASE="latest"
RELEASE="latest"
elif echo "$CIRCLE_TAG" | grep -Eq '^[0-9]+\.[0-9]+\.[0-9]+-rc\.[0-9]+$' ; then
export RELEASE="release-candidate"
RELEASE="release-candidate"
fi
docker tag ${IMAGE}:$CIRCLE_TAG ${IMAGE}:${RELEASE}
@ -482,7 +482,7 @@ jobs:
cd /tmp/build
if [[ '${{ matrix.release }}' = 'preview' ]]; then
export IMAGE="${IMAGE}.preview"
IMAGE="${IMAGE}.preview"
fi;
docker build -t ${IMAGE}:develop .

Loading…
Cancel
Save