Skip to content

Commit 9bf67ec

Browse files
Remove Windows support from CI/CD pipeline
- Remove Windows from test matrix in CI workflow - Remove Windows binary builds from release workflow - Simplify platform-specific tests to only Unix systems - Update documentation to reflect Linux and macOS only support This simplifies the pipeline and avoids Windows-specific Crystal issues.
1 parent 31cde71 commit 9bf67ec

File tree

3 files changed

+10
-50
lines changed

3 files changed

+10
-50
lines changed

.github/README.md

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# GitHub Actions CI/CD Setup
22

3-
This directory contains the GitHub Actions workflows for the Amber CLI project, providing comprehensive continuous integration and deployment across all major operating systems.
3+
This directory contains the GitHub Actions workflows for the Amber CLI project, providing comprehensive continuous integration and deployment for Linux and macOS.
44

55
## Workflows
66

@@ -11,7 +11,7 @@ This directory contains the GitHub Actions workflows for the Amber CLI project,
1111
**Purpose:** Ensures code quality and compatibility across platforms
1212

1313
**Jobs:**
14-
- **test**: Runs on Ubuntu, macOS, and Windows
14+
- **test**: Runs on Ubuntu and macOS
1515
- Installs Crystal using platform-specific methods
1616
- Caches shard dependencies for faster builds
1717
- Checks code formatting with `crystal tool format`
@@ -35,7 +35,7 @@ This directory contains the GitHub Actions workflows for the Amber CLI project,
3535

3636
**Features:**
3737
- Builds static binaries for Linux (fully portable)
38-
- Builds optimized binaries for macOS and Windows
38+
- Builds optimized binaries for macOS
3939
- Automatically creates GitHub releases with binaries attached
4040
- Generates release notes automatically
4141

@@ -58,10 +58,7 @@ This directory contains the GitHub Actions workflows for the Amber CLI project,
5858
- Installs Crystal via Homebrew
5959
- Builds standard dynamic binaries
6060

61-
### Windows (Windows Latest)
62-
- Installs Crystal via Chocolatey
63-
- Uses PowerShell for Windows-specific commands
64-
- Some CLI tests use `continue-on-error` due to potential Windows-specific issues
61+
6562

6663
## Caching Strategy
6764

@@ -90,7 +87,6 @@ You can trigger the release workflow manually from the GitHub Actions tab for te
9087
### Common Issues
9188
1. **Crystal installation fails**: Usually due to temporary network issues or package manager problems
9289
2. **Shard installation fails**: Often due to missing system dependencies
93-
3. **Windows-specific failures**: Crystal on Windows can be less stable; some tests use `continue-on-error`
9490

9591
### Debugging
9692
- Check the Actions tab in your GitHub repository for detailed logs

.github/workflows/ci.yml

Lines changed: 4 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
strategy:
1313
fail-fast: false
1414
matrix:
15-
os: [ubuntu-latest, macos-latest, windows-latest]
15+
os: [ubuntu-latest, macos-latest]
1616
crystal: [latest]
1717
include:
1818
- os: ubuntu-latest
@@ -21,9 +21,6 @@ jobs:
2121
- os: macos-latest
2222
crystal-install: |
2323
brew install crystal
24-
- os: windows-latest
25-
crystal-install: |
26-
choco install crystal
2724
2825
name: Test on ${{ matrix.os }} with Crystal ${{ matrix.crystal }}
2926

@@ -43,12 +40,7 @@ jobs:
4340
brew install crystal
4441
crystal version
4542
46-
- name: Install Crystal (Windows)
47-
if: matrix.os == 'windows-latest'
48-
run: |
49-
choco install crystal -y
50-
crystal version
51-
shell: powershell
43+
5244
5345
- name: Cache shards
5446
uses: actions/cache@v4
@@ -93,7 +85,7 @@ jobs:
9385
runs-on: ${{ matrix.os }}
9486
strategy:
9587
matrix:
96-
os: [ubuntu-latest, macos-latest, windows-latest]
88+
os: [ubuntu-latest, macos-latest]
9789

9890
name: Platform-specific tests on ${{ matrix.os }}
9991
needs: test
@@ -112,31 +104,15 @@ jobs:
112104
run: |
113105
brew install crystal
114106
115-
- name: Install Crystal (Windows)
116-
if: matrix.os == 'windows-latest'
117-
run: |
118-
choco install crystal -y
119-
shell: powershell
120-
121107
- name: Install dependencies
122108
run: shards install
123109

124-
- name: Test CLI functionality (Unix)
125-
if: matrix.os != 'windows-latest'
110+
- name: Test CLI functionality
126111
run: |
127112
crystal build src/amber_cli.cr -o amber_cli
128113
./amber_cli --help || true
129114
./amber_cli --version || true
130115
131-
- name: Test CLI functionality (Windows)
132-
if: matrix.os == 'windows-latest'
133-
run: |
134-
crystal build src/amber_cli.cr -o amber_cli.exe
135-
.\amber_cli.exe --help
136-
.\amber_cli.exe --version
137-
shell: powershell
138-
continue-on-error: true
139-
140116
# Job to run integration tests
141117
integration:
142118
runs-on: ubuntu-latest

.github/workflows/release.yml

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,6 @@ jobs:
2020
target: macos
2121
binary_name: amber_cli
2222
build_cmd: crystal build src/amber_cli.cr --release -o amber_cli-macos
23-
- os: windows-latest
24-
target: windows
25-
binary_name: amber_cli.exe
26-
build_cmd: crystal build src/amber_cli.cr --release -o amber_cli-windows.exe
2723

2824
name: Build for ${{ matrix.target }}
2925

@@ -41,11 +37,7 @@ jobs:
4137
run: |
4238
brew install crystal
4339
44-
- name: Install Crystal (Windows)
45-
if: matrix.os == 'windows-latest'
46-
run: |
47-
choco install crystal -y
48-
shell: powershell
40+
4941
5042
- name: Cache shards
5143
uses: actions/cache@v4
@@ -72,10 +64,7 @@ jobs:
7264
if: matrix.os == 'macos-latest'
7365
run: crystal build src/amber_cli.cr --release -o amber_cli-macos
7466

75-
- name: Build binary (Windows)
76-
if: matrix.os == 'windows-latest'
77-
run: crystal build src/amber_cli.cr --release -o amber_cli-windows.exe
78-
shell: powershell
67+
7968

8069
- name: Upload artifacts
8170
uses: actions/upload-artifact@v4
@@ -101,7 +90,6 @@ jobs:
10190
files: |
10291
binaries-linux/amber_cli-linux
10392
binaries-macos/amber_cli-macos
104-
binaries-windows/amber_cli-windows.exe
10593
generate_release_notes: true
10694
env:
10795
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)