tests: Build and run examples as end to end tests #98
Workflow file for this run
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: PR | |
| on: | |
| pull_request: | |
| types: [opened, reopened, synchronize] | |
| jobs: | |
| endtoend-tests: | |
| name: End to end tests | |
| runs-on: ubuntu-latest | |
| services: | |
| registry: | |
| image: registry:2 | |
| ports: | |
| - 5000:5000 | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| with: | |
| persist-credentials: false | |
| - name: Mark the workspace as safe | |
| # https://github.com/actions/checkout/issues/766 | |
| run: git config --global --add safe.directory ${GITHUB_WORKSPACE} | |
| - name: Install the static SDK | |
| run: | | |
| swift sdk install \ | |
| https://download.swift.org/swift-6.0.2-release/static-sdk/swift-6.0.2-RELEASE/swift-6.0.2-RELEASE_static-linux-0.0.1.artifactbundle.tar.gz \ | |
| --checksum aa5515476a403797223fc2aad4ca0c3bf83995d5427fb297cab1d93c68cee075 | |
| - name: Build the example | |
| run: | | |
| cd Examples/HelloWorldHummingbird | |
| sed -i'.bak' -e '/swift-container-plugin/ s/(url:.*),/(path: "..\/.."),/' Package.swift | |
| swift package \ | |
| --swift-sdk x86_64-swift-linux-musl \ | |
| --allow-network-connections all \ | |
| build-container-image \ | |
| --repository localhost:5000/hummingbird \ | |
| --from scratch | |
| - name: Run the example | |
| run: | | |
| docker run -d --platform linux/amd64 -p 8080:8080 localhost:5000/hummingbird | |
| - name: Check that the service is running | |
| run: | | |
| curl -v localhost:8080 | grep "Hello World" |