Renamed variable name #102
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: E2E Tests on macOS | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
workflow_dispatch: | |
jobs: | |
test-e2e-macos: | |
runs-on: macos-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Set up Go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: '1.24' | |
- name: Build jfcm | |
run: | | |
make build-release | |
chmod +x jfcm | |
- name: Set up jfcm environment | |
run: | | |
echo "Setting up jfcm environment..." | |
# Install a test version | |
./jfcm install 2.74.0 | |
# Use the version to create the shim | |
./jfcm use 2.74.0 | |
# Add shim to PATH | |
echo "$HOME/.jfcm/shim" >> $GITHUB_PATH | |
# Verify shim is working | |
export PATH="$HOME/.jfcm/shim:$PATH" | |
which jf | |
jf --version | |
- name: Run E2E tests | |
env: | |
jfcm_PATH: ${{ github.workspace }}/jfcm | |
TEST_TIMEOUT: "10m" | |
run: | | |
export PATH="$HOME/.jfcm/shim:$PATH" | |
# Run core functionality tests | |
echo "Running core functionality tests..." | |
go test -v -timeout 10m ./tests/e2e/... -run "TestCoreVersionManagement" | |
# Run alias management tests | |
echo "Running alias management tests..." | |
go test -v -timeout 10m ./tests/e2e/... -run "TestAliasManagement" | |
# Run shim and PATH tests | |
echo "Running shim and PATH tests..." | |
go test -v -timeout 10m ./tests/e2e/... -run "TestShimAndPATH" | |
- name: Test enhanced priority system | |
env: | |
jfcm_PATH: ${{ github.workspace }}/jfcm | |
run: | | |
export PATH="$HOME/.jfcm/shim:$PATH" | |
# Install a test version | |
./jfcm install 2.74.0 | |
# Use the version | |
./jfcm use 2.74.0 | |
# Verify which jf is being used | |
which jf | |
# Test jf execution | |
jf --version | |
# Run health check to verify priority | |
./jfcm health-check --verbose | |
- name: Test health check with fixes | |
env: | |
jfcm_PATH: ${{ github.workspace }}/jfcm | |
run: | | |
export PATH="$HOME/.jfcm/shim:$PATH" | |
# Test health check with fix flag | |
./jfcm health-check --fix | |
# Verify PATH configuration | |
echo "PATH entries:" | |
echo $PATH | tr ':' '\n' | grep jfcm || echo "No jfcm entries found" | |
# Test which jf again | |
which jf | |
# Final health check | |
./jfcm health-check | |
- name: Test latest version functionality | |
env: | |
jfcm_PATH: ${{ github.workspace }}/jfcm | |
run: | | |
export PATH="$HOME/.jfcm/shim:$PATH" | |
# Test using latest version | |
./jfcm use latest | |
# Verify latest version is active | |
jf --version | |
# Check health status | |
./jfcm health-check | |
- name: Test performance and security checks | |
env: | |
jfcm_PATH: ${{ github.workspace }}/jfcm | |
run: | | |
export PATH="$HOME/.jfcm/shim:$PATH" | |
# Test health check with performance and security flags | |
./jfcm health-check --performance --security --verbose | |
- name: Upload test artifacts | |
if: always() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: e2e-test-results-macos | |
path: | | |
test-results-*.json | |
coverage-reports/ | |
retention-days: 7 |