23
23
type : boolean
24
24
description : " Boolean to enable the test of the archive plugin. Defaults to true."
25
25
default : true
26
+ check_foundation_enabled :
27
+ type : boolean
28
+ description : " Boolean to enable the check for Foundation dependency. Defaults to true."
29
+ default : true
26
30
matrix_linux_command :
27
31
type : string
28
32
description : " The command of the current Swift version linux matrix job to execute."
@@ -88,15 +92,14 @@ jobs:
88
92
COMMAND : ${{ inputs.matrix_linux_command }}
89
93
EXAMPLE : ${{ matrix.examples }}
90
94
run : |
91
- ./scripts/integration_tests.sh
95
+ # curl is already installed on Amazon Linux 2
96
+ curl -s https://raw.githubusercontent.com/swift-server/swift-aws-lambda-runtime/refs/heads/main/.github/workflows/scripts/integration_tests.sh | bash
92
97
echo "✅ The examples compile correctly"
93
98
94
99
test-archive-plugin :
95
100
name : Test archive plugin
96
101
if : ${{ inputs.archive_plugin_enabled }}
97
102
runs-on : ubuntu-latest
98
- strategy :
99
- fail-fast : false
100
103
steps :
101
104
- name : Checkout repository
102
105
uses : actions/checkout@v4
@@ -106,25 +109,23 @@ jobs:
106
109
# https://github.com/actions/checkout/issues/766
107
110
run : git config --global --add safe.directory ${GITHUB_WORKSPACE}
108
111
- name : Test the archive plugin
109
- env :
110
- EXAMPLE : HelloWorld
111
- OUTPUT_FILE : .build/plugins/AWSLambdaPackager/outputs/AWSLambdaPackager/MyLambda/bootstrap
112
- ZIP_FILE : .build/plugins/AWSLambdaPackager/outputs/AWSLambdaPackager/MyLambda/MyLambda.zip
113
112
run : |
114
- pushd Examples/${EXAMPLE}
113
+ which curl || (apt -q update && apt -yq install curl)
114
+ curl -s https://raw.githubusercontent.com/swift-server/swift-aws-lambda-runtime/refs/heads/main/.github/workflows/scripts/check-archive-plugin.sh | bash
115
115
116
- # package the example (docker and swift toolchain are installed on the GH runner)
117
- LAMBDA_USE_LOCAL_DEPS=../.. swift package archive --allow-network-connections docker
118
-
119
- # did the plugin generated a Linux binary?
120
- [ -f ${OUTPUT_FILE} ]
121
- file ${OUTPUT_FILE} | grep --silent ELF
122
-
123
- # did the plugin created a ZIP file?
124
- [ -f ${ZIP_FILE} ]
125
-
126
- # does the ZIP file contain the bootstrap?
127
- unzip -l ${ZIP_FILE} | grep --silent bootstrap
128
-
129
- echo "✅ The archive plugin is OK"
130
- popd
116
+ check-foundation :
117
+ name : No dependencies on Foundation
118
+ if : ${{ inputs.check_foundation_enabled }}
119
+ runs-on : ubuntu-latest
120
+ steps :
121
+ - name : Checkout repository
122
+ uses : actions/checkout@v4
123
+ with :
124
+ persist-credentials : false
125
+ - name : Mark the workspace as safe
126
+ # https://github.com/actions/checkout/issues/766
127
+ run : git config --global --add safe.directory ${GITHUB_WORKSPACE}
128
+ - name : Check for Foundation or ICU dependency
129
+ run : |
130
+ which curl || (apt -q update && apt -yq install curl)
131
+ curl -s https://raw.githubusercontent.com/swift-server/swift-aws-lambda-runtime/refs/heads/main/.github/workflows/scripts/check-link-foundation.sh | bash
0 commit comments