diff --git a/.github/workflows/publish-docker.yml b/.github/workflows/publish-docker.yml new file mode 100644 index 00000000..c2310bef --- /dev/null +++ b/.github/workflows/publish-docker.yml @@ -0,0 +1,56 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +name: Publish Docker Images +on: + push: + branches: + - master + - publishdocker +jobs: + publish: + name: Publish ${{ matrix.component }} image + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + strategy: + matrix: + include: + - component: operator + context: operator + image: ghcr.io/apache/skywalking-swck/operator + - component: adapter + context: adapter + image: ghcr.io/apache/skywalking-swck/metrics-adapter + steps: + - uses: actions/checkout@v4 + - uses: docker/setup-buildx-action@8d2750c68a42422c14e847fe6c8ac0403b4cbd6f + - name: Login to ghcr.io + uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Build and push ${{ matrix.component }} image + uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8 + with: + context: ${{ matrix.context }} + platforms: linux/amd64,linux/arm64 + push: true + tags: | + ${{ matrix.image }}:${{ github.sha }} + ${{ matrix.image }}:latest