Add GitHub Actions workflows with Ubuntu 24.04 and Tcl 9.0 compilation#7
Conversation
Co-authored-by: go-while <137838162+go-while@users.noreply.github.com>
Co-authored-by: go-while <137838162+go-while@users.noreply.github.com>
|
@copilot update container to use 24.04 or 25.04 and add compile tcl 9.0 from source: |
Co-authored-by: go-while <137838162+go-while@users.noreply.github.com>
... Updated the container to use Ubuntu 24.04 and added compilation of Tcl 9.0.2 from source using the provided URL. The container now includes:
Changes implemented in commit 5251c89. |
|
@copilot
... should not be needed any more since you compile from source? please review the build-and-publish.yml again. |
Co-authored-by: go-while <137838162+go-while@users.noreply.github.com>
... You're absolutely right! I removed the redundant Changes made in commit ce217e1:
|
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
@copilot |
…em packages Co-authored-by: go-while <137838162+go-while@users.noreply.github.com>
You're absolutely right! Updated debug.yml to compile Tcl 9.0.2 from source instead of installing the conflicting system packages ( Changes in commit a4c0b99:
|
There was a problem hiding this comment.
Pull Request Overview
This PR introduces a comprehensive CI/CD pipeline using GitHub Actions to automate building, testing, and publishing of the Newsgrouper project with modern Ubuntu 24.04 infrastructure and native Tcl 9.0 compilation.
Key changes:
- CI/CD automation with three distinct workflows for testing, building/publishing, and debugging
- Tcl 9.0 source compilation replacing dependency on outdated system packages
- Container publishing to GitHub Container Registry with proper security practices
Reviewed Changes
Copilot reviewed 4 out of 5 changed files in this pull request and generated 3 comments.
| File | Description |
|---|---|
.github/workflows/test.yml |
Lightweight PR validation workflow with Tcl syntax checking and project structure verification |
.github/workflows/debug.yml |
Manual debugging workflow with advanced Tcl testing and artifact collection |
.github/workflows/build-and-publish.yml |
Main CI/CD pipeline for building, testing, containerizing, and releasing the application |
.github/workflows/README.md |
Documentation explaining workflow purposes, triggers, and usage patterns |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
@copilot |
…m packages Co-authored-by: go-while <137838162+go-while@users.noreply.github.com>
Updated test.yml to compile Tcl 9.0.2 from source and removed conflicting system Tcl package installations (tcl, tcl-dev, tcllib, tk, tcl-tls). Now all workflows consistently use the same Tcl 9.0 compilation approach and Ubuntu 24.04. Changes in commit a566dff. |
This PR implements a comprehensive CI/CD pipeline for the Newsgrouper project using GitHub Actions with modern infrastructure and native Tcl 9.0 support.
Key Features
Container Infrastructure
CI/CD Workflows
Build and Publish (
build-and-publish.yml):ghcr.io/go-while/newsgrouper)Test Workflow (
test.yml):Debug Workflow (
debug.yml):Container Images
Published images include:
ghcr.io/go-while/newsgrouper:main(latest main branch)ghcr.io/go-while/newsgrouper:v1.0.0(tagged releases)All workflows consistently compile Tcl 9.0.2 from source with proper dependency isolation. The build process specifically avoids installing system Tcl packages (
tcl,tcl-dev,tcllib,tk,tcl-tls) that are designed for Tcl 8.6.x and could conflict with the compiled Tcl 9.0.Security & Best Practices
.gitignorefor clean repository managementFixes #6.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.