fork repo
Some checks failed
backend / cross (aarch64) (push) Failing after 11m25s
backend / cross (arm) (push) Failing after 7m16s
backend / cross (armhf) (push) Failing after 2m5s
backend / cross (i686) (push) Failing after 31s
backend / cross (mips) (push) Failing after 31s
backend / cross (mips64) (push) Failing after 31s
backend / cross (mips64el) (push) Failing after 2m49s
backend / cross (s390x) (push) Failing after 6m45s
backend / cross (mipsel) (push) Failing after 16m40s
backend / cross (win32) (push) Failing after 7m0s
backend / cross (x86_64) (push) Failing after 17m57s
frontend / build (push) Failing after 5m51s
Some checks failed
backend / cross (aarch64) (push) Failing after 11m25s
backend / cross (arm) (push) Failing after 7m16s
backend / cross (armhf) (push) Failing after 2m5s
backend / cross (i686) (push) Failing after 31s
backend / cross (mips) (push) Failing after 31s
backend / cross (mips64) (push) Failing after 31s
backend / cross (mips64el) (push) Failing after 2m49s
backend / cross (s390x) (push) Failing after 6m45s
backend / cross (mipsel) (push) Failing after 16m40s
backend / cross (win32) (push) Failing after 7m0s
backend / cross (x86_64) (push) Failing after 17m57s
frontend / build (push) Failing after 5m51s
This commit is contained in:
39
.github/workflows/backend.yml
vendored
Normal file
39
.github/workflows/backend.yml
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
name: backend
|
||||
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- ".github/workflows/backend.yml"
|
||||
- "CMakeLists.txt"
|
||||
- "src/*"
|
||||
- "scripts/*"
|
||||
pull_request:
|
||||
paths:
|
||||
- ".github/workflows/backend.yml"
|
||||
- "CMakeLists.txt"
|
||||
- "src/*"
|
||||
- "scripts/*"
|
||||
workflow_call:
|
||||
|
||||
jobs:
|
||||
cross:
|
||||
runs-on: ubuntu-22.04
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
target: [i686, x86_64, arm, armhf, aarch64, mips, mipsel, mips64, mips64el, s390x, win32]
|
||||
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 (${{ matrix.target }})
|
||||
env:
|
||||
BUILD_TARGET: ${{ matrix.target }}
|
||||
run: ./scripts/cross-build.sh
|
||||
- uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: ttyd.${{ matrix.target }}
|
||||
path: build/ttyd*
|
||||
|
71
.github/workflows/docker.yml
vendored
Normal file
71
.github/workflows/docker.yml
vendored
Normal file
@@ -0,0 +1,71 @@
|
||||
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 }}
|
28
.github/workflows/frontend.yml
vendored
Normal file
28
.github/workflows/frontend.yml
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
name: frontend
|
||||
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- ".github/workflows/frontend.yml"
|
||||
- "html/*"
|
||||
pull_request:
|
||||
paths:
|
||||
- ".github/workflows/frontend.yml"
|
||||
- "html/*"
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 18
|
||||
- name: Run yarn install, check and build
|
||||
run: |
|
||||
corepack enable
|
||||
corepack prepare yarn@stable --activate
|
||||
yarn install
|
||||
yarn run check
|
||||
yarn run build
|
||||
working-directory: html
|
37
.github/workflows/release.yml
vendored
Normal file
37
.github/workflows/release.yml
vendored
Normal file
@@ -0,0 +1,37 @@
|
||||
name: release
|
||||
|
||||
on:
|
||||
push:
|
||||
tags: ["*"]
|
||||
|
||||
jobs:
|
||||
build:
|
||||
uses: ./.github/workflows/backend.yml
|
||||
publish:
|
||||
needs: [build]
|
||||
runs-on: ubuntu-22.04
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Check version bump
|
||||
run: |
|
||||
TAG=$(git describe --tags --match "[0-9]*.[0-9]*.[0-9]*" --abbrev=8)
|
||||
VERSION=$(grep project CMakeLists.txt| awk '{print $3}')
|
||||
if [ "$TAG" != "$VERSION" ]; then
|
||||
echo "=== Version in CMakeLists.txt and git tag does not match!"
|
||||
echo "=== Git Tag: $TAG, Version: $VERSION"
|
||||
exit 1
|
||||
fi
|
||||
- uses: actions/download-artifact@v4
|
||||
- run: |
|
||||
mkdir build
|
||||
for file in ttyd.*/*; do
|
||||
target=$(echo $file | awk -F/ '{print $1}')
|
||||
[[ $file == *.exe ]] && target="$target.exe"
|
||||
mv $file build/$target
|
||||
done
|
||||
pushd build; sha256sum ttyd.* > SHA256SUMS; popd
|
||||
- uses: ncipollo/release-action@v1
|
||||
with:
|
||||
artifacts: build/*
|
||||
allowUpdates: true
|
||||
draft: true
|
Reference in New Issue
Block a user