mirror of
https://github.com/tmate-io/tmate.git
synced 2025-02-03 03:50:32 +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
|
||||
services:
|
||||
- docker
|
||||
|
||||
matrix:
|
||||
include:
|
||||
- compiler: gcc
|
||||
- compiler: clang
|
||||
env: CFLAGS="-g -O2"
|
||||
before_install:
|
||||
- sudo apt-get update -qq
|
||||
- sudo apt-get -y install debhelper autotools-dev dh-autoreconf file libncurses5-dev libevent-dev pkg-config libutempter-dev build-essential
|
||||
script: (CFLAGS= ./autogen.sh) && ./configure --enable-debug && make
|
||||
include:
|
||||
- arch: amd64
|
||||
env: PLATFORM=amd64
|
||||
- arch: amd64
|
||||
env: PLATFORM=i386
|
||||
- arch: arm64
|
||||
env: PLATFORM=arm32v6
|
||||
- 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
|
||||
|
||||
@ -8,20 +9,20 @@ RUN apk add --no-cache wget cmake make gcc g++ linux-headers zlib-dev openssl-de
|
||||
libevent libexecinfo openssl zlib
|
||||
|
||||
RUN set -ex; \
|
||||
mkdir -p /src/libssh/build; \
|
||||
cd /src; \
|
||||
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; \
|
||||
cd /src/libssh/build; \
|
||||
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr \
|
||||
-DWITH_SFTP=OFF -DWITH_SERVER=OFF -DWITH_PCAP=OFF \
|
||||
-DWITH_STATIC_LIB=ON -DWITH_GSSAPI=OFF ..; \
|
||||
make -j $(nproc); \
|
||||
make install
|
||||
mkdir -p /src/libssh/build; \
|
||||
cd /src; \
|
||||
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; \
|
||||
cd /src/libssh/build; \
|
||||
cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr \
|
||||
-DWITH_SFTP=OFF -DWITH_SERVER=OFF -DWITH_PCAP=OFF \
|
||||
-DWITH_STATIC_LIB=ON -DWITH_GSSAPI=OFF ..; \
|
||||
make -j $(nproc); \
|
||||
make install
|
||||
|
||||
COPY . .
|
||||
|
||||
RUN ./autogen.sh
|
||||
RUN ./configure --enable-static
|
||||
RUN ./autogen.sh && ./configure --enable-static
|
||||
RUN make -j $(nproc)
|
||||
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