diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 02:54:31 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 02:54:31 +0000 |
commit | 3b4936b6f2b870f9f2444ebb6ce1ca2de3f49d9f (patch) | |
tree | c91ab0ac9447b25f91c05e901212c2142fb95953 /.github | |
parent | Initial commit. (diff) | |
download | ttyd-3b4936b6f2b870f9f2444ebb6ce1ca2de3f49d9f.tar.xz ttyd-3b4936b6f2b870f9f2444ebb6ce1ca2de3f49d9f.zip |
Adding upstream version 1.7.4.upstream/1.7.4
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | .github/FUNDING.yml | 1 | ||||
-rw-r--r-- | .github/ISSUE_TEMPLATE/bug_report.md | 31 | ||||
-rw-r--r-- | .github/ISSUE_TEMPLATE/feature_request.md | 20 | ||||
-rw-r--r-- | .github/ISSUE_TEMPLATE/support-request.md | 10 | ||||
-rw-r--r-- | .github/dependabot.yml | 7 | ||||
-rw-r--r-- | .github/workflows/backend.yml | 63 | ||||
-rw-r--r-- | .github/workflows/docker.yml | 59 | ||||
-rw-r--r-- | .github/workflows/frontend.yml | 28 | ||||
-rw-r--r-- | .github/workflows/release.yml | 46 |
9 files changed, 265 insertions, 0 deletions
diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..9059f66 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1 @@ +github: tsl0922 diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md new file mode 100644 index 0000000..a895f5f --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -0,0 +1,31 @@ +--- +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. diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md new file mode 100644 index 0000000..11fc491 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.md @@ -0,0 +1,20 @@ +--- +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. diff --git a/.github/ISSUE_TEMPLATE/support-request.md b/.github/ISSUE_TEMPLATE/support-request.md new file mode 100644 index 0000000..b5510d7 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/support-request.md @@ -0,0 +1,10 @@ +--- +name: Support Request +about: Support request or question +title: '' +labels: question +assignees: '' + +--- + +Describe your problem or question here. diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..e3d94b0 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,7 @@ +version: 2 +updates: +- package-ecosystem: npm + directory: "/html" + schedule: + interval: daily + open-pull-requests-limit: 10 diff --git a/.github/workflows/backend.yml b/.github/workflows/backend.yml new file mode 100644 index 0000000..cfab7bd --- /dev/null +++ b/.github/workflows/backend.yml @@ -0,0 +1,63 @@ +name: backend + +on: + push: + paths: + - ".github/workflows/backend.yml" + - "CMakeLists.txt" + - "src/*" + - "scripts/*" + pull_request: + paths: + - ".github/workflows/backend.yml" + - "CMakeLists.txt" + - "src/*" + - "scripts/*" + +jobs: + build: + runs-on: ubuntu-20.04 + strategy: + fail-fast: false + matrix: + lws-version: [4.3.2, 3.2.3] + steps: + - name: Install packages + run: | + sudo apt-get update + sudo apt-get install build-essential cmake libjson-c-dev zlib1g-dev libssl-dev libuv1-dev + - name: Install libwebsockets-${{ matrix.lws-version }} + env: + LWS_VERSION: ${{ matrix.lws-version }} + run: | + cd $(mktemp -d) + curl -sLo- https://github.com/warmcat/libwebsockets/archive/v${LWS_VERSION}.tar.gz | tar xz + cd libwebsockets-${LWS_VERSION} + cmake -DLWS_WITH_LIBUV=ON -DLWS_UNIX_SOCK=ON -DLWS_IPV6=ON -DLWS_WITHOUT_TESTAPPS=ON -DCMAKE_BUILD_TYPE=RELEASE . + make && sudo make install && sudo ldconfig + - uses: actions/checkout@v3 + - name: Build ttyd + run: | + cmake -DCMAKE_BUILD_TYPE=RELEASE . + make && sudo make install + ttyd -v + cross: + runs-on: ubuntu-20.04 + strategy: + fail-fast: false + matrix: + target: [i686, x86_64, arm, armhf, aarch64, mips, mipsel, mips64, mips64el, s390x, win32] + steps: + - uses: actions/checkout@v3 + - 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@v3 + with: + name: ttyd.${{ matrix.target }} + path: build/ttyd* diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml new file mode 100644 index 0000000..4dbaf24 --- /dev/null +++ b/.github/workflows/docker.yml @@ -0,0 +1,59 @@ +name: docker + +on: + push: + branches: main + tags: "*" + +jobs: + build: + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v3 + - 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@v2 + - uses: docker/setup-buildx-action@v2 + - uses: docker/login-action@v2 + 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@v3 + 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@v3 + with: + context: . + file: ./Dockerfile.alpine + platforms: linux/amd64,linux/arm/v7,linux/arm64,linux/s390x + push: true + tags: ${{ env.ALPINE_TAG }} diff --git a/.github/workflows/frontend.yml b/.github/workflows/frontend.yml new file mode 100644 index 0000000..e134729 --- /dev/null +++ b/.github/workflows/frontend.yml @@ -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-20.04 + steps: + - uses: actions/checkout@v3 + - uses: actions/setup-node@v3 + 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 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..9500cee --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,46 @@ +name: release + +on: + push: + tags: + - "*" + +jobs: + build: + runs-on: ubuntu-20.04 + strategy: + fail-fast: false + matrix: + target: [i686, x86_64, arm, armhf, aarch64, mips, mipsel, mips64, mips64el, s390x, win32] + steps: + - uses: actions/checkout@v3 + - 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@v3 + with: + name: ttyd.${{ matrix.target }} + path: build/ttyd* + publish: + needs: [build] + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v3 + - uses: actions/download-artifact@v3 + - 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 + - uses: ncipollo/release-action@v1 + with: + artifacts: build/* + allowUpdates: true + draft: true |