Buckets:
| name: docker | |
| on: | |
| push: | |
| branches: main | |
| tags: ["*"] | |
| jobs: | |
| build: | |
| runs-on: ubuntu-24.04 | |
| permissions: | |
| packages: write | |
| contents: read | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - name: Install packages | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y autoconf automake build-essential cmake curl file libtool | |
| - name: Cross build multi-arch binary | |
| run: | | |
| mkdir dist | |
| for arch in amd64 armv7 arm64 s390x; do | |
| env BUILD_TARGET=$arch ./scripts/cross-build.sh | |
| [ "$arch" = "armv7" ] && arch="arm" | |
| mkdir -p dist/$arch && cp build/ttyd dist/$arch/ttyd | |
| done | |
| - uses: docker/setup-qemu-action@v4 | |
| - uses: docker/setup-buildx-action@v4 | |
| - uses: docker/login-action@v4 | |
| with: | |
| username: ${{ secrets.DOCKER_HUB_USER }} | |
| password: ${{ secrets.DOCKER_HUB_TOKEN }} | |
| - uses: docker/login-action@v4 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Determine docker tags | |
| id: docker_tag | |
| run: | | |
| case $GITHUB_REF in | |
| refs/tags/*) | |
| TAG_NAME=${GITHUB_REF#refs/tags/} | |
| echo "DOCKER_TAG=tsl0922/ttyd:${TAG_NAME}" >> $GITHUB_ENV | |
| echo "ALPINE_TAG=tsl0922/ttyd:${TAG_NAME}-alpine" >> $GITHUB_ENV | |
| ;; | |
| *) | |
| echo "DOCKER_TAG=tsl0922/ttyd:latest" >> $GITHUB_ENV | |
| echo "ALPINE_TAG=tsl0922/ttyd:alpine" >> $GITHUB_ENV | |
| esac | |
| - name: build/push docker image | |
| uses: docker/build-push-action@v7 | |
| with: | |
| context: . | |
| file: ./Dockerfile | |
| platforms: linux/amd64,linux/arm/v7,linux/arm64,linux/s390x | |
| push: true | |
| tags: | | |
| ${{ env.DOCKER_TAG }} | |
| ghcr.io/${{ env.DOCKER_TAG }} | |
| - name: build/push docker image (alpine) | |
| uses: docker/build-push-action@v7 | |
| with: | |
| context: . | |
| file: ./Dockerfile.alpine | |
| platforms: linux/amd64,linux/arm/v7,linux/arm64,linux/s390x | |
| push: true | |
| tags: | | |
| ${{ env.ALPINE_TAG }} | |
| ghcr.io/${{ env.ALPINE_TAG }} | |
Xet Storage Details
- Size:
- 2.29 kB
- Xet hash:
- 33dd9af5cef7940221e9c27171ac9b6cb26ba1c9a98f57b7dbd794b2001f2f8e
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.