Skip to content

Conversation

Copy link
Contributor

Copilot AI commented Nov 5, 2025

Replaces bash-based dependency installation in GitHub Actions workflows with the dependency-installer Rust binary (from #113). Removes obsolete bash scripts.

Changes

Updated 3 workflow files to use unified installation:

  • .github/workflows/test-e2e-provision.yml
  • .github/workflows/test-e2e-config.yml
  • .github/workflows/test-lxd-provision.yml
# Before: Multiple bash script calls
- name: Install and configure LXD
  run: ./scripts/setup/install-lxd-ci.sh
- name: Install OpenTofu
  run: ./scripts/setup/install-opentofu.sh

# After: Single binary invocation
- name: Install dependencies
  run: |
    cargo build -p torrust-dependency-installer --bin dependency-installer
    cargo run -p torrust-dependency-installer --bin dependency-installer -- install

Removed bash scripts from scripts/setup/:

  • install-lxd-ci.sh
  • install-opentofu.sh
  • install-ansible.sh

Updated scripts/setup/README.md with migration notice documenting the new approach.

Closes #119
Part of #112 (E2E test execution refactor)

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • 192.0.2.1
    • Triggering command: ssh -i /nonexistent/key -p 22 -o ConnectTimeout=5 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null testuser@192.0.2.1 echo 'SSH connected' (packet block)
    • Triggering command: ssh -i /nonexistent/key -p 22 -o StrictHostKeyChecking=no -o ConnectTimeout=5 -o UserKnownHostsFile=/dev/null testuser@192.0.2.1 echo 'SSH connected' (packet block)
  • get.opentofu.org
    • Triggering command: curl --proto =https --tlsv1.2 -fsSL REDACTED -o /tmp/install-opentofu.sh (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

This section details on the original issue you should resolve

<issue_title>Update CI Workflows and Remove Bash Scripts</issue_title>
<issue_description>Parent Epic: #112 - Refactor and Improve E2E Test Execution
Depends On: #113 - Create Dependency Installation Package for E2E Tests

Summary

Update GitHub Actions workflows to use the new dependency-installer binary instead of bash scripts, and remove the obsolete bash scripts from scripts/setup/. This completes the migration from bash-based dependency management to the Rust-based solution.

Objectives

  • Update all GitHub Actions workflows to use dependency-installer binary
  • Remove obsolete bash scripts from scripts/setup/
  • Update documentation to reference the new dependency installation method
  • Verify CI workflows pass with the new approach

Workflow Files to Update

The following 3 GitHub Actions workflow files need updates:

  1. .github/workflows/test-e2e-provision.yml

    • Currently uses: ./scripts/setup/install-lxd-ci.sh
    • Currently uses: ./scripts/setup/install-opentofu.sh
  2. .github/workflows/test-e2e-config.yml

    • Currently uses: ./scripts/setup/install-ansible.sh
  3. .github/workflows/test-lxd-provision.yml

    • Currently uses: ./scripts/setup/install-lxd-ci.sh
    • Currently uses: ./scripts/setup/install-opentofu.sh

Note: Other workflow files do NOT use bash scripts and do not need modification.

Workflow Changes

Update workflows to use the Rust binary:

- name: Install dependencies
  run: |
    cargo build --bin dependency-installer
    cargo run --bin dependency-installer install

Acceptance Criteria

  • Pre-commit checks pass
  • All 3 workflows updated to use dependency-installer
  • Bash scripts removed from scripts/setup/
  • CI workflows pass with new approach
  • Documentation updated

Time Estimate

2-4 hours

Specification

See detailed specification: docs/issues/119-1-3-update-ci-workflows-and-remove-bash-scripts.md</issue_description>

Comments on the Issue (you are @copilot in this section)


💡 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.

…ve bash scripts

Co-authored-by: josecelano <58816+josecelano@users.noreply.github.com>
Copilot AI changed the title [WIP] Update CI workflows to use dependency-installer Migrate CI workflows from bash scripts to Rust dependency-installer binary Nov 5, 2025
Copilot AI requested a review from josecelano November 5, 2025 19:50
Copilot finished work on behalf of josecelano November 5, 2025 19:50
Copy link
Member

@josecelano josecelano left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ACK 6986a72

@josecelano josecelano marked this pull request as ready for review November 5, 2025 20:14
@josecelano josecelano merged commit af0f8ef into main Nov 5, 2025
51 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update CI Workflows and Remove Bash Scripts

2 participants