Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Merge pull request #31 from jfrog/jfvm-binaries #91

Merge pull request #31 from jfrog/jfvm-binaries

Merge pull request #31 from jfrog/jfvm-binaries #91

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 jfvm
run: |
make build-release
chmod +x jfvm
- name: Set up jfvm environment
run: |
echo "Setting up jfvm environment..."
# Install a test version
./jfvm install 2.74.0
# Use the version to create the shim
./jfvm use 2.74.0
# Add shim to PATH
echo "$HOME/.jfvm/shim" >> $GITHUB_PATH
# Verify shim is working
export PATH="$HOME/.jfvm/shim:$PATH"
which jf
jf --version
- name: Run E2E tests
env:
JFVM_PATH: ${{ github.workspace }}/jfvm
TEST_TIMEOUT: "10m"
run: |
export PATH="$HOME/.jfvm/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:
JFVM_PATH: ${{ github.workspace }}/jfvm
run: |
export PATH="$HOME/.jfvm/shim:$PATH"
# Install a test version
./jfvm install 2.74.0
# Use the version
./jfvm use 2.74.0
# Verify which jf is being used
which jf
# Test jf execution
jf --version
# Run health check to verify priority
./jfvm health-check --verbose
- name: Test health check with fixes
env:
JFVM_PATH: ${{ github.workspace }}/jfvm
run: |
export PATH="$HOME/.jfvm/shim:$PATH"
# Test health check with fix flag
./jfvm health-check --fix
# Verify PATH configuration
echo "PATH entries:"
echo $PATH | tr ':' '\n' | grep jfvm || echo "No jfvm entries found"
# Test which jf again
which jf
# Final health check
./jfvm health-check
- name: Test latest version functionality
env:
JFVM_PATH: ${{ github.workspace }}/jfvm
run: |
export PATH="$HOME/.jfvm/shim:$PATH"
# Test using latest version
./jfvm use latest
# Verify latest version is active
jf --version
# Check health status
./jfvm health-check
- name: Test performance and security checks
env:
JFVM_PATH: ${{ github.workspace }}/jfvm
run: |
export PATH="$HOME/.jfvm/shim:$PATH"
# Test health check with performance and security flags
./jfvm 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
Morty Proxy This is a proxified and sanitized view of the page, visit original site.