build: Remove GitHub workflows

These are being replaced by our reproducible builds.
This commit is contained in:
cloudhead 2024-04-29 10:47:51 +02:00
parent 5f1657484f
commit 0c93a1c1a4
No known key found for this signature in database
5 changed files with 0 additions and 232 deletions

View File

@ -1,29 +0,0 @@
#!/bin/bash
set -o errexit
set -o nounset
set -o pipefail
main () {
if [[ $# -ne 1 ]]; then
echo "$#: Wrong number of arguments"
return 1
fi
local target=$1
rustup target add "$target"
staging="radicle-$target"
mkdir -p "$staging/debug"
cargo build --target "$target" --bin git-remote-rad
cp target/"$target"/debug/git-remote-rad "$staging"/debug/
cargo build --target="$target" --bin rad
cp target/"$target"/debug/rad "$staging"/debug/
tar czf "$staging-debug.tar.gz" "$staging"/debug
cp "$staging-debug.tar.gz" "$staging"/debug/
}
main "$@"

View File

@ -1,64 +0,0 @@
#!/bin/sh
set -e
# Attempt to install `asciidoctor` on Debian, Arch Linux and MacOS.
install() {
os="$(uname)"
case "$os" in
Linux)
if command -v apt-get >/dev/null 2>&1; then
# Debian
apt-get update
apt-get install -y asciidoctor
elif command -v pacman >/dev/null 2>&1; then
# Arch Linux
pacman -Sy --noconfirm asciidoctor
fi ;;
Darwin) # MacOS
if command -v brew >/dev/null 2>&1; then
brew install asciidoctor
fi ;;
*)
echo "fatal: unknown operating system: $os"
exit 1 ;;
esac
}
main () {
if [ $# -ne 1 ]; then
echo "$#: Wrong number of arguments"
exit 1
fi
if ! command -v asciidoctor >/dev/null 2>&1; then
install
fi
target="$1"
rustup target add "$target"
staging="radicle-$target"
mkdir -p "$staging"
cargo build --target="$target" --package=radicle-httpd --release
cp target/"$target"/release/radicle-httpd "$staging"/
cp target/"$target"/release/rad-web "$staging"/
cargo build --target="$target" --package=radicle-node --release
cp target/"$target"/release/radicle-node "$staging"/
cargo build --target="$target" --bin rad --release
cp target/"$target"/release/rad "$staging"/
cargo build --target="$target" --bin git-remote-rad --release
cp target/"$target"/release/git-remote-rad "$staging"/
scripts/build-man-pages.sh "$staging" $(find . -name '*.1.adoc')
tar czf "$staging.tar.gz" "$staging"
cp "$staging.tar.gz" "$staging"/
}
main "$@"

View File

@ -1,90 +0,0 @@
name: Release
on:
push:
branches: [master, release/*]
jobs:
release-linux-binaries:
permissions:
contents: 'read'
id-token: 'write'
runs-on: ubuntu-20.04
strategy:
matrix:
target: [x86_64-unknown-linux-musl, aarch64-unknown-linux-musl]
include:
- target: x86_64-unknown-linux-musl
docker_image: registry.gitlab.com/rust_musl_docker/image:stable-latest
docker_options: -v /home/runner/work/heartwood/heartwood:/workdir -v /home/runner/.cargo/git:/root/.cargo/git -v /home/runner/.cargo/registry:/root/.cargo/registry
- target: aarch64-unknown-linux-musl
docker_image: messense/rust-musl-cross:aarch64-musl
docker_options: -v /home/runner/work/heartwood/heartwood:/home/rust/src -v /home/runner/.cargo/git:/root/.cargo/git -v /home/runner/.cargo/registry:/root/.cargo/registry
steps:
- name: Checkout source code
uses: actions/checkout@v4
- name: Get tags
run: git fetch --prune --unshallow --tags origin
- name: Configure build cache
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: cargo-${{ matrix.target }}-${{ hashFiles('**/Cargo.lock') }}
- name: Build the binaries
uses: addnab/docker-run-action@v3
with:
image: ${{ matrix.docker_image }}
options: ${{ matrix.docker_options }}
run: .github/workflows/build.bash "${{ matrix.target }}"
- name: Build the debug binaries
uses: addnab/docker-run-action@v3
with:
image: ${{ matrix.docker_image }}
options: ${{ matrix.docker_options }}
run: .github/workflows/build-debug.bash "${{ matrix.target }}"
- run: .github/workflows/upload.bash "${{ matrix.target }}" "${{ github.sha }}"
env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
release-macos-binaries:
permissions:
contents: 'read'
id-token: 'write'
runs-on: macos-11
strategy:
matrix:
target:
- aarch64-apple-darwin
- x86_64-apple-darwin
steps:
- uses: actions/checkout@v4
- name: Get tags
run: git fetch --prune --unshallow --tags origin
- name: Configure build cache
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: cargo-${{ matrix.target }}-${{ hashFiles('**/Cargo.lock') }}
- uses: dtolnay/rust-toolchain@stable
- name: Build the release binaries
run: .github/workflows/build.bash "${{ matrix.target }}"
- name: Build the debug binaries
run: .github/workflows/build-debug.bash "${{ matrix.target }}"
- run: .github/workflows/upload.bash "${{ matrix.target }}" "${{ github.sha }}"
env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
update-latest-symlink:
needs: [release-linux-binaries, release-macos-binaries]
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- run: .github/workflows/update-latest-symlink.sh "${{ github.sha }}"
env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}

View File

@ -1,27 +0,0 @@
#!/bin/sh
set -o errexit
set -o nounset
remotely() {
ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i ssh-private-key github-actions@files.radicle.xyz "$@"
}
main () {
if [ $# -ne 1 ]; then
echo "$#: Wrong number of arguments"
return 1
fi
target="x86_64-unknown-linux-musl"
sha=$1
trap 'rm -f ssh-private-key' EXIT
echo "$SSH_PRIVATE_KEY" > ssh-private-key
chmod go-rwx ssh-private-key
remotely "/mnt/radicle/releases/${sha}/${target}/rad version --json > /mnt/radicle/releases/${sha}/version.json"
remotely ln -snf "/mnt/radicle/releases/${sha}" "/mnt/radicle/releases/latest"
}
main "$@"

View File

@ -1,22 +0,0 @@
#!/bin/bash
set -o errexit
set -o nounset
set -o pipefail
main () {
if [[ $# -ne 2 ]]; then
echo "$#: Wrong number of arguments"
return 1
fi
local target=$1
local sha=$2
echo "$SSH_PRIVATE_KEY" >ssh-private-key
chmod go-rwx ssh-private-key
ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i ssh-private-key github-actions@files.radicle.xyz mkdir -p "/mnt/radicle/releases/$sha/$target/debug"
scp -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -i ssh-private-key -r radicle-$target/* "github-actions@files.radicle.xyz:/mnt/radicle/releases/$sha/$target"
}
main "$@"