diff options
Diffstat (limited to '')
-rw-r--r-- | .github/dependabot.yml | 9 | ||||
-rw-r--r-- | .github/workflows/backend.yml | 33 | ||||
-rw-r--r-- | .github/workflows/docker.yml | 59 | ||||
-rw-r--r-- | .github/workflows/frontend.yml | 2 | ||||
-rw-r--r-- | .github/workflows/release.yml | 6 |
5 files changed, 100 insertions, 9 deletions
diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..4d81a04 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,9 @@ +version: 2 +updates: +- package-ecosystem: npm + directory: "/html" + schedule: + interval: weekly + open-pull-requests-limit: 10 + ignore: + - dependency-name: gts 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 |