Skip to content

Drop ubuntu 20 support #15

Drop ubuntu 20 support

Drop ubuntu 20 support #15

Workflow file for this run

name: Deploy Dependencies
on:
workflow_dispatch:
push:
branches: ['main', 'release-*']
paths: ['.github/workflows/deploy-deps.yml']
env:
openssl_args: no-dso no-shared no-tests no-threads --libdir=lib
jobs:
build-osxcross:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
repository: tpoechtrager/osxcross
- run: sudo apt-get update
- run: sudo apt-get install libxml2-dev llvm-dev lzma-dev
- run: curl -fsSL https://cdn.thelang.io/MacOSX12.3.sdk.tar.xz -o tarballs/MacOSX12.3.sdk.tar.xz
- run: sudo mkdir -p /usr/local/the
- run: sudo chown -R $USER /usr/local/the
- run: TARGET_DIR="/usr/local/the/osxcross" UNATTENDED=1 ./build.sh
- run: sudo mv /usr/local/the/osxcross .
- run: tar -czf build-osxcross.tar.gz osxcross
- uses: actions/upload-artifact@v4
with:
name: build-osxcross
path: build-osxcross.tar.gz
build-cross-compile-macos-arm64:
needs: build-osxcross
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
repository: openssl/openssl
ref: openssl-3.1.0
- uses: actions/download-artifact@v4
with:
name: build-osxcross
- run: sudo mkdir -p /usr/local/the
- run: sudo chown -R $USER /usr/local/the
- run: tar -xzf build-osxcross.tar.gz -C /usr/local/the
- run: echo "/usr/local/the/osxcross/bin" >> $GITHUB_PATH
- run: CC=clang perl Configure darwin64-arm64 --cross-compile-prefix=arm64-apple-darwin21.4- --prefix="$PWD/build" ${{ env.openssl_args }}
- run: perl configdata.pm --dump
- run: make -j4
- run: make install_sw
- run: tar -czf build-cross-compile-macos-arm64.tar.gz build
- uses: actions/upload-artifact@v4
with:
name: build-cross-compile-macos-arm64
path: build-cross-compile-macos-arm64.tar.gz
build-cross-compile-macos-x86_64:
needs: build-osxcross
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
repository: openssl/openssl
ref: openssl-3.1.0
- uses: actions/download-artifact@v4
with:
name: build-osxcross
- run: sudo mkdir -p /usr/local/the
- run: sudo chown -R $USER /usr/local/the
- run: tar -xzf build-osxcross.tar.gz -C /usr/local/the
- run: echo "/usr/local/the/osxcross/bin" >> $GITHUB_PATH
- run: CC=clang perl Configure darwin64-x86_64 --cross-compile-prefix=x86_64-apple-darwin21.4- --prefix="$PWD/build" ${{ env.openssl_args }}
- run: perl configdata.pm --dump
- run: make -j4
- run: make install_sw
- run: tar -czf build-cross-compile-macos-x86_64.tar.gz build
- uses: actions/upload-artifact@v4
with:
name: build-cross-compile-macos-x86_64
path: build-cross-compile-macos-x86_64.tar.gz
build-cross-compile-windows:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
repository: openssl/openssl
ref: openssl-3.1.0
- run: sudo apt-get update
- run: sudo apt-get install build-essential mingw-w64
- run: perl Configure mingw64 --cross-compile-prefix=x86_64-w64-mingw32- --prefix="$PWD/build" ${{ env.openssl_args }}
- run: perl configdata.pm --dump
- run: make -j4
- run: make install_sw
- run: tar -czf build-cross-compile-windows.tar.gz build
- uses: actions/upload-artifact@v4
with:
name: build-cross-compile-windows
path: build-cross-compile-windows.tar.gz
build-linux:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
repository: openssl/openssl
ref: openssl-3.1.0
- run: CC=clang perl Configure --prefix="$PWD/build" ${{ env.openssl_args }}
- run: perl configdata.pm --dump
- run: make -j4
- run: make install_sw
- run: tar -czf build-linux.tar.gz build
- uses: actions/upload-artifact@v4
with:
name: build-linux
path: build-linux.tar.gz
build-macos-arm64:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
with:
repository: openssl/openssl
ref: openssl-3.1.0
- run: CC=clang perl Configure darwin64-arm64 --prefix="$PWD/build" ${{ env.openssl_args }}
- run: perl configdata.pm --dump
- run: make -j4
- run: make install_sw
- run: tar -czf build-macos-arm64.tar.gz build
- uses: actions/upload-artifact@v4
with:
name: build-macos-arm64
path: build-macos-arm64.tar.gz
build-macos-x86_64:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
with:
repository: openssl/openssl
ref: openssl-3.1.0
- run: CC=clang perl Configure darwin64-x86_64 --prefix="$PWD/build" ${{ env.openssl_args }}
- run: perl configdata.pm --dump
- run: make -j4
- run: make install_sw
- run: tar -czf build-macos-x86_64.tar.gz build
- uses: actions/upload-artifact@v4
with:
name: build-macos-x86_64
path: build-macos-x86_64.tar.gz
build-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
with:
repository: openssl/openssl
ref: openssl-3.1.0
- uses: ilammy/msvc-dev-cmd@v1
- uses: ilammy/setup-nasm@v1
- run: perl Configure VC-WIN64A --prefix="$PWD/build" ${{ env.openssl_args }}
- run: perl configdata.pm --dump
- run: nmake
- run: nmake install_sw
- run: cp build/lib/libssl.lib build/lib/ssl.lib
- run: cp build/lib/libcrypto.lib build/lib/crypto.lib
- run: tar -czf build-windows.tar.gz build
- uses: actions/upload-artifact@v4
with:
name: build-windows
path: build-windows.tar.gz
deploy:
needs:
- build-osxcross
- build-cross-compile-macos-arm64
- build-cross-compile-macos-x86_64
- build-cross-compile-windows
- build-linux
- build-macos-arm64
- build-macos-x86_64
- build-windows
runs-on: ubuntu-22.04
steps:
- uses: actions/download-artifact@v4
- run: |
config=(
build-linux:the/cross-compile/linux
build-cross-compile-macos-arm64:the/cross-compile/macos/arm64
build-cross-compile-macos-x86_64:the/cross-compile/macos/x86_64
build-cross-compile-windows:the/cross-compile/windows
build-linux:the/native/linux
build-macos-arm64:the/native/macos/arm64
build-macos-x86_64:the/native/macos/x86_64
build-windows:the/native/windows
build-osxcross:the/osxcross
)
for item in "${config[@]}"; do
artifact="${item%%:*}"
location="${item#*:}"
tarball_location="$artifact/$artifact.tar.gz"
echo Creating directory "$location"
mkdir -p "$location"
echo Unpacking tarball "$tarball_location"
tar -xzf "$tarball_location" -C "$location" --strip-components=1
done
- run: tar -czf deps.tar.gz the
- uses: aws-actions/configure-aws-credentials@v4
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }}
aws-secret-access-key: ${{ secrets.AWS_ACCESS_SECRET }}
aws-region: ${{ secrets.AWS_REGION }}
- run: aws s3 cp deps.tar.gz s3://${{ secrets.AWS_S3_BUCKET }}/deps.tar.gz --content-type application/x-gzip
- run: aws cloudfront create-invalidation --distribution-id ${{ secrets.AWS_CLOUDFRONT_DISTRIBUTION }} --paths '/deps.tar.gz'