diff --git a/.github/workflows/interop.yaml b/.github/workflows/interop.yaml
index 470f744e1ccc0ca52c007acf070e574d5cc0d99d..2023d2ac1a98346b30056eebd398a1f412c75152 100644
--- a/.github/workflows/interop.yaml
+++ b/.github/workflows/interop.yaml
@@ -11,12 +11,13 @@ jobs:
     runs-on: ubuntu-18.04
 
     steps:
-    - uses: actions/checkout@v1
-    - name: docker-build
-      run: |
-        cd interop
-        docker build -t docker.pkg.github.com/ngtcp2/ngtcp2/ngtcp2-interop .
-    - name: publish
-      run: |
-        docker login docker.pkg.github.com -u "nobody" -p "${{ secrets.GITHUB_TOKEN }}"
-        docker push docker.pkg.github.com/ngtcp2/ngtcp2/ngtcp2-interop
+    - uses: actions/checkout@v2
+    - name: Build and publish interop docker image
+      uses: docker/build-push-action@v1
+      with:
+        path: interop
+        username: ${{ secrets.DOCKER_USERNAME }}
+        password: ${{ secrets.DOCKER_PASSWORD }}
+        repository: ngtcp2/ngtcp2-interop
+        add_git_labels: true
+        tag_with_sha: true