2323 type : boolean
2424 description : " Boolean to enable the test of the archive plugin. Defaults to true."
2525 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
2630 matrix_linux_command :
2731 type : string
2832 description : " The command of the current Swift version linux matrix job to execute."
@@ -88,15 +92,14 @@ jobs:
8892 COMMAND : ${{ inputs.matrix_linux_command }}
8993 EXAMPLE : ${{ matrix.examples }}
9094 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
9297 echo "✅ The examples compile correctly"
9398
9499 test-archive-plugin :
95100 name : Test archive plugin
96101 if : ${{ inputs.archive_plugin_enabled }}
97102 runs-on : ubuntu-latest
98- strategy :
99- fail-fast : false
100103 steps :
101104 - name : Checkout repository
102105 uses : actions/checkout@v4
@@ -106,25 +109,23 @@ jobs:
106109 # https://github.com/actions/checkout/issues/766
107110 run : git config --global --add safe.directory ${GITHUB_WORKSPACE}
108111 - 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
113112 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
115115
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