httpbin-rs 0.1.0

使用 Rust 实现 httpbin
name: docker-build

env:
  IMAGE: httpbin-rs
on:
  release:
    types: [created]

jobs:
  build:
    runs-on: ubuntu-latest
    environment: default # 利用 Environment(default) 中配置的 Secrets 和 Variables
    steps:
      - uses: actions/checkout@v4

      - name: Set ENV
        run: |
          echo "VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV

      - name: Set up QEMU
        uses: docker/setup-qemu-action@v3

      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v3

      - name: Login to Docker Hub
        uses: docker/login-action@v3
        with:
          username: ${{ vars.DOCKERHUB_USERNAME }}
          password: ${{ secrets.DOCKERHUB_TOKEN }}

      - name: Login to Aliyun ACR
        uses: docker/login-action@v3
        with:
          registry: ${{ vars.ALIYUNACR_REGISTRY }}
          username: ${{ vars.ALIYUNACR_USERNAME }}
          password: ${{ secrets.ALIYUNACR_TOKEN }}

      - name: Build and push
        uses: docker/build-push-action@v6
        with:
          platforms: linux/amd64,linux/arm64
          context: .
          file: Dockerfile
          push: true
          tags: ${{ vars.DOCKERHUB_USERNAME }}/${{ env.IMAGE }}:${{ env.VERSION }},${{ vars.DOCKERHUB_USERNAME }}/${{ env.IMAGE }}:latest,${{ vars.ALIYUNACR_REGISTRY }}/${{ vars.ALIYUNACR_NAMESPACE }}/${{ env.IMAGE }}:${{ env.VERSION }},{{ vars.ALIYUNACR_REGISTRY }}/${{ vars.ALIYUNACR_NAMESPACE }}/${{ env.IMAGE }}:latest"