tinyproxy.yml 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. name: "tinyproxy docker build"
  2. env:
  3. PROJECT: tinyproxy
  4. on:
  5. workflow_dispatch:
  6. jobs:
  7. build:
  8. runs-on: ubuntu-latest
  9. env:
  10. ACTIONS_ALLOW_UNSECURE_COMMANDS: true
  11. steps:
  12. - name: Checkout
  13. uses: actions/checkout@v2
  14. - name: Set tag
  15. id: tag
  16. run: |
  17. TAG=$(cat ${{ env.PROJECT }}/Dockerfile | awk 'NR==4 {print $3}')
  18. echo "::set-env name=TAG::$TAG"
  19. - name: Docker Hub login
  20. env:
  21. DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
  22. DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
  23. run: |
  24. echo "${DOCKER_PASSWORD}" | docker login --username ${DOCKER_USERNAME} --password-stdin
  25. - name: Set up Docker Buildx
  26. id: buildx
  27. uses: crazy-max/ghaction-docker-buildx@v1
  28. with:
  29. buildx-version: latest
  30. - name: Build Dockerfile
  31. env:
  32. DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
  33. run: |
  34. docker buildx build \
  35. --platform=linux/amd64,linux/arm64 \
  36. --output "type=image,push=true" \
  37. --file ${{ env.PROJECT }}/Dockerfile ./${{ env.PROJECT }} \
  38. --tag $(echo "${DOCKER_USERNAME}" | tr '[:upper:]' '[:lower:]')/${{ env.PROJECT }}:latest \
  39. --tag $(echo "${DOCKER_USERNAME}" | tr '[:upper:]' '[:lower:]')/${{ env.PROJECT }}:${TAG}