|
68 | 68 |
|
69 | 69 | - name: Run tests |
70 | 70 | run: swift test -v |
71 | | - |
72 | | - build-for-alpine: |
73 | | - name: Build for Alpine (Ubuntu, Swift 6.1) |
74 | | - needs: setup |
75 | | - runs-on: ubuntu-latest |
76 | | - steps: |
77 | | - - uses: actions/checkout@v4 |
78 | | - |
79 | | - - name: Setup Swift |
80 | | - |
81 | | - with: |
82 | | - toolchain: 6.1.0 |
83 | | - |
84 | | - - name: Install Static Linux SDK |
85 | | - run: | |
86 | | - # Install the static Linux SDK for musl target |
87 | | - # https://www.swift.org/install/linux/debian/12/#versions |
88 | | - swift sdk install https://download.swift.org/swift-6.1-release/static-sdk/swift-6.1-RELEASE/swift-6.1-RELEASE_static-linux-0.0.1.artifactbundle.tar.gz --checksum 111c6f7d280a651208b8c74c0521dd99365d785c1976a6e23162f55f65379ac6 |
89 | | -
|
90 | | - # Verify installation |
91 | | - swift sdk list |
92 | | -
|
93 | | - - name: Build for x86_64-musl |
94 | | - run: | |
95 | | - swift build --swift-sdk x86_64-swift-linux-musl -v |
96 | | - swift test --swift-sdk x86_64-swift-linux-musl -v |
97 | | - # List contents to verify test binary location |
98 | | - find .build/x86_64-swift-linux-musl -name "*Test*" -type f | sort |
99 | | - ls -la .build/x86_64-swift-linux-musl/debug |
100 | | -
|
101 | | - - name: Upload build artifacts |
102 | | - uses: actions/upload-artifact@v4 |
103 | | - with: |
104 | | - name: alpine-binaries-6.1.0 |
105 | | - path: .build/x86_64-swift-linux-musl/debug |
106 | | - |
107 | | - test-alpine: |
108 | | - name: Test (Alpine, Swift 6.1) |
109 | | - needs: [setup, build-for-alpine] |
110 | | - runs-on: ubuntu-latest |
111 | | - container: alpine:latest |
112 | | - steps: |
113 | | - - uses: actions/checkout@v4 |
114 | | - |
115 | | - - name: Install system dependencies |
116 | | - run: apk add --no-cache bash |
117 | | - |
118 | | - - name: Download compiled binaries |
119 | | - uses: actions/download-artifact@v4 |
120 | | - with: |
121 | | - name: alpine-binaries-6.1.0 |
122 | | - path: .build/debug |
123 | | - |
124 | | - - name: Set permissions |
125 | | - shell: bash |
126 | | - run: | |
127 | | - chmod +x .build/debug/* |
128 | | - ls -la .build/debug |
129 | | -
|
130 | | - - name: Run tests |
131 | | - shell: bash |
132 | | - run: | |
133 | | - # Try to find and run the test executable |
134 | | - TEST_EXEC=$(find .build/debug -name "*Test*" -type f | head -1) |
135 | | - if [ -n "$TEST_EXEC" ]; then |
136 | | - echo "Running test executable: $TEST_EXEC" |
137 | | - chmod +x "$TEST_EXEC" |
138 | | - $TEST_EXEC |
139 | | - else |
140 | | - echo "Test executable not found!" |
141 | | - ls -la .build/debug |
142 | | - exit 1 |
143 | | - fi |
0 commit comments