Skip to content

Commit a62bc0e

Browse files
committed
Add VERSION file to release artifacts and setup script
- GitHub Actions: Create VERSION file with build metadata (commit, timestamp, branch, etc.) - Include VERSION file in GitHub release artifacts for traceability - Setup script: Download VERSION file and display version information - Allows users to verify installed version and check for updates on GCE VMs
1 parent 0398ce4 commit a62bc0e

File tree

2 files changed

+43
-0
lines changed

2 files changed

+43
-0
lines changed

.github/workflows/build-binaries.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,22 @@ jobs:
8585
cp out/arrakis-guestrootfs-ext4.img.tar.gz release-artifacts/
8686
cp config.yaml release-artifacts/
8787
88+
- name: Create VERSION file
89+
run: |
90+
echo "Creating VERSION file with build metadata..."
91+
echo "VERSION=release-${{ github.run_number }}" > release-artifacts/VERSION
92+
echo "COMMIT=${{ github.sha }}" >> release-artifacts/VERSION
93+
echo "COMMIT_SHORT=$(echo ${{ github.sha }} | cut -c1-8)" >> release-artifacts/VERSION
94+
echo "BUILD_TIME=$(date -u +%Y-%m-%dT%H:%M:%SZ)" >> release-artifacts/VERSION
95+
echo "BRANCH=${{ github.ref_name }}" >> release-artifacts/VERSION
96+
echo "BUILD_ID=${{ github.run_id }}" >> release-artifacts/VERSION
97+
echo "BUILD_NUMBER=${{ github.run_number }}" >> release-artifacts/VERSION
98+
echo "WORKFLOW=${{ github.workflow }}" >> release-artifacts/VERSION
99+
echo "ACTOR=${{ github.actor }}" >> release-artifacts/VERSION
100+
echo ""
101+
echo "VERSION file contents:"
102+
cat release-artifacts/VERSION
103+
88104
- name: Upload artifacts
89105
uses: actions/upload-artifact@v4
90106
with:
@@ -110,6 +126,7 @@ jobs:
110126
release-artifacts/initramfs.cpio.gz
111127
release-artifacts/arrakis-guestrootfs-ext4.img.tar.gz
112128
release-artifacts/config.yaml
129+
release-artifacts/VERSION
113130
generate_release_notes: true
114131
env:
115132
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

setup/setup.sh

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,32 @@ download_file "$RELEASE_URL/initramfs.cpio.gz" "$OUT_DIR/initramfs.cpio.gz" "Ini
9090
# Download config.yaml
9191
download_file "$RELEASE_URL/config.yaml" "$CONFIG_FILE" "Configuration file"
9292

93+
# Download VERSION file
94+
download_file "$RELEASE_URL/VERSION" "$ARRAKIS_DIR/VERSION" "Version information file"
95+
96+
# Function to display version information
97+
display_version_info() {
98+
local version_file="$ARRAKIS_DIR/VERSION"
99+
100+
if [ -f "$version_file" ]; then
101+
print_message "Installed Arrakis Version Information:"
102+
echo -e "${GREEN}================================${NC}"
103+
while IFS='=' read -r key value; do
104+
if [ -n "$key" ] && [ -n "$value" ]; then
105+
printf "${YELLOW}%-15s${NC}: %s\n" "$key" "$value"
106+
fi
107+
done < "$version_file"
108+
echo -e "${GREEN}================================${NC}"
109+
echo ""
110+
print_message "To check if you have the latest version, compare this with:"
111+
print_message "https://github.com/abshkbh/arrakis/releases/latest"
112+
else
113+
print_warning "VERSION file not found. Version information unavailable."
114+
fi
115+
}
116+
117+
# Display version information
118+
display_version_info
93119

94120
# Download install-images.py
95121
print_message "Downloading install-images.py script..."

0 commit comments

Comments
 (0)