Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
d3ffb8b
Updates default repo URL in install.py (#325) (#326)
maqeel75 Jun 5, 2025
3c9bcc5
Enhance build_to_devel.sh to support spock daily builds alongside sta…
hayee-bhatti Jun 12, 2025
f7ac95a
Enhance env.sh and make_tgz.sh to integrate with recent build_to_deve…
hayee-bhatti Jun 12, 2025
65f5bae
Renaming/updating the existing daily builds workflows for amd/arm
hayee-bhatti Jun 12, 2025
89071a6
Add current-mode workflows for pgEdge platform to produce in-dev Spock
hayee-bhatti Jun 12, 2025
7eaee4f
Updating the workflows to reflect the new cli branches v25_STABLE and…
hayee-bhatti Jun 13, 2025
5786f55
Fixing an issue with the script name (#331)
hayee-bhatti Jun 13, 2025
cd376e5
remove static pages gh action (#334)
mmols Jun 18, 2025
6258799
Workflow branch and execution time adjustments (#336)
hayee-bhatti Jun 18, 2025
0b28a7f
[BR-81]: Update 10-toolset.sh to install new build dependency for spo…
maqeel75 Jun 19, 2025
cd41065
Bumped pgV build numbers to -2 to include a new dependency
hayee-bhatti Jun 19, 2025
26a8f7c
Fixed a PG server version for spock50-pg15 in versions.sql
hayee-bhatti Jun 23, 2025
cd59123
Support custom data directory via pg_data flag (#324)
asifnaeem Jun 25, 2025
040fce3
Use Merkle trees in ACE (#253)
pct960 Jun 25, 2025
4d23c3c
bump version to 25.1.0 (#338)
mmols Jun 26, 2025
898073f
Spock 5 integration
moizpgedge Jun 30, 2025
32d5233
function duplication removed from util.py
moizpgedge Jun 30, 2025
7c518dd
support --rm-data if custom data directory is in use (#340)
mmols Jun 30, 2025
7b5e0a5
Merge pull request #342 from pgEdge/feature/PLAT-92/Spock5-integeration
moizpgedge Jul 1, 2025
6d12a4e
Pg17 is default
moizpgedge Jul 1, 2025
4a54bc6
build_all.sh default pg17
moizpgedge Jul 1, 2025
de73d66
Merge pull request #344 from pgEdge/feature/PLAT-118/pg-17-default
moizpgedge Jul 1, 2025
02c13d0
fix: db guc set supports quoted params\n Adds an extra set of quotati…
Jul 1, 2025
8db8b9a
spock5 issue with regression test
moizpgedge Jul 2, 2025
3999e45
Merge pull request #348 from pgEdge/feature/PLAT-92/Spock5-integeration
moizpgedge Jul 2, 2025
584e593
pg1-host issue resolved
moizpgedge Jul 2, 2025
c7c492e
fix: db guc set supports quoted params
Jul 3, 2025
844ea41
json-create supports hostnames node config
Jul 3, 2025
87a36a5
pg1-host remove from install-backrest module
moizpgedge Jul 8, 2025
e4b15ac
Merge pull request #349 from pgEdge/fix/PLAT-47/pgBackrest_host_issue
moizpgedge Jul 8, 2025
cd0a520
fix: appropriate error caught invalid host/ip
Jul 8, 2025
728afb1
Merge pull request #345 from pgEdge/fix/PLAT-44/db-guc-set-quoted-params
GabriellePoncey Jul 8, 2025
f20c9ba
[SPOC-84]: Updates spock versions
maqeel75 Jul 15, 2025
5da69ca
[BR-86]: Updates script to copy artifacts in devel subdirectory (#351)
maqeel75 Jul 15, 2025
f3d85a4
Merge pull request #350 from pgEdge/fix/PLAT-131/json-create-allows-h…
GabriellePoncey Jul 15, 2025
e00e69b
spock module command fixes (#354)
mmols Jul 21, 2025
f8436d6
add validation to um install for spock5 upgrade (#356)
moizpgedge Jul 23, 2025
a32a41b
update python deps minor versions (#355)
mmols Jul 25, 2025
96cff32
PLAT-184 remove an unused dependency
hayee-bhatti Jul 30, 2025
7dc6f85
PLAT-192 Bump ctlibs version to 1.7
hayee-bhatti Jul 30, 2025
4753c68
Merge pull request #360 from pgEdge/ace/datatype-fix
pct960 Aug 1, 2025
5ba9c8f
[BR-158]: Introduce spock60 builds in CLI (#362)
hayee-bhatti Aug 1, 2025
2c9f16f
move install url to downloads.pgedge.com (#361)
mmols Aug 4, 2025
669efab
Bump backrest version to 2.56.0 (#363)
maqeel75 Aug 5, 2025
89e6251
escape seq issue solved
moizpgedge Jul 30, 2025
d906f1b
Update init-pgXX.py
moizpgedge Jul 30, 2025
b581a59
pass datadir as quoted
mmols Aug 5, 2025
97c9e23
bump version to 25.2.0 (#364)
mmols Aug 6, 2025
1724b1f
Merge pull request #359 from pgEdge/fix/PLAT-177/-pgdata-support-with…
moizpgedge Aug 6, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
272 changes: 272 additions & 0 deletions .github/workflows/current-amd8-daily-build-devel.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,272 @@
name: Current Daily Build Devel - amd8

# Define default environment variables for carrying defaults at the top for easy modification
env:
DEFAULT_CLI_BRANCH: "main" # Default CLI branch for scheduled runs
DEFAULT_MODE: "current" # Always "current" for this workflow
DEFAULT_COMPONENT: "spock60" # Default spock component name
DEFAULT_BRANCH: "main" # Default branch for the spock component
DEFAULT_CLEAN_FLAG: "false" # Default clean flag for scheduled runs

# Triggers: Scheduled at 12:00 AM UTC and manual workflow dispatch
on:
workflow_dispatch:
inputs:
cli_branch:
description: "Select the CLI branch to build from (e.g. main)"
required: true
default: "main"
type: choice
options:
- main
- v25_STABLE
- REL24_10

component:
description: "Spock in-dev component to additionally build (e.g. spock60)"
required: true
default: "spock60"
type: string

branch:
description: "Branch to use for spock component (e.g. main)"
required: true
default: "main"
type: string

prefix_selector:
description: "Choose S3 subdirectory strategy (default: MMDD, or custom)"
required: true
default: "default"
type: choice
options:
- default
- custom

custom_prefix:
description: "If 'custom' selected above, provide sub-directory name"
required: false
type: string

clean_prefix:
description: "Clean the repo sub-directory before copying packages"
required: false
type: choice
options:
- "false"
- "true"
default: "false"

schedule:
- cron: "40 23 * * *" # 11:40 PM UTC.

jobs:
build-current-amd8:
runs-on: [self-hosted, amd8]

steps:
# Resolve parameters (scheduled vs manual) and set up timestamped log directory
- name: Set build parameters and logfile
id: vars
run: |
source ~/.bashrc

echo "Resolving build parameters for CURRENT mode workflow..."

TODAY=$(date +%m%d)
RUNNER_NAME="${{ runner.name }}"

# Create timestamped log directory with mmddhhmmss format
TIMESTAMP=$(date +%m%d%H%M%S)
LOG_DIR="/tmp/current-build-$TIMESTAMP"
mkdir -p "$LOG_DIR"
echo "Created log directory: $LOG_DIR"

# Determine parameters based on trigger type
if [[ "${{ github.event_name }}" == "schedule" ]]; then
# Scheduled run: use defaults
PREFIX="$TODAY"
CLEAN_FLAG=""
SELECTED_CLI_BRANCH="${DEFAULT_CLI_BRANCH}"
COMPONENT="${DEFAULT_COMPONENT}"
BRANCH="${DEFAULT_BRANCH}"
echo "Scheduled run: Prefix=$PREFIX, Component=$COMPONENT, Branch=$BRANCH, Clean flag not set, CLI Branch=$SELECTED_CLI_BRANCH"

else
# Manual run: process inputs
if [[ "${{ inputs.prefix_selector }}" == "default" ]]; then
PREFIX="$TODAY"
echo "Manual run: Using default prefix: $PREFIX"
else
# Custom prefix validation
if [[ "${{ inputs.prefix_selector }}" == "custom" && -z "${{ inputs.custom_prefix }}" ]]; then
echo "Error: Custom prefix selected but no input provided."
exit 1
fi
PREFIX="${{ inputs.custom_prefix }}"
echo "Manual run: Using custom prefix: $PREFIX"
fi

# Clean flag handling
if [[ "${{ inputs.clean_prefix }}" == "true" ]]; then
CLEAN_FLAG="-x"
echo "Clean flag is enabled"
else
CLEAN_FLAG=""
echo "Clean flag is disabled"
fi

SELECTED_CLI_BRANCH="${{ inputs.cli_branch }}"
COMPONENT="${{ inputs.component }}"
BRANCH="${{ inputs.branch }}"
echo "Manual run: Component=$COMPONENT, Branch=$BRANCH, CLI Branch=$SELECTED_CLI_BRANCH"
fi

# Set logfile path, matching stable workflow with "current" label
LOGFILE_NAME="build_to_devel_current-${RUNNER_NAME}-${TIMESTAMP}.log"
LOGFILE_PATH="$LOG_DIR/$LOGFILE_NAME"

# Export variables
echo "RUNNER_NAME=$RUNNER_NAME" >> $GITHUB_ENV
echo "MODE=${DEFAULT_MODE}" >> $GITHUB_ENV
echo "COMPONENT=$COMPONENT" >> $GITHUB_ENV
echo "BRANCH=$BRANCH" >> $GITHUB_ENV
echo "PREFIX=$PREFIX" >> $GITHUB_ENV
echo "CLEAN_FLAG=$CLEAN_FLAG" >> $GITHUB_ENV
echo "LOG_DIR=$LOG_DIR" >> $GITHUB_ENV
echo "LOGFILE_PATH=$LOGFILE_PATH" >> $GITHUB_ENV
echo "CLI_BRANCH=$SELECTED_CLI_BRANCH" >> $GITHUB_ENV

echo "Log file will be created at: $LOGFILE_PATH"

# Display the resolved configuration for debugging
- name: Show effective configuration
run: |
echo "=== CURRENT BUILD WORKFLOW CONFIGURATION ==="
echo "Runner: $RUNNER_NAME"
echo "Mode: $MODE"
echo "Component: $COMPONENT"
echo "Branch: $BRANCH"
echo "S3 Prefix: $PREFIX"
echo "Clean flag: $CLEAN_FLAG"
echo "Log directory: $LOG_DIR"
echo "Log file path: $LOGFILE_PATH"
echo "CLI branch: $CLI_BRANCH"
echo "=============================================="

# Verify environment details and switch to the specified CLI branch
- name: Confirm environment and switch CLI branch
id: cli_branch_checkout
run: |
source ~/.bashrc
echo "OS info:"
cat /etc/os-release
echo "Architecture:"
arch

echo "Navigating to CLI directory: $PGE"
cd $PGE

echo "Current branch and status:"
git branch
git status

echo "Stashing changes if any..."
git stash push -u -m "Temp stash for current build" || true

echo "Switching to branch: $CLI_BRANCH"
git checkout "$CLI_BRANCH" || true
echo "Branch checkout completed"

# Execute the build script and collect artifacts into src/ and bin/
- name: Run build and push to devel repo
id: build_to_devel
run: |
source ~/.bashrc

echo "Launching build script in CURRENT mode..."
cd $DEV

# Construct and run the build command
BUILD_CMD="./build_to_devel.sh -m $MODE -c $COMPONENT -b $BRANCH -d $PREFIX"
if [[ -n "$CLEAN_FLAG" ]]; then
BUILD_CMD="$BUILD_CMD $CLEAN_FLAG"
fi

echo "Executing: $BUILD_CMD"
$BUILD_CMD > "$LOGFILE_PATH" 2>&1
EXIT_CODE=$?

echo "Build finished with exit code: $EXIT_CODE"

# Collect artifacts into src/ and bin/
echo "Collecting source and binary artifacts..."
mkdir -p "$LOG_DIR/src" "$LOG_DIR/bin"

echo "Copying source files from $SOURCE/${COMPONENT}*"
if ls "$SOURCE/${COMPONENT}"* 1> /dev/null 2>&1; then
cp "$SOURCE/${COMPONENT}"* "$LOG_DIR/src/" 2>/dev/null || true
echo "Source files copied"
else
echo "No source files found"
fi

echo "Copying binaries from $IN/postgres/$COMPONENT/${COMPONENT}*"
if ls "$IN/postgres/$COMPONENT/${COMPONENT}"* 1> /dev/null 2>&1; then
cp "$IN/postgres/$COMPONENT/${COMPONENT}"* "$LOG_DIR/bin/" 2>/dev/null || true
echo "Binary files copied"
else
echo "No binary files found"
fi

# List collected artifacts
echo "=== COLLECTED ARTIFACTS ==="
ls -la "$LOG_DIR/"
ls -la "$LOG_DIR/src/" || echo "No source files"
ls -la "$LOG_DIR/bin/" || echo "No binary files"
echo "=========================="

if [[ $EXIT_CODE -ne 0 ]]; then
echo "Build failed. Artifacts collected for debugging."
exit $EXIT_CODE
fi

# Compress the log directory for artifact upload
- name: Compress log directory
if: always()
run: |
echo "Compressing log directory: $LOG_DIR"
cd "$(dirname "$LOG_DIR")"
tar -czf "${LOG_DIR}.tar.gz" "$(basename "$LOG_DIR")"
echo "Compressed archive created: ${LOG_DIR}.tar.gz"

# Upload the compressed log archive as an artifact
- name: Upload build log artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: current-build-log
path: ${{ env.LOG_DIR }}.tar.gz
if-no-files-found: warn

# Clean up historical build artifacts and temporary files
- name: Cleanup build artifacts
if: steps.build_to_devel.outcome == 'success'
continue-on-error: true
run: |
source ~/.bashrc

run_day=$(date +%j)
TARGET="$HIST/devel-$run_day"
echo "Cleaning up historical build directory: $TARGET"
if [ -d "$TARGET" ]; then
rm -rf "$TARGET"
echo "Removed $TARGET"
else
echo "No directory to clean"
fi

echo "Removing temporary log files..."
rm -rf "$LOG_DIR"
#rm -f "${LOG_DIR}.tar.gz" || true
echo "Cleanup completed"
Loading
Loading