Push Docker images on release (#305)
diff --git a/.github/workflows/publish-docker.yaml b/.github/workflows/publish-docker.yaml
index 2b033e1..937e757 100644
--- a/.github/workflows/publish-docker.yaml
+++ b/.github/workflows/publish-docker.yaml
@@ -21,10 +21,9 @@
push:
branches:
- master
-
-env:
- HUB: ghcr.io/apache/skywalking-python
- PROJECT: skywalking-python
+ release:
+ types:
+ - released
jobs:
build-docker:
@@ -40,12 +39,31 @@
- uses: actions/checkout@v2
with:
submodules: true
- - name: Log in to the Container registry
- uses: docker/login-action@v1.10.0
- with:
- registry: ${{ env.HUB }}
- username: ${{ github.actor }}
- password: ${{ secrets.GITHUB_TOKEN }}
- - name: Build and push docker image
+ - name: Set environment variables
run: |
- make push-image -j 5
+ if [[ ${{ github.event_name }} == "release" ]]; then
+ echo "HUB=apache" >> $GITHUB_ENV
+ echo "DOCKER_REGISTRY=docker.io" >> $GITHUB_ENV
+ echo "DOCKER_USERNAME=${{ secrets.DOCKERHUB_USER }}" >> $GITHUB_ENV
+ echo "DOCKER_PASSWORD=${{ secrets.DOCKERHUB_TOKEN }}" >> $GITHUB_ENV
+ TAG=${{ github.event.release.tag_name }}
+ echo "TAG=${TAG#v}" >> $GITHUB_ENV
+ else
+ echo "HUB=ghcr.io/apache/skywalking" >> $GITHUB_ENV
+ echo "DOCKER_REGISTRY=ghcr.io/apache/skywalking-python" >> $GITHUB_ENV
+ echo "DOCKER_USERNAME=${{ github.actor }}" >> $GITHUB_ENV
+ echo "DOCKER_PASSWORD=${{ secrets.GITHUB_TOKEN }}" >> $GITHUB_ENV
+ echo "TAG=${{ github.sha }}" >> $GITHUB_ENV
+ fi
+ - name: Log in to the Container registry
+ uses: docker/login-action@v2
+ with:
+ registry: ${{ env.DOCKER_REGISTRY }}
+ username: ${{ env.DOCKER_USERNAME }}
+ password: ${{ env.DOCKER_PASSWORD }}
+ - name: Set up QEMU
+ uses: docker/setup-qemu-action@v1
+ - name: Set up Docker Buildx
+ uses: docker/setup-buildx-action@v1
+ - name: Build and push docker image
+ run: make push-image -j 5