mirror of
https://github.com/tmate-io/tmate.git
synced 2025-02-03 11:59:13 +01:00
Build static build releases on travis-ci
This commit is contained in:
parent
44635e752d
commit
74ff522983
42
.travis.yml
42
.travis.yml
@ -1,10 +1,36 @@
|
|||||||
language: c
|
language: c
|
||||||
|
services:
|
||||||
|
- docker
|
||||||
|
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- compiler: gcc
|
- arch: amd64
|
||||||
- compiler: clang
|
env: PLATFORM=amd64
|
||||||
env: CFLAGS="-g -O2"
|
- arch: amd64
|
||||||
before_install:
|
env: PLATFORM=i386
|
||||||
- sudo apt-get update -qq
|
- arch: arm64
|
||||||
- sudo apt-get -y install debhelper autotools-dev dh-autoreconf file libncurses5-dev libevent-dev pkg-config libutempter-dev build-essential
|
env: PLATFORM=arm32v6
|
||||||
script: (CFLAGS= ./autogen.sh) && ./configure --enable-debug && make
|
- arch: arm64
|
||||||
|
env: PLATFORM=arm32v7
|
||||||
|
- arch: arm64
|
||||||
|
env: PLATFORM=arm64v8
|
||||||
|
|
||||||
|
script:
|
||||||
|
- 'docker build . --tag local-$PLATFORM/tmate-build --build-arg PLATFORM=$PLATFORM'
|
||||||
|
# On arch=arm64, some directories are not setup correctly, and 'ruby -S gem
|
||||||
|
# install dpl' required by the release push scripts fails.
|
||||||
|
- 'if [ "$TRAVIS_TAG" ]; then sudo chown -R $USER: /var/lib/gems /usr/local/bin; fi'
|
||||||
|
- 'if [ "$TRAVIS_TAG" ]; then ./package_release.sh $TRAVIS_TAG $PLATFORM; fi'
|
||||||
|
|
||||||
|
deploy:
|
||||||
|
provider: releases
|
||||||
|
api_key:
|
||||||
|
secure: T2109tjjOsrVLEpJZK/uxmO0AuDGXYFdN4AAsNTmVwu/W5dcX57Kk2TCgqDuLfD21iGGXP0U/OYHM06IfBDODBWCA9P8ASHYsenS7wIiFnvCEMbfzoAFyBMrXN2kNdM2+ho3aqc0xE2lQKOKDLxpGm5FZrzujscXXzxQjWBU5Hk=
|
||||||
|
skip_cleanup: true
|
||||||
|
overwrite: true
|
||||||
|
file_glob: true
|
||||||
|
file: /tmp/tmate-release/*.tar.*
|
||||||
|
on:
|
||||||
|
repo: tmate-io/tmate
|
||||||
|
branch: master
|
||||||
|
tags: true
|
||||||
|
27
Dockerfile
27
Dockerfile
@ -1,4 +1,5 @@
|
|||||||
FROM alpine:3.10
|
ARG PLATFORM=amd64
|
||||||
|
FROM ${PLATFORM}/alpine:3.10
|
||||||
|
|
||||||
WORKDIR /build
|
WORKDIR /build
|
||||||
|
|
||||||
@ -8,20 +9,20 @@ RUN apk add --no-cache wget cmake make gcc g++ linux-headers zlib-dev openssl-de
|
|||||||
libevent libexecinfo openssl zlib
|
libevent libexecinfo openssl zlib
|
||||||
|
|
||||||
RUN set -ex; \
|
RUN set -ex; \
|
||||||
mkdir -p /src/libssh/build; \
|
mkdir -p /src/libssh/build; \
|
||||||
cd /src; \
|
cd /src; \
|
||||||
wget -O libssh.tar.xz https://www.libssh.org/files/0.9/libssh-0.9.0.tar.xz; \
|
wget -O libssh.tar.xz https://www.libssh.org/files/0.9/libssh-0.9.0.tar.xz; \
|
||||||
tar -xf libssh.tar.xz -C /src/libssh --strip-components=1; \
|
tar -xf libssh.tar.xz -C /src/libssh --strip-components=1; \
|
||||||
cd /src/libssh/build; \
|
cd /src/libssh/build; \
|
||||||
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr \
|
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr \
|
||||||
-DWITH_SFTP=OFF -DWITH_SERVER=OFF -DWITH_PCAP=OFF \
|
-DWITH_SFTP=OFF -DWITH_SERVER=OFF -DWITH_PCAP=OFF \
|
||||||
-DWITH_STATIC_LIB=ON -DWITH_GSSAPI=OFF ..; \
|
-DWITH_STATIC_LIB=ON -DWITH_GSSAPI=OFF ..; \
|
||||||
make -j $(nproc); \
|
make -j $(nproc); \
|
||||||
make install
|
make install
|
||||||
|
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
RUN ./autogen.sh
|
RUN ./autogen.sh && ./configure --enable-static
|
||||||
RUN ./configure --enable-static
|
|
||||||
RUN make -j $(nproc)
|
RUN make -j $(nproc)
|
||||||
RUN strip tmate
|
RUN strip tmate
|
||||||
|
RUN ./tmate -V
|
||||||
|
14
package_release.sh
Executable file
14
package_release.sh
Executable file
@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -eux
|
||||||
|
VERSION=$1
|
||||||
|
PLATFORM=$2
|
||||||
|
RELEASE_NAME=tmate-$VERSION-static-linux-$PLATFORM
|
||||||
|
|
||||||
|
# This assumes the follow command has already been run:
|
||||||
|
# docker build . --tag local-$PLATFORM/tmate-build --build-arg PLATFORM=$PLATFORM
|
||||||
|
|
||||||
|
mkdir -p /tmp/tmate-release/$RELEASE_NAME
|
||||||
|
cd /tmp/tmate-release
|
||||||
|
docker run --rm local-$PLATFORM/tmate-build cat tmate > $RELEASE_NAME/tmate
|
||||||
|
chmod +x $RELEASE_NAME/tmate
|
||||||
|
tar -cf - $RELEASE_NAME | xz > tmate-$VERSION-static-linux-$PLATFORM.tar.xz
|
Loading…
Reference in New Issue
Block a user