name: build_docker on: release: types: [created] # 表示在创建新的 Release 时触发 workflow_dispatch: jobs: build_docker: name: Build docker runs-on: ubuntu-latest steps: - name: Remove unnecessary files run: | sudo rm -rf /usr/share/dotnet sudo rm -rf "$AGENT_TOOLSDIRECTORY" - name: Checkout uses: actions/checkout@v3 - name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Login to DockerHub uses: docker/login-action@v3 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Extract project version id: extract_version run: | project_version=$(grep 'project_version' config.example.toml | cut -d '"' -f 2) echo "PROJECT_VERSION=$project_version" >> $GITHUB_ENV - name: Build and push id: docker_build uses: docker/build-push-action@v6 with: context: . file: ./Dockerfile push: true platforms: linux/amd64,linux/arm64 tags: | ${{ secrets.DOCKERHUB_USERNAME }}/narratoai:${{ env.PROJECT_VERSION }} ${{ secrets.DOCKERHUB_USERNAME }}/narratoai:latest