summaryrefslogtreecommitdiffstats
path: root/.github/workflows
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/backend.yml33
-rw-r--r--.github/workflows/docker.yml59
-rw-r--r--.github/workflows/frontend.yml2
-rw-r--r--.github/workflows/release.yml6
4 files changed, 91 insertions, 9 deletions
diff --git a/.github/workflows/backend.yml b/.github/workflows/backend.yml
index a5b8af2..7d917ac 100644
--- a/.github/workflows/backend.yml
+++ b/.github/workflows/backend.yml
@@ -16,10 +16,10 @@ on:
jobs:
build:
- runs-on: ubuntu-18.04
+ runs-on: ubuntu-20.04
strategy:
matrix:
- lws-version: [4.1.6, 3.2.3, 2.4.2]
+ lws-version: [4.2.1, 3.2.3]
steps:
- name: Install packages
run: |
@@ -41,10 +41,10 @@ jobs:
make && sudo make install
ttyd -v
cross:
- runs-on: ubuntu-18.04
+ runs-on: ubuntu-20.04
strategy:
matrix:
- target: [i686, x86_64, arm, armhf, aarch64, mips, mipsel, mips64, mips64el]
+ target: [i686, x86_64, arm, armhf, aarch64, mips, mipsel, mips64, mips64el, s390x]
steps:
- uses: actions/checkout@v2
- name: Install packages
@@ -55,7 +55,30 @@ jobs:
env:
BUILD_TARGET: ${{ matrix.target }}
run: ./scripts/cross-build.sh
- - uses: actions/upload-artifact@v1
+ - uses: actions/upload-artifact@v2
with:
name: ttyd.${{ matrix.target }}
path: build/ttyd
+ win10:
+ runs-on: windows-latest
+ steps:
+ - uses: actions/checkout@v2
+ - uses: msys2/setup-msys2@v2
+ with:
+ msystem: MINGW64
+ install: >-
+ make
+ mingw64/mingw-w64-x86_64-gcc
+ mingw64/mingw-w64-x86_64-cmake
+ mingw64/mingw-w64-x86_64-zlib
+ mingw64/mingw-w64-x86_64-libuv
+ mingw64/mingw-w64-x86_64-mbedtls
+ mingw64/mingw-w64-x86_64-json-c
+ update: true
+ - name: Build ttyd
+ shell: msys2 {0}
+ run: ./scripts/mingw-build.sh
+ - uses: actions/upload-artifact@v2
+ with:
+ name: ttyd.win10
+ path: build/ttyd.exe
diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml
new file mode 100644
index 0000000..de6ce65
--- /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@v2
+ - 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@v1
+ - uses: docker/setup-buildx-action@v1
+ - uses: docker/login-action@v1
+ 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 ::set-output name=DOCKER_TAG::tsl0922/ttyd:${TAG_NAME}
+ echo ::set-output name=ALPINE_TAG::tsl0922/ttyd:${TAG_NAME}-alpine
+ ;;
+ *)
+ echo ::set-output name=DOCKER_TAG::tsl0922/ttyd:latest
+ echo ::set-output name=ALPINE_TAG::tsl0922/ttyd:alpine
+ esac
+ - name: build/push docker image
+ uses: docker/build-push-action@v2
+ with:
+ context: .
+ file: ./Dockerfile
+ platforms: linux/amd64,linux/arm/v7,linux/arm64,linux/s390x
+ push: true
+ tags: ${{ steps.docker_tag.outputs.DOCKER_TAG }}
+ - name: build/push docker image (alpine)
+ uses: docker/build-push-action@v2
+ with:
+ context: .
+ file: ./Dockerfile.alpine
+ platforms: linux/amd64,linux/arm/v7,linux/arm64,linux/s390x
+ push: true
+ tags: ${{ steps.docker_tag.outputs.ALPINE_TAG }}
diff --git a/.github/workflows/frontend.yml b/.github/workflows/frontend.yml
index f18b405..a099f5b 100644
--- a/.github/workflows/frontend.yml
+++ b/.github/workflows/frontend.yml
@@ -12,7 +12,7 @@ on:
jobs:
build:
- runs-on: ubuntu-18.04
+ runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v1
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index f630578..09ced6d 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -7,7 +7,7 @@ on:
jobs:
release:
- runs-on: ubuntu-18.04
+ runs-on: ubuntu-20.04
outputs:
upload_url: ${{ steps.create_release.outputs.upload_url }}
steps:
@@ -23,11 +23,11 @@ jobs:
prerelease: false
build:
- runs-on: ubuntu-18.04
+ runs-on: ubuntu-20.04
needs: release
strategy:
matrix:
- target: [i686, x86_64, arm, armhf, aarch64, mips, mipsel, mips64, mips64el]
+ target: [i686, x86_64, arm, armhf, aarch64, mips, mipsel, mips64, mips64el, s390x]
steps:
- uses: actions/checkout@v2
- name: Install packages