diff options
Diffstat (limited to '.github/workflows')
-rw-r--r-- | .github/workflows/backend.yml | 34 | ||||
-rw-r--r-- | .github/workflows/docker.yml | 16 | ||||
-rw-r--r-- | .github/workflows/frontend.yml | 12 | ||||
-rw-r--r-- | .github/workflows/release.yml | 39 |
4 files changed, 35 insertions, 66 deletions
diff --git a/.github/workflows/backend.yml b/.github/workflows/backend.yml index cfab7bd..0ee6e39 100644 --- a/.github/workflows/backend.yml +++ b/.github/workflows/backend.yml @@ -13,42 +13,17 @@ on: - "CMakeLists.txt" - "src/*" - "scripts/*" + workflow_call: 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 + 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@v3 + - uses: actions/checkout@v4 - name: Install packages run: | sudo apt-get update @@ -57,7 +32,8 @@ jobs: env: BUILD_TARGET: ${{ matrix.target }} run: ./scripts/cross-build.sh - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: ttyd.${{ matrix.target }} path: build/ttyd* + diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 4dbaf24..90ff761 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -3,13 +3,13 @@ name: docker on: push: branches: main - tags: "*" + tags: ["*"] jobs: build: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install packages run: | sudo apt-get update @@ -22,9 +22,9 @@ jobs: [ "$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 + - 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 }} @@ -42,7 +42,7 @@ jobs: echo "ALPINE_TAG=tsl0922/ttyd:alpine" >> $GITHUB_ENV esac - name: build/push docker image - uses: docker/build-push-action@v3 + uses: docker/build-push-action@v5 with: context: . file: ./Dockerfile @@ -50,7 +50,7 @@ jobs: push: true tags: ${{ env.DOCKER_TAG }} - name: build/push docker image (alpine) - uses: docker/build-push-action@v3 + uses: docker/build-push-action@v5 with: context: . file: ./Dockerfile.alpine diff --git a/.github/workflows/frontend.yml b/.github/workflows/frontend.yml index f0005f1..792a21a 100644 --- a/.github/workflows/frontend.yml +++ b/.github/workflows/frontend.yml @@ -12,15 +12,17 @@ on: jobs: build: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v3 - - uses: actions/setup-node@v3 + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: - node-version: '16.x' + node-version: 18 - name: Run yarn install, check and build run: | - cd html + 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 index 9500cee..d5d2b25 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -2,36 +2,26 @@ name: release on: push: - tags: - - "*" + 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* + uses: ./.github/workflows/backend.yml publish: needs: [build] - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v3 - - uses: actions/download-artifact@v3 + - 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 @@ -39,6 +29,7 @@ jobs: [[ $file == *.exe ]] && target="$target.exe" mv $file build/$target done + pushd build; sha256sum ttyd.* > SHA256SUMS; popd - uses: ncipollo/release-action@v1 with: artifacts: build/* |