docker.yaml 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. name: Release Docker image
  2. on:
  3. push:
  4. tags:
  5. - v*
  6. jobs:
  7. release:
  8. runs-on: ubuntu-latest
  9. steps:
  10. - name: Set up Checkout
  11. uses: actions/checkout@v2
  12. - name: Set up Docker Buildx
  13. uses: crazy-max/ghaction-docker-buildx@v3
  14. - name: Log in to DockerHub
  15. env:
  16. DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
  17. DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
  18. run: |
  19. echo "${DOCKER_PASSWORD}" | docker login --username ${DOCKER_USERNAME} --password-stdin
  20. - name: Get release version
  21. id: get_relesase_version
  22. run: echo ::set-output name=version::${GITHUB_REF#refs/*/}
  23. - name: Build and puch Docker image (version)
  24. env:
  25. DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
  26. RELEASE_VERSION: ${{ steps.get_relesase_version.outputs.version }}
  27. run: |
  28. docker buildx build \
  29. --platform linux/386,linux/amd64,linux/arm/v7,linux/arm64 \
  30. --output "type=image,push=true" \
  31. --tag $(echo "${DOCKER_USERNAME}" | tr '[:upper:]' '[:lower:]')/v2fly-core:"$RELEASE_VERSION" \
  32. --file ./Dockerfile .
  33. - name: Build and push Docker image (latest)
  34. env:
  35. DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
  36. run: |
  37. docker buildx build \
  38. --platform linux/386,linux/amd64,linux/arm/v7,linux/arm64 \
  39. --output "type=image,push=true" \
  40. --tag $(echo "${DOCKER_USERNAME}" | tr '[:upper:]' '[:lower:]')/v2fly-core:latest \
  41. --file ./Dockerfile .