+++ /dev/null
-github: tsl0922
-patreon: tsl0922
+++ /dev/null
----
-name: Bug report
-about: Create a report to help us improve
-title: ''
-labels: bug
-assignees: ''
-
----
-
-**Describe the bug**
-A clear and concise description of what the bug is.
-
-**To Reproduce**
-Steps to reproduce the behavior:
-1. Go to '...'
-2. Click on '....'
-3. Scroll down to '....'
-4. See error
-
-**Expected behavior**
-A clear and concise description of what you expected to happen.
-
-**Screenshots**
-If applicable, add screenshots to help explain your problem.
-
-**Environment:**
- - OS: [e.g. macOS 10.15.2]
- - Browser: [e.g. Chrome 79.0.3945.130]
-
-**Additional context**
-Add any other context about the problem here.
+++ /dev/null
----
-name: Feature request
-about: Suggest an idea for this project
-title: ''
-labels: enhancement
-assignees: ''
-
----
-
-**Is your feature request related to a problem? Please describe.**
-A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
-
-**Describe the solution you'd like**
-A clear and concise description of what you want to happen.
-
-**Describe alternatives you've considered**
-A clear and concise description of any alternative solutions or features you've considered.
-
-**Additional context**
-Add any other context or screenshots about the feature request here.
+++ /dev/null
----
-name: Support Request
-about: Support request or question
-title: ''
-labels: question
-assignees: ''
-
----
-
-Describe your problem or question here.
+++ /dev/null
-version: 2
-updates:
-- package-ecosystem: npm
- directory: "/html"
- schedule:
- interval: daily
- open-pull-requests-limit: 10
+++ /dev/null
-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*
-
+++ /dev/null
-name: docker
-
-on:
- push:
- branches: main
- tags: ["*"]
-
-jobs:
- build:
- runs-on: ubuntu-22.04
- 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 }}
- - 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@v5
- with:
- context: .
- file: ./Dockerfile
- platforms: linux/amd64,linux/arm/v7,linux/arm64,linux/s390x
- push: true
- tags: ${{ env.DOCKER_TAG }}
- - name: build/push docker image (alpine)
- uses: docker/build-push-action@v5
- with:
- context: .
- file: ./Dockerfile.alpine
- platforms: linux/amd64,linux/arm/v7,linux/arm64,linux/s390x
- push: true
- tags: ${{ env.ALPINE_TAG }}
+++ /dev/null
-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
+++ /dev/null
-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