Skip to content

Commit

Permalink
update: scripts builds
Browse files Browse the repository at this point in the history
  • Loading branch information
alvarorichard committed Nov 24, 2024
1 parent 62f47e1 commit 0f638ff
Show file tree
Hide file tree
Showing 3 changed files with 71 additions and 41 deletions.
22 changes: 16 additions & 6 deletions build/buildlinux.sh
Original file line number Diff line number Diff line change
@@ -1,13 +1,18 @@



#!/bin/bash

# Exit immediately if a command exits with a non-zero status
set -e

# Variables
OUTPUT_DIR="../build" # Adjusted to place the binary in the build directory
BINARY_NAME="goanime"
BINARY_NAME="goanime-linux"
BINARY_PATH="$OUTPUT_DIR/$BINARY_NAME"
CHECKSUM_FILE="$OUTPUT_DIR/$BINARY_NAME.sha256"
TARBALL_NAME="$BINARY_NAME.tar.gz"
TARBALL_PATH="$OUTPUT_DIR/$TARBALL_NAME"
CHECKSUM_FILE="$TARBALL_PATH.sha256"
MAIN_PACKAGE="../cmd/goanime"

# Create the output directory if it doesn't exist
Expand All @@ -27,13 +32,18 @@ else
echo "UPX not found. Skipping compression."
fi

# Generate SHA256 checksum
echo "Generating SHA256 checksum..."
# Create tarball
echo "Creating tarball..."
tar -czf "$TARBALL_PATH" -C "$OUTPUT_DIR" "$BINARY_NAME"
echo "Tarball created: $TARBALL_PATH"

# Generate SHA256 checksum for the tarball
echo "Generating SHA256 checksum for the tarball..."
# Check if sha256sum exists, else use shasum
if command -v sha256sum >/dev/null 2>&1; then
sha256sum "$BINARY_PATH" > "$CHECKSUM_FILE"
sha256sum "$TARBALL_PATH" > "$CHECKSUM_FILE"
elif command -v shasum >/dev/null 2>&1; then
shasum -a 256 "$BINARY_PATH" > "$CHECKSUM_FILE"
shasum -a 256 "$TARBALL_PATH" > "$CHECKSUM_FILE"
else
echo "Neither sha256sum nor shasum is available. Cannot generate checksum."
exit 1
Expand Down
67 changes: 38 additions & 29 deletions build/buildmacos.sh
Original file line number Diff line number Diff line change
@@ -1,44 +1,53 @@




#!/bin/bash

# Sai imediatamente se um comando falhar
# Exit immediately if a command exits with a non-zero status
set -e

# Variáveis
OUTPUT_DIR="../build"
BINARY_NAME="goanime"
# Variables
OUTPUT_DIR="../build" # Adjusted to place the binary in the build directory
BINARY_NAME="goanime-apple-darwin"
BINARY_PATH="$OUTPUT_DIR/$BINARY_NAME"
CHECKSUM_FILE="$OUTPUT_DIR/$BINARY_NAME.sha256"
TARBALL_NAME="$BINARY_NAME.tar.gz"
TARBALL_PATH="$OUTPUT_DIR/$TARBALL_NAME"
CHECKSUM_FILE="$TARBALL_PATH.sha256"
MAIN_PACKAGE="../cmd/goanime"

# Detecta a arquitetura
ARCH=$(uname -m)
if [ "$ARCH" == "x86_64" ]; then
GOARCH=amd64
elif [ "$ARCH" == "arm64" ]; then
GOARCH=arm64
else
echo "Arquitetura não suportada: $ARCH"
exit 1
fi

# Cria o diretório de saída se não existir
# Create the output directory if it doesn't exist
mkdir -p "$OUTPUT_DIR"

echo "Compilando o binário goanime para macOS ($GOARCH)..."
CGO_ENABLED=0 GOOS=darwin GOARCH=$GOARCH go build -o "$BINARY_PATH" -ldflags="-s -w" -trimpath "$MAIN_PACKAGE"
echo "Building the goanime binary for macOS..."
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o "$BINARY_PATH" -ldflags="-s -w" -trimpath "$MAIN_PACKAGE"

echo "Build completed: $BINARY_PATH"

echo "Compilação concluída: $BINARY_PATH"
# Check if UPX is installed
if command -v upx >/dev/null 2>&1; then
echo "Compressing the binary with UPX..."
upx --best --ultra-brute "$BINARY_PATH"
echo "Compression completed."
else
echo "UPX not found. Skipping compression."
fi

# Gera o checksum SHA256
echo "Gerando checksum SHA256..."
if command -v sha256sum >/dev/null 2>&1; then
sha256sum "$BINARY_PATH" > "$CHECKSUM_FILE"
elif command -v shasum >/dev/null 2>&1; then
shasum -a 256 "$BINARY_PATH" > "$CHECKSUM_FILE"
# Create tarball
echo "Creating tarball..."
tar -czf "$TARBALL_PATH" -C "$OUTPUT_DIR" "$BINARY_NAME"
echo "Tarball created: $TARBALL_PATH"

# Generate SHA256 checksum for the tarball
echo "Generating SHA256 checksum for the tarball..."
if command -v shasum >/dev/null 2>&1; then
shasum -a 256 "$TARBALL_PATH" > "$CHECKSUM_FILE"
elif command -v openssl >/dev/null 2>&1; then
openssl dgst -sha256 "$TARBALL_PATH" | awk '{print $2}' > "$CHECKSUM_FILE"
else
echo "Nem sha256sum nem shasum estão disponíveis. Não é possível gerar o checksum."
echo "Neither shasum nor openssl is available. Cannot generate checksum."
exit 1
fi
echo "Checksum gerado: $CHECKSUM_FILE"
echo "Checksum generated: $CHECKSUM_FILE"

echo "Script de build concluído com sucesso."
echo "Build script completed successfully."
23 changes: 17 additions & 6 deletions build/buildwindows.sh
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@


#!/bin/bash

# Sai imediatamente se um comando falhar
Expand All @@ -7,7 +9,9 @@ set -e
OUTPUT_DIR="../build" # Diretório de saída para o binário e checksum
BINARY_NAME="goanime.exe" # Nome do binário para Windows
BINARY_PATH="$OUTPUT_DIR/$BINARY_NAME"
CHECKSUM_FILE="$OUTPUT_DIR/$BINARY_NAME.sha256"
ZIP_NAME="goanime-windows.zip"
ZIP_PATH="$OUTPUT_DIR/$ZIP_NAME"
CHECKSUM_FILE="$ZIP_PATH.sha256"
MAIN_PACKAGE="../cmd/goanime"

# Detecta a arquitetura
Expand Down Expand Up @@ -38,14 +42,21 @@ else
echo "UPX não encontrado. Pulando compressão."
fi

# Gera o checksum SHA256
echo "Gerando checksum SHA256..."
# Cria arquivo ZIP
echo "Criando arquivo ZIP..."
zip -j "$ZIP_PATH" "$BINARY_PATH"
echo "Arquivo ZIP criado: $ZIP_PATH"

# Gera o checksum SHA256 para o arquivo ZIP
echo "Gerando checksum SHA256 para o arquivo ZIP..."
if command -v sha256sum >/dev/null 2>&1; then
sha256sum "$BINARY_PATH" > "$CHECKSUM_FILE"
sha256sum "$ZIP_PATH" > "$CHECKSUM_FILE"
elif command -v shasum >/dev/null 2>&1; then
shasum -a 256 "$BINARY_PATH" > "$CHECKSUM_FILE"
shasum -a 256 "$ZIP_PATH" > "$CHECKSUM_FILE"
elif command -v openssl >/dev/null 2>&1; then
openssl dgst -sha256 "$ZIP_PATH" | awk '{print $2}' > "$CHECKSUM_FILE"
else
echo "Nem sha256sum nem shasum estão disponíveis. Não é possível gerar o checksum."
echo "Nem sha256sum, shasum ou openssl estão disponíveis. Não é possível gerar o checksum."
exit 1
fi
echo "Checksum gerado: $CHECKSUM_FILE"
Expand Down

0 comments on commit 0f638ff

Please sign in to comment.