Some checks failed
backend / cross (aarch64) (push) Failing after 17s
backend / cross (armhf) (push) Failing after 31s
backend / cross (mips) (push) Failing after 31s
backend / cross (mips64) (push) Failing after 31s
backend / cross (mips64el) (push) Failing after 31s
frontend / build (push) Failing after 32s
backend / cross (arm) (push) Failing after 2m19s
backend / cross (i686) (push) Failing after 1s
backend / cross (mipsel) (push) Failing after 31s
backend / cross (s390x) (push) Failing after 31s
backend / cross (win32) (push) Failing after 31s
backend / cross (x86_64) (push) Failing after 32s
docker / build (push) Failing after 6m14s
72 lines
2.2 KiB
YAML
72 lines
2.2 KiB
YAML
name: docker
|
|
|
|
on:
|
|
push:
|
|
branches: main
|
|
tags: ["*"]
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-22.04
|
|
permissions:
|
|
packages: write
|
|
contents: read
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- 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@v3
|
|
- uses: docker/setup-buildx-action@v3
|
|
- uses: docker/login-action@v3
|
|
with:
|
|
username: ${{ secrets.DOCKER_HUB_USER }}
|
|
password: ${{ secrets.DOCKER_HUB_TOKEN }}
|
|
- uses: docker/login-action@v3
|
|
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@v6
|
|
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@v6
|
|
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 }}
|